Talk:MessageBox Tutorial

Revision as of 00:41, 25 August 2007 by imported>Haama (oO)

OK, what exactly is there on here that is potentially wrong information? I admit to not having gone through it thoroughly since I am not up to date on all of the problems in dealing with messageboxes, although I have corrected the spell script menu thing (and linked within the article to the appropriate section). I do think that the scripting seems to be unnecessarily complicated, but I haven't done much with messageboxes.

--ShadowDancer 14:11, 24 August 2007 (EDT)

Just the one problem, and it only comes up if you have the activator do more than move back to the starting cell when everything ends (Choosing == 0). I've used all of this in my mods, so I know that every part works (barring typos, but I've cut and paste quite a bit of this into new mods without problems). I know it's complex, but that's what makes it bulletproof, expandable, and a template for any menu system.
More general - I (well, I wouldn't mind help) keep putting aside rewriting this, because, well, I do have to rewrite it (different flow, examples, etc.). Until then, while I very reluctantly agree that the different versions of the script need to be done (spell, quest, token), I think it would be easier to keep them in an external link, with an explanation of the difference between the activator and spell version, as the flow is supposed to work towards one all-purpose script.
Let me know what you think about that setup (I'll help anyway I can)
I had purposely avoided quests, spells, and tokens. There's nothing they can do that an activator can't, and activators are simply superior - quest variables can be reset (StartQuest on an already running quest will reset the variables, and I've heard that adding new variables requires resetting the quest, though that's unverified and there are other possible explanations), tokens can't keep persistent variables, and spells are simply a pain (duration, etc.). The cost - having to move the activator around. It's a bit moot anyway, as people keep asking for the different versions.
--Haama 16:47, 24 August 2007 (EDT)
I can agree that an activator can be superior in certain instances. However, there is one major problem with activators that does not show up in spell scripts - Numerous GameMode blocks. In my opinion, it would be easier to write a spell script, and have the activator cast it in some instances, in order to reduce the number of GameMode blocks that are constantly running. In a larger mod (or in multiple mods), this could cause slow down if there are enough GameMode blocks running, even with Return statements (although it would admittedly be a huge number of GameMode blocks).
--ShadowDancer 00:37, 25 August 2007 (EDT)
oO, huh? The GameMode block runs 2 'if' statements (if Choosing == 0 and if Reset == 0) before stopping, and more importantly it's in a remote cell when it's not being used. Guidobot suggests that activators in remote cells run once every 30 seconds, and from what I've seen I think they were only running because he was setting a variable on the activator every 30 seconds. I've been meaning to test 'set' versus 'if', so I'll see how many it takes before a problem is reached (I've had to run functions 10000/frame before seeing a difference, so I'll see).
Full devil's advocate mode - The problems people run into have almost always stemmed from a script that works for one situation (single menu usually), but not for theirs. I think the tutorial should work towards one, and only one, script that can be used for any messagebox system - multiple menus, etc. A spell cannot be used for multiple menus, as you never know how much the player will go back and forth between menus, and it takes around 15 frames in GameMode before their decision is caught by GetButtonPressed (so .25-1 second for each new menu). Also, spells will not start until GameMode, limiting their functionality, and they cannot store persistent variables. For these reason, I think it would be better to discourage people from using spells (even to the point of not posting scripts) as they would lead to more questions than working scripts.
I think a token or quest system might be plausible, however. A quest system would also need to run every frame (well, at least I find the delay from StartQuest unusable), and a token system would need to set variables on another persistent object (though it would probably be easier to conceptualize). I really believe that only one type of system needs to be in the tutorial. The only reason I have a heart for, is that people might not want to learn another system. In this case, though, I think the article needs to be rewritten to convince them other methods work and are easy, rather than separate articles or sections.
--Haama 01:41, 25 August 2007 (EDT)
Return to "MessageBox Tutorial" page.