Jump to content

sornan

Members
  • Posts

    104
  • Joined

  • Last visited

Everything posted by sornan

  1. Hey guys :) I'm working on a quest mod for Middle-Eath Redone, and hence my .Esp is dependent on that .Esm. I had previously changed the base object of a number of bad guys in the quest, and found a slew of errors coming up upon loading the CK about it, yet in game saw no issue. I ended up spending a bunch of extra time duplicating the original base objects, placing new enemies, and then removing the originals just to remove the errors out of concern for causing some sort of in game problem.. Since then, I've been able to disable CK errors upon loading.. And I've run into this scenario again, and foresee running into it again and again.. I really just want to change some base objects of various actors, and despite the now silent complaints of the CK, be confident I am not damaging something in the quest mod where it may be somehow conflicting with the data in the .Esm it is making changes to. The new base objects are essentially duplicates of the originals, just with package additions - and this is being done because the original references were attached to actors whom have multiple references, where if I add packages, it affects them all - once I have my own base actor, it doesn't mess up everyone else. Anyhow, long story short - I just want to be confident that changing the base object of these references is not going to cause some in game problem despite the (silent) complaints of the CK upon loading. (Note that in game tests show no errors or anything unusual) TIA :)
  2. I probably can't help much, but here's a few thoughts.. Does your usage of the combat/Idle speech emulate how it's done in the vanilla game. I've seen dialog causing a current package to fire the 'completed' code area (in a currently active and completed package), and it might be possible that the 'on start' (or whatever it's called) code area for a package might fire as well. I just put in a debug message in the completed code area to see it. Probably not even applicable, but just in case. Maybe starting the voice quest by script instead of having it Start Game Enabled, therefore not having to deal with the Seq updates in case something is going on there? Just shooting in the dark..
  3. Thank you Agerweb :) Aye, I see what you're saying there, and that does indeed eliminate all Vanilla responses. Being that my mod will have around 15 or more unique actors with dialog, breaking things down to new voice types for each one would be a bit too much for my taste though. It would seem that the best in-between the lines approach would be to just break it down to custom voice types based on race, yet in this case I still end up with potentially a slew of various Hello's merged into one listing - yet ironically not so different than the listing we see when the 'Hello' Topic is opened under a particular actor. The work-around I've found is to just make a new quest - Fotr_Generic_Hellos Priority 50 Run Once Under Misc tab Under Hello Fotr_Generic_Hellos_Topic: Response is *Empty Has Lip file is Unchecked Conditions - GetIsID 'MyGuy1' (Quest is started shortly after the mod boots up) And it works. The vanilla generic greetings and hello's are gone from him. My priority 90 quest created Hello's still work for him. And I can add as many actors as I want to the conditions to do the same for them as well. Later on, if I want to add some generic Hello's to some of these actors beyond silent voice I can do that in this quest as well. It may not be the 'norm', this approach, but it works and keeps things simple for now. Thanks guys for the help :)
  4. Thanks NexusComa I checked it out on Nexus, yea it affects everyone which would be pretty impactful for even a suggestion in my mod release. My biggest gripe is that I get a Hello triggering at the end of scenes and some dialog sessions even though the new package (Travel) for the Npc's are set to have Hello's shut off.. I thought maybe it was like a split second of the actor running their default package before the new valid package kicked in, so I put in a backup package and the guy is still doing it.. The only thing I can think of is just making the Npc's default package have Hello's switched off, which limits what I can do with him. Of course, beyond this, down the road if I get voice overs for my actors, they will conflict with the vanilla hello's and greetings in voice type.. I know that using a custom race would do it, but that seems a little extreme right now and would force me to redo all of the silent voice I have for the quest (because of new voice folder locations based on race). I'll look a bit more at it, might have to just put this on the back-burner and come back to it.
  5. Hello everyone :smile: I've been trying to figure out how to disable Vanilla Hello's and Greetings from a Nord race actor and just strictly use my own added Hello's and Greetings - And if at various times I have no Hello's or Greetings added, then they say nothing. I really am a bit stumped, as I know I cannot (certainly should not) mess with the Vanilla Greetings and Hello's with conditions for my actor, and so I am hoping there is a way to do this.. Any help appreciated :smile:
  6. Honestly no quest of any essential need in a mod has to be attached to an SEQ file, all one has to do is have a generic quest that kicks things off being 'Start Game Enabled', get your SEQ file in for that, and then just start your other quests from that quest via script. One can just set a stage in the 'Initialize_Quest' - Check the Start Up Stage flag, then put into the stage code the starting of the quests. And lastly set that stage to complete the quest. The quest has only it's ID, no actual name attached to it. Quest priority 90, Run Once checked. Script Example: MainQuest1.Start() MainQuest2.Start() MainQuest2.SetStage(10) MainQuest2.SetObjectiveDisplayed(10)(Must add the quest properties to the script for it to work) The rest of the quests do not need to have the Start Game Enabled flag on. This also means there will never be a need to ever update the SEQ file as well. Personally, I'm not sure why they did the SEQ thing, maybe to encourage the development team to not have too many quests active at start, don't know.
  7. Thanks ReDragon2013 :) Sounds good, I appreciate the info there. The controller method actually sounds good, and is what I was thinking of, just let a number of them run for some time after completion, being sure of packages and scripts, etc completing, and then at a certain point just close them all down at once from a separate quest script. Thanks!
  8. Hi guys :smile: I've done quite a bit of googling on this, and I'm not sure of the answer.. I really need to know how we truly end all content in a quest when it is completed, including any quest scripts. Initially, I thought that just completing a quest would indeed end everything contained in that quest, including scripts, and then I read from the Beth Creation Kit web content : "A quest that is completed may still continue to be running" From this page : Quest Stages (At the bottom of the page - Complete Quest) And then, the only thing I could find that *may* seem to truly stop a quest in all it's content and scripts : StopQuest I'm wondering, do we run a StopQuest command after we complete a quest where we want everything contained in that quest to end, or is there something else I am missing? I have a number of quests that contain various quest scripts, Alias's, scenes, etc, and when those quests are flagged as Complete, I want all of that done and gone, not running in the background any longer. TIA :smile:
  9. /Edit Topic Solved Hi everyone :smile: I have just a few, semi-basic questions regarding NPC Packages. First, can anyone tell me how reliable the 'On Package End' script is, as I want to use it for triggering other things, but I am a bit concerned that in the event an NPC does not complete the package due to pathing issues, the script would not trigger - yet on the other hand, it may be really necessary for NPC's to reliably complete their packages anyhow? Right now, I am using a distance check for the NPC to be near the travel position in order for some dialog to trigger, I'd rather use the Package End script if it's reliable though. Second, is there a way to put in 'waypoints' into Travel packages being used - meaning is there a way to put in a number of positions along the NPC's path instead of just one destination point? If not, maybe a different Package would work for this, like maybe a non-looping Patrol package? /Edit Second question solved, a Patrol Package not set to repeat does the job quite well. It seems also that there can only be one position for the Travel Package, where it is not possible to link multiple XMarkerHeadings. On the first question, as far as reliability in the usage of the 'On End' part of a Package - I found some odd things in testing - Debug.Notification being used upon the completion of a travel package, it would of course fire upon the actor reaching the position, yet.. it would continue to fire for other reasons beyond this - like after the actor reached destination, if I was near enough to activate a 'Hello', once the Hello was done, the Debug text would show, if conversing with the actor, upon completion of the conversation, the debug text would show - in both cases indicating that the travel package flagged completions outside of just reaching destination, which leads me to conclude that the 'On End' area can be quite unpredictable unless the package really is ended and replaced by a new package upon completion. For myself, I'm going to avoid the 'On End' in general, just too many potential issues. * Topic Solved.
  10. Okay, first off, thank you guys for all of the input and help. :smile: Next, after quite a bit of testing, let me sum up what I have found here: For the method of just using conditions strictly for 'Hello' topics, by stage or by global, I personally have found it to be semi-reliable, as part of the problem is you can actually trigger all of the 'Hellos' before even getting into dialog by moving close to the npc and backing away and then moving close again, and therefore by the time you actually engage in dialog, the desired 'Hello' topic may have already fired, and you may end up with just a generic greeting (or a duplicate greeting). I tried using the 'Normal' setting on the initial branch with the "greeting" topic in the dialog view, connected to the main 'Top level' branch, and the Npc upon activation would only say the greeting, and nothing more would happen. Here are the two things that did work: To replicate the Oblivion style greeting upon dialog initialization: In Dialog View, a Blocking Branch is made - the response content is put in, and in the Topic conditions : IsInDialogWithPlayer == 1 . Any other conditions can be put in of course that would pertain to allowing the greeting to happen. The Blocking Branch is connected to a Top Level Branch, where the main dialog conversation happens. In game, the greeting will show up first upon dialog activation, and the voice length must complete before dialog selections will show up *unless* the player clicks past the greeting where in this case the first dialog selection will show up immediately. The Beth description of the Blocking Branch indicates it can do hellos and greetings, depending on conditions: Dialog Branch Data Using Hello Topics in dialog strictly: I personally don't like this option as much, but it is an option nonetheless. You can just take a 'Hello' topic (under Misc), and add the IsInDialogWithPlayer == 1 condition to it, and it will only fire upon dialog initialization with the Npc. The downside is, that the further dialog options will show up immediately while the greeting is shown, so there is no progression from the greeting content into the dialog selection, it all happens at once. Still though, it is an option. _______________________________________________________________________ There are a few seeming bugs to the whole Hello/Greeting thing in Skyrim though.. at least on my end. Although initially, all Hello's and Greeting's seem to work reliably, upon the end of/backing out of conversation with an Npc and then talking to them again, the greetings do not always fire, it seems quite random. I did a number of tests, with the Hello's and Greetings set to priority 90, conditions set to allow them to fire endlessly, and still beyond the reliability in the first interaction with the npc, beyond this it was constantly random, often with the Npc not saying the greeting numerous times after the first interaction. I personally don't mind this that much, as I probably would never want a specific unique greeting to fire more than once anyhow, but still this certainly looks like some kind of bug. In the end, I'm happy, the Blocking Branch with IsInDialogWithPlayer condition works, and it's simple to put in! Thanks everyone :smile: (think I'll enjoy lawn mowing tomorrow after all this testing lol)
  11. Hello Open your SkyrimEditor.ini in the game directory (C:\Program Files (x86)\Steam\steamapps\common\Skyrim), search for and/or add/change the appropriate entries ): Under [General] search for and/or add/change the appropriate entries: bAllowMultipleMasterFiles=1 bAllowMultipleMasterLoads=1 *note - The SkyrimEditor.Ini will likely show as just SkyrimEditor and will be tagged as type 'configuration settings', and can be opened and modified with notepad. Here are some web links, hopefully one of them will help: KS Hairdos in Mod Issues Multiple Esms and Hair Mod Reddit Topic In the topic there, one of the responses indicates inputting DawnGuard, HearthFires, and DragonBorn into the SkyrimEditor.Ini - if your *not* accessing those in the editor, then just ignore that part. Apart from that, maybe there is something that will help there. Dark Face Bug Fix It sounds like this is not the issue, as your Npc was showing up fine until the hair was added, but at least you may want know about this in case the issue does show up. Lastly, if your still having issues with multiple Esm's, there is a topic that's been around a long time about the multiple master files, in case there may be something in there that may help: Multiple Master Files Nexus Topic Good luck with your mod :smile:
  12. Thanks for the response Sovrath Your interpretation of what I'm wanting is close, but I actually want the 'Hello' to be said immediately at the start of the dialog with the Npc, yet never said outside of a dialog session. So to use a quest stage or a global variable really wouldn't work, because by the time it's set, the first topic has already fired in the dialog and the initial 'Hello' point has already passed. In Oblivion, if I recall correctly, there were actually 'Hello's' and then 'Greeting' topics, one of them was for the 'close range' activation outside of actual dialog, and the other was strictly for dialog, executing only once upon dialog initialization. An example from my BladeSong quest mod in Oblivion (which used a lot of Hello and Greeting topics): The player returns to a quest npc after completing a dangerous task.. Player walks in close range of Captain Grenaw.. 'Hello' - Grenaw: "You made it back, you did it!" Player initiates dialog with Grenaw: 'Greeting' - Grenaw: "Somehow I knew you'd make it back alive" And then the normal topics in the dialog session kick in. Player: "I barely survived the ritual." Grenaw: "I know, I didn't tell you everything.." (Etc, etc) ________________________ So, in Oblivion there is a reliable specific 'Greeting' topic that fires at the very start of the dialog session, where the Npc may talk about potentially the current situation of things, and then the next dialog topic content can actually reflect what the Npc said, and things go on from there. Yet, that 'Greeting' topic was never said outside of dialog. If Skyrim only uses strictly 'Hello' topics that fire both outside of and inside of dialog, and there is no way to refine it, honestly that limits usage, as dialog topics really can't be attached in content to that 'Hello', because you'll never know if it fired outside of dialog - in which case it seems odd to try to have the player respond in dialog to it - and also that a potentially generic Hello may have fired upon dialog too lol - ahh.. Anyhow, if the Hello topics are like that, I can work with it, it's just too bad that feature was not moved into Skyrim from Oblivion. /Edit Stumbled on this condition in the listing: IsInDialogWithPlayer I'll have to do some testing, don't even know if it's a bool or a value 1 if true function, there is no description. Cheers and thanks :smile:
  13. Hi guys :smile: Been having a bit of a problem, trying to get what should be a simple thing done - a single unique 'Hello' topic be said by an Npc only upon dialog start with him (by the player initiating dialog that is). I have the Topic in Misc as a Hello topic: Priority 90 Say Once checked On Activation Checked (don't know if it really helps or not) And, in game She says the 'Hello" topic when player is in close range to her *and* then says it once the player initiates dialog with her. I'm wanting her to only say it upon dialog start. Any help appreciated, I must be missing something, as I'm pretty sure this type of Hello topic is common in game.
  14. Ah, it would be like the scene from The Hobbit when the Dwarves pillage Bilbo's food stores.. Dull the knives, bend the forks, break the bottles and burn the corks.. crack the cups and break the plaaaaaaates.. That's what Bilbo Baggins hates! But yea, the stuff might be clean, but clean dishes and utensils aren't much good broken and bent :p
  15. I don't know man.. I'm the worst cook on earth, my contribution to the family meals *is* cleaning the dishes after the meal lol.. (not that I like cleaning dishes, but it's something right). Maybe a new shout for cleaning the dishes.. lengthy quest and that sort of thing to get it.. :p
  16. hah.. Yea as you know the game doesn't support prone position movement, and if it did.. well I can remember being infected by vampires in Oblivion for like days until I found a cure, that would have been a long haul being on the ground :p (I actually had to post to discover the way to be cured).
  17. Thanks for clarifying that, makes sense about the usage of the Oninit event for OnUpdate now. Gotcha on the way the scripts function, basically like the script is pre-processed, and the events then just wait for their activation. The save games, I do still rely often on saves within the mod content, but am aware of the possibility of something breaking due to this, so it is factored in when an issue happens during testing. Ironically, through probably 100 or more tests so far, I have only had problems with my usage of the CK and coding, a save game issue hasn't happened.. but I am sure it will sooner or later :) I'm sorry for Echidna.. not exactly the definition of an honorable death in battle right.. :p I do hear you though, I use the saves because they are *normally* reliable, but also when an issue comes up I am aware that the save game could be the problem. I've thought about advancing quest stages manually and whatnot while testing on a clean save, trouble is part of the time a bunch of other stuff is missing still, trying to reproduce everything manually to jump ahead in the quest would probably be more trouble than risking using existing saves.
  18. Thanks IsharaMeradin That helps quite a bit. Of course there are complexities in declaring local variables within an OnUpdate Event, because the loops will just reset the values at the start. But generally, I get what you are saying, in particular for non-looping events - where even a While loop inside the event can access the declared variables in the event. I didn't know that Debug.Notification could show variable content, I just copied and pasted that for reference, great to know for testing :smile: I am curious why RegisterForSingleUpdate has to be in an OnInit event, rather than just being able to declare it in the 'empty' area at the top, but it probably is just the way the command is setup to function. Thanks!
  19. I see. So essentially, for running looping 'main scripts' that would often be quest scripts, OnUpdate is pretty much all there is for just kicking off a potentially big looping script that handles a variety of things going on. I'm good with that, and just have to accept that only one script per quest can do that. I've had good success with using basic variables in the scripts, along with globals, but I'm not feeling ready to even look at Arrays yet, as the scripting system is quite different than what I'm used to, and maybe I won't ever need to use arrays anyhow. Armed Assault 3 had a pretty basic approach to arrays, and even multi-dimensional array usage was pretty straightforward. On the other hand, Armed Assault 3 is a game somewhat crafted to cater to modding, and even in Oblivion I don't think I ever even tried to look at things like arrays (does it have them?). /Edit I do have one question Why are we able to initiate local variables in a script in the 'empty' areas at script start, and apparently that is safe - indicating that the script will never re-run those areas outside of Events, yet we have OnInit Event, which would seem to me to do the same thing? I mean, is it safe to keep initiating local variables in a script outside of the Events, or is it maybe better to just regularly make an OnInit Event and initialize everything there, including local variables (provided they are still accessible by the rest of the code and other events in the script). Thanks for your patience with my questions..
  20. I agree with the file locations for scripts, and also agree that the conversations that take place often in Oblivion between Npc's is entertaining and adds to the overall 'life' happening around you. Player goes into the Bruma Inn.. Walks up to the innkeepers desk.. Hafid Hollowleg talks to an Npc next to him: Hafid: what's new with you? Npc: I heard the Daedra took over Kvatch and burned the whole city to the ground.. Hafid: (surprised emotion) It can't be! Then the player interacts with Hafid for renting a room or whatnot.. But yea, they did a great job of both random conversations about what was going on at the time and added some good humor in along the way. Sometimes the humor was actually how backwards the conversation responses were.. but hey it worked! It was funny. The somewhat dark, less colorful approach to Skyrim content really could have been toned down. And you can do that while keeping integrity.
  21. Thanks foamyesque That information is helpful. So basically, with SingleUpdate, in order to have 2 or more scripts safely using the loop, they have to be attached to different objects - like in my case, I put in those two scripts under the same quest, and so both updates would trigger each other - so to have multiple quest scripts working safely with SingleUpdate, I would need each script in a separate quest.. I think I got that right, please let me know if I'm still off on that. Lastly, on the While loops, is there any kind of generic Event that can be used to just outright run a While - loop upon a script starting? I did a search through the events, and didn't see anything that would work to just kick off some code without a real "event" happening once a script starts. And thanks again for the help, and sorry about the not-so-cheery topic post, I was pretty discouraged last night after *thinking* I had passed a milestone in things.. and then things start breaking again.. Cheers! :)
  22. Hey again.. I could use some help here on this Did some web searching, and could not find an answer, and really ran into an unexpected wall here I finally got my first main quest script fleshed out, uses a SingleUpdate loop that has worked great. I put in a new script, in the same quest, that once again uses SingleUpdate, and it is causing the original script to actually run multiple times within the SingleUpdate event. Then I tried a While loop in the OnInit Event in the second script, with a Utility.Wait 3.0 per loop, and even worse, the loop worked fine but it literally stopped the functionality of the first main script. Here is a basic code example : Scriptname GaladrielDream extends Quest ;Register for OnUpdate to start looping code area Event OnInit() ;Before we can use OnUpdate() we must register. RegisterForSingleUpdate(1.0) EndEvent Event OnUpdate() ;Do a ton of stuff, works great.. ;keep updating RegisterForSingleUpdate(1.0) EndEvent ;Second looping script added Scriptname CJA_Phase1_Script1 extends Quest ;Register for OnUpdate to start looping code area Event OnInit() ;Before we can use OnUpdate() we must register. ;adjust timing slightly on each new register so checks in various scripts do not execute at the same time RegisterForSingleUpdate(1.3) EndEvent Event OnUpdate() ;Do stuff.. ;keep updating RegisterForSingleUpdate(1.0) ;THIS NEW SCRIPT CAUSES THE SINGLEUPDATE AREA IN THE FIRST SCRIPT TO RUN MULTIPLE TIMES EndEvent ;SECOND ATTEMPT ;So the first try failed, I then tried a While loop in the OnInit in the second script Scriptname CJA_Phase1_Script1 extends Quest Int TestA = 0 ;TEST Event OnInit() While (TestA < 100) TestA = (TestA + 1) Debug.Notification("Var is less than 100") Utility.Wait(3.0) EndWhile EndEvent ;The debug text shows fine, and yet the While loop totally kills the functionality of the first script, nothing else seems to work but the loop ;I finally just combined the code into one SingleUpdate event in one script, and it all works fine.. I'm trying to figure out what is going on here.. does this game not support multiple looping scripts (potentially with delays) happening at one time? And how can that be possible, the checks in my looping scripts are normally one liner variable checks to be performance friendly.. and yet in Oblivion and Arma 3 I would have friggin 10 looping scripts running at once without anything strange going on.. So I decided for now just to combine the code into one script, and it's all fine, but I really could use some input on this. I can't believe that this game would only support one looping script running at a time. Any help appreciated, I'm just stumped at this point
  23. I have to say, there are definitely some oddities with this game that take some time getting used to (and getting around). The script location saving. The Alias usage when just outright using reference names would do the job without having to add aliases in the first place (as quest related scripts allow access to reference names, yet other parts of the quest system do not and require aliases). I like the quality of the content in the game and the broad amount of story driven content in the game that can be accomplished, but I have to say after roughly 4 months of working with the CK, Oblivion was more streamlined for ease of creating quest content, apart from other games editors as well. Of course, no point in going on complaining, it clearly takes some patience and time to get used to things with the CK and whatnot, but I do hope in the next TES editor, they aim a bit more at making things easier to get used to and work with.
  24. Thanks Isharameradin and Greyday01 :) That clears up a ton, I will look at the Mod Organizer 2, sounds like a very helpful tool. I had no idea about the 4 letter prefix, that will help hugely too. Thank you for your time in sharing your knowledge here.
×
×
  • Create New...