Jump to content

opusGlass

Premium Member
  • Posts

    119
  • Joined

  • Last visited

Everything posted by opusGlass

  1. In the Quest window, go to Quest Stages, then look at the middle right section of the window. You should see two tabs, "Papyrus Fragment" and "Advanced." Click Advanced, then click Rename Script.
  2. Woah I did not know that was possible, thanks. Much easier than trying to get the damn quest to let me rename its script.
  3. Actually testing seems to show the contrary. I haven't tried any other base classes, but the following works: Script attached to an Activator with no references: Scriptname accm_SplicerScript extends Activator bool property SetToYes Auto event OnInit() Debug.MessageBox("Splicer Init: " + SetToYes); RegisterForSingleUpdate(5); endEvent event OnUpdate() Debug.MessageBox("Splicer Update: " + SetToYes); endEvent Script attached to a quest: Scriptname accm_ControlScript extends Quest accm_SplicerScript Property Splicer Auto event OnInit() Debug.MessageBox("Quest Init"); RegisterForSingleUpdate(1); endEvent event OnUpdate() Splicer.SetToYes = true; Debug.MessageBox("Quest update"); endEvent When loading a game, you see the following: "Quest Init" "Splicer Init: False" "Quest Update" "Splicer Update: TRUE" So at the very least, events and properties work fine. Hopefully that means everything will work :smile:
  4. Dang. Thanks for the info. I chose Activator simply because it was a very simple object type that is capable of accepting a script. You see, I have several scripts that need to be attached to some base object in order to set their properties within the CK, but they do not need any of that object's functionality. They are purely for organized data storage in their properties and for running functions on that data (essentially a C++ Class). I could choose a Quest as the base object, but those just have a lot of unnecessary data associated with them that will make this cumbersome, especially since I will be generating and editing very large numbers of these objects in xEdit. Global variables don't have scripts so I can't use those. Perks could maybe work, but it surprises me that they don't need to be referenced by any actors for their scripts to work? Is there any other simple base object you would recommend for my situation? EDIT: looks like Perk will be perfect if it does in fact work without any reference, will update when I've tested. Yes, but actors placed in LeveledActor lists cannot have scripts attached to them -- the engine will not allow it. You need to then use that LeveledActor as a parent for another Actor that does have a script, and replace all references to the LeveledActor with references to the scripted child Actor, but these are vanilla LeveledActors, so I unfortunately can't do that without creating huge conflicts :sad: ... I will just stick with adding all references to a FormList manually / in xEdit. It isn't as flexible but it will work.
  5. Were your mannequins set to persistent, or no? Looking at the wiki notes for OnInit: "For persistent refs: At game start the first time this script is loaded For non-persistent refs: When the ref is loaded the first time" Which makes it seem like this might not work for non persistent refs? I will have to test it out when I get home. Re: my other question, it says: "For other base objects like Topic Infos, Perks, etc that have scripts that run on the base object: At game start the first time this script is loaded" Which makes it sound like it is possible to use a never-referenced Activator like I was hoping. EDIT: Damn just realized the actor script technique won't actually work for me. The actors will be placed in Leveled Lists, and leveled lists don't accept actors with scripts. :(
  6. Hmm that might work. Will the containing cell have to be loaded for OnInit to run though? I will need it to list even actors from cells that have never been loaded. This brings up another thing I don't understand about Papyrus. Can I utilize scripts on objects that don't have any instances? Say I attach a script to an Activator, but I never place that Activator anywhere in the world. The only use of it is that it's attached to a property on another script (extending a quest). Will said quest be able to access and change the properties of the Activator's script, call its functions, and expect the Activator to receive events?
  7. Is there a way to get all world/cell References to an ActorBase (wiki) through script without SKSE? I could manually store them all in a FormList in the CK, but I'd like a way to dynamically detect all references if possible.
  8. I don't think a hacked multidimensional array will work due to a couple of restraints. First, the menu structure and contents need to be determined entirely within the plugin, not hardcoded in papyrus, and it needs to be organized intuitively so my end users can build menus with it. Second, the above data structure is just for a single page of my menu; then I need to store them all in an array of pages, each of which contains a different unknown number of entries (options). Creating a new script type that just contains a single string property might work. So I would just choose some arbitrary type of object that can accept scripts, attach the string-storage script to it, set the string value in the property editor window, then store those objects in my FormList? Not sure what object type would be best to use. EDIT: Can confirm that this solution (from the second paragraph) works. Current best contender for base type is Activator, will update if I find a better (smaller) object that can accept scripts.
  9. I need to build a data structure to define an MCM menu (and the effects of its options). I need the structure's contents to be determined in the plugin, and interpreted by the papyrus script for the MCM. This mod will also be on SE, so I can't use SKSE features. EDIT: just realized I phrased this poorly. On systems with SkyUI, the mod will have an MCM menu. On systems without SkyUI, the mod will automatically add a spell menu to the player. Both the MCM and the spell menu will use the data structure. Here is my tentative structure using FormLists: FormList MenuPage FormList OptionNames String Name1 String Name2 ... FormList OptionStates GlobalVar State1 GlobalVar State2 ... FormList Sources LeveledActor Src1 LeveledActor Src2 ... FormList Destinations LeveledActor Dst1 LeveledActor Dst2 ...Now, the only issue is that I can't store strings inside of a FormList for the option names. I would just use any random object type and indirectly store the string in that object's name, but without SKSE there is no GetName function to retrieve the string. The best option I've found is to use Keywords, but this is really limiting because the keyword's text is also its Editor ID. So it needs to be unique, it can't contain spaces, and if you don't put a prefix it will be impossible to find them in the CK. Does anyone know of another way to store strings inside of a Formlist structure? Or alternatively is there a better approach instead of FormLists (without SKSE)?
  10. Wait, new question. Is it possible to safely make an optional MCM menu? I'm unable to find a similar version check function for SkyUI. But even if I do find it, MCM menus require a script that extends SKI_ConfigBase. I suppose I could stick the MCM script into a separate quest that does not start enabled, and it only gets activated if SkyUI is installed. Then no SkyUI-dependent code would get run. But I'm not sure if that's sufficient since a script of unknown type would still be attached to a record. EDIT: I will make a new post
  11. Thank you cdcooley! That's what I thought but I figured I should double check. Cheers
  12. Using the technique discussed here As Teh Masterer says, it will throw an error to the logs. But besides that, is it considered safe to use this as a check for SKSE, then run different code for SKSE systems and non-SKSE systems? I'm designing a script that needs to function on non-SKSE systems (namely SSE) but I would like to add extra functionality for SKSE systems.
  13. The quest alias with package worked like a charm! Plus it has options to make sure they don't talk to anyone, ignore combat, etc. Thank you everyone :)
  14. Would I have to define a path? The spell is intended to be used anywhere in the world, so I won't be able to do that. The only thing that will always stay the same is the destination. I think I recall a return-to-editor-location, maybe if I look inside I can find a way to swap the editor location with an xmarker. Then if I set it to the highest priority, it should override whatever other behaviors the NPC wants to do, right? I don't want it to apply to multiple targets, so I don't have to worry about that. I'm completely unfamiliar with scenes, what benefit would this provide over just directly placing the package on a quest alias?
  15. I haven't worked with AI at all. Is it possible to make a spell that gives the target a certain destination, and causes them to walk to that destination, then stay at that destination indefinitely? I'm guessing I will need to make an AI package, and a quest that gives that package to an alias, and then the spell will tell the quest to use the target for its alias?
  16. Yay my first time on the Staff Picks! ...er, I think. I don't usually check these honestly. Anyway, I'm honored! I put a lot of work into these, so I'm glad people are enjoying them. It looks like the links have weird names though, they should say "Skyrim" and then "Skyrim Special Edition," rather than "Skyrim" and then "Mod File."
  17. In response to post #49795122. Hey I'm not the one who said Skyrim got spicier! I didn't write the article :)
  18. Thanks! I've posted it over there now: https://forums.nexusmods.com/index.php?/topic/5533527-realism-leading-armies-instead-of-taking-a-fortress-by-yourself/ Good point about the commands in AFT and Move It Dammit to solve congestion. Those are important things I hadn't thought about.
  19. I normally stay away from mods that mess with Skyrim's difficulty/balance too much, but today it occurred to me what my idea of perfect Skyrim combat would be. (This may or may not have been inspired by watching too much Game of Thrones.) I should need to lead a platoon of soldiers to capture a fort from bandits. I should need a band of loyal fighters to clear out a Draugr crypt. I should need a league of plunderers and adventurers to raid a Dwemer ruin. I'm sick of this one-man-army style of combat that Skyrim (and most single-player games) relies on. It's immersion-breaking that I can kill 20 bandits in a fortress alone or with a single follower. First off, one-on-one combat needs to be a real challenge. Unless I've already got a full set of Daedric Artifacts I should expect a challenge when killing a single enemy. Second, enemies should really swarm and gang up on me. When I launch an attack on a fortress with 30 bandits inside, there shouldn't be only 3 bandits to kill while the rest wait inside in their individual rooms. There should be more enemies positioned together, and with more mobility, so they can truly swarm. "But opusGlass, if there's two dozen enemies swarming you and they're just as strong as you, how can you possibly win?" Well, you need an army of your own. That's how people win battles in real life right? I think instead of leveling up your combat skills until you reach god-level strength, the main progression mechanic should be recruiting more and more allies to fight with you. Some ideas of how this could be done: - The normal "do me a favor" mechanism to make friends - Hiring mercenaries - Obtaining titles such as Thane to get a small troop of guards - Ranking up through the Civil War to gain a battalion of guards - Ranking up through factions to recruit troops from them - Using speechcraft to convince people that helping you will benefit them - Using Illusion magic to enthrall people - Killing bandit leaders to make their followers loyal to you (requiring thief skills and speechcraft) - Killing necromancer leaders to make their followers loyal to you (requiring necromantic skills and speechcraft) - Raising undead / conjuring daedra - Taming animals with mechanisms similar to Druid mods Depending on your RP style you will probably want to use different recruitment mechanisms on different playthroughs. Obviously the first step (other than making combat more difficult) is to disable the follower limit, or tie it into the player speech level or something like that. Similarly, you could have a thrall limit tied to your illusion level, an undead limit tied to conjuration, etc. The other stuff is a bit more complicated. I don't have the skill or time to make this myself (or at least, not by myself) but I think it's good to get the discussion going. Any ideas on other recruitment methods? Any other changes you think would help with this vision? Any problems with this idea you can think of (probably a lot)? Or maybe there is already a combination of mods that makes this possible? (I originally posted this in Mod Talk and it was suggested that I post it here too. "Amazing Follower Tweaks" was recommended as a way to coordinate your allies' actions and "Move It Dammit" was recommended to avoid congestion in hallways.)
  20. I normally stay away from mods that mess with Skyrim's difficulty/balance too much, but today it occurred to me what my idea of perfect Skyrim combat would be. (This may or may not have been inspired by watching too much Game of Thrones.) I should need to lead a platoon of soldiers to capture a fort from bandits. I should need a band of loyal fighters to clear out a Draugr crypt. I should need a league of plunderers and adventurers to raid a Dwemer ruin. I'm sick of this one-man-army style of combat that Skyrim (and most single-player games) relies on. It's immersion-breaking that I can kill 20 bandits in a fortress alone or with a single follower. First off, one-on-one combat needs to be a real challenge. Unless I've already got a full set of Daedric Artifacts I should expect a challenge when killing a single enemy. Second, enemies should really swarm and gang up on me. When I launch an attack on a fortress with 30 bandits inside, there shouldn't be only 3 bandits to kill while the rest wait inside in their individual rooms. There should be more enemies positioned together, and with more mobility, so they can truly swarm. "But opusGlass, if there's two dozen enemies swarming you and they're just as strong as you, how can you possibly win?" Well, you need an army of your own. That's how people win battles in real life right? I think instead of leveling up your combat skills until you reach god-level strength, the main progression mechanic should be recruiting more and more allies to fight with you. Some ideas of how this could be done: - The normal "do me a favor" mechanism to make friends - Hiring mercenaries - Obtaining titles such as Thane to get a small troop of guards - Ranking up through the Civil War to gain a battalion of guards - Ranking up through factions to recruit troops from them - Using speechcraft to convince people that helping you will benefit them - Using Illusion magic to enthrall people - Killing bandit leaders to make their followers loyal to you (requiring thief skills and speechcraft) - Killing necromancer leaders to make their followers loyal to you (requiring necromantic skills and speechcraft) - Raising undead / conjuring daedra - Taming animals with mechanisms similar to Druid mods Depending on your RP style you will probably want to use different recruitment mechanisms on different playthroughs. Obviously the first step (other than making combat more difficult) is to disable the follower limit, or tie it into the player speech level or something like that. Similarly, you could have a thrall limit tied to your illusion level, an undead limit tied to conjuration, etc. The other stuff is a bit more complicated. I don't have the skill or time to make this myself (or at least, not by myself) but I think it's good to get the discussion going. Any ideas on other recruitment methods? Any other changes you think would help with this vision? Any problems with this idea you can think of (probably a lot)? Or maybe there is already a combination of mods that makes this possible?
  21. In response to post #47379835. If you're wanting something simple to tide you over, try out my tool, BMO. It's on the Skyrim Special Edition site. I plan to switch to NMM2 if it's decent but this is a nice, non-invasive way to keep your mods separate and organized in the mean time. (Disclaimer: intended for advanced users, most people probably won't like it.)
  22. In response to post #47378955. #47379635, #47380245, #47380310, #47380615, #47380650, #47380665, #47380780, #47381010, #47381020 are all replies on the same post. Darn okay. Any confirmation for/against a virtual file system, Dark0ne?
  23. In response to post #47378955. #47379635, #47380245, #47380310, #47380615, #47380650, #47380665, #47380780, #47381020 are all replies on the same post. +1 the community has already been calling it this anyway And yeah I definitely expect a virtual file system, they did hire MO's developer to make it after all...
×
×
  • Create New...