Site Bot Posted November 27, 2010 Share Posted November 27, 2010 Article link: general things you should know about FO3 Quest-Scripts Introduction So if you are new to scripting you should know a few things first: - there is a website about FO3 scripting right here:http://geck.bethsoft.com/index.php/Category:Scripting- there is a FOSE-documentation on the web:http://fose.silverlock.org/fose_command_doc.html - you should check those websites for functions you could use in your script first, BEFORE you start scripting the actual script (this step often saves you a lot of time) - even if your script seems to be pretty good, the game-engine will most likely cause some problems, it is not the smartest The Quest scripts: - if you want a script to run while the player is doing something else, or the player should not be bothered to do something for the script to start, the Quest-Script is your friend - first you have to create a new quest in the GECK (watch a different tutorial for that) - create your script (make sure you save it as quest-script, default is object!!!) - open up your new quest again and set your script as the new questscript - now there are some fields that are mandatory for your script-running-behaviour: --- if the priority field is left empty, your quest-script most likely will not run at all, you should set this to 50 or 60 for a normal execution --- if your script is not required to run really often, you should leave the script-delay alone, otherwise you need to try it out, what's best for you --- there are now a few things you should NOT do in a quest-script: ------ you should not show a message every time the script processes, this will cause serious problems since you are rowing up dozens of messages (this is even worse if you use message boxes) ------ the game-engine seems to have problems if you disable/enable things in the same script-run (most likely the object will not be en-/disabled correctly) ---------- so here is how you do it-------------- use a condition for your showmessage line, like if sDoOnce == 1--showmessage blabla (the -- are only for better reading this article, do NOT copy them into your script, the same for this text in brackets)--set sDoOnce to 0 endif - only enable/disable the same object once during the script, like if sState == 1 --enable myREF --set sState to 2elseif sState == 2--disable myREFendif (the "ELSEif" part here is important, if it only would be "if" myREF would get disabled in the same script-process and everything would be messed up) - and for God's sake use sensible names for your variables! - another important issue is that you cannot stop QuestA in its own script, so you have to create another script (e.g. an object script bind to a token (armor without biped slots)) ---so it should look like this: QuestAscript: begin GameMode--player.additem QuestAstopToken 1 0 ;the "1" is the number added, the "0" disables the add-message, the ";" marks the rest of the line as commentend QuestAstopTokenScript: begin OnAdd Player--stopQuest QuestA--player.removeitem QuestAstopToken 1 0 ;you should remove the item after it has stopped the quest to ensure proper workingend other useful sites:http://www.cipscis.com/fallout/utilities/validator.aspxhttp://www.cipscis.com/fallout/tutorials/loops.aspx Link to comment Share on other sites More sharing options...
mownbrella Posted February 1, 2011 Share Posted February 1, 2011 Thank you, i cathed a few tips for a starter. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now