So I have this very large plot and it starts off fine but I'm stuck. getting it to finish. I have 22 followers that must be recruited before you can proceed with the quest. I have it set that the followers will not talk to you if you are not on the quest. When the quest is active I can hire them and stash them away in the partypicker as i gather more followers. Everytime a follower is added a set IS_RECRUITED happens in the conversation.
How do I get all 22 of those followers IS_RECRUITED flags to = EVERYONE_HIRED to trigger the end of my quest?
Thanks
Plot, grr
Débuté par
jsd313
, janv. 12 2010 01:16
#1
Posté 12 janvier 2010 - 01:16
#2
Posté 12 janvier 2010 - 11:49
I'd like to help, but I'm afraid I really don't understand what the problem is. The plot flags aren't being set? That shouldn't be possible unless you're doing something very strange.
Do you have separate flags for each follower? Like BOB_IS_RECRUITED, LARY_IS_RECRUITED etc? Or do you have one IS_RECRUITED flag which is being set 22 different times, and grabs the conversations owner?
If the followers are recruited in a fixed order, you could make the flag for the last follower the one that determines if you've gotten all of them. If they are recruited in any order, then every time you hire one, you're going to have to somehow check all the followers and see if they are all recruited. With 22 followers that's a big task, but frankly it's a big, complicated quest so there's going to be a bit of complexity no matter what.
You could check all 22 plot flags each time you set any of the plot flags. Be aware that flags are set after the plot script runs, so the follower currently being recruited will come up as false, and that's slightly tricky to script around if you've got a generic handler. If there were a small number of followers it wouldn't be tough, but 22 different versions of the check is a lot. If you're confident the flags can't be set twice, just check if 21 have been set and it should be good.
You could also have a variable somewhere that tracks how many you've recruited and check when it reaches 22. That's also dependant on the flags not being set twice, unless you build in a do once for each flag.
Does that help? It’s not clear exactly where you’re stumbling so it’s hard to give advice.
Do you have separate flags for each follower? Like BOB_IS_RECRUITED, LARY_IS_RECRUITED etc? Or do you have one IS_RECRUITED flag which is being set 22 different times, and grabs the conversations owner?
If the followers are recruited in a fixed order, you could make the flag for the last follower the one that determines if you've gotten all of them. If they are recruited in any order, then every time you hire one, you're going to have to somehow check all the followers and see if they are all recruited. With 22 followers that's a big task, but frankly it's a big, complicated quest so there's going to be a bit of complexity no matter what.
You could check all 22 plot flags each time you set any of the plot flags. Be aware that flags are set after the plot script runs, so the follower currently being recruited will come up as false, and that's slightly tricky to script around if you've got a generic handler. If there were a small number of followers it wouldn't be tough, but 22 different versions of the check is a lot. If you're confident the flags can't be set twice, just check if 21 have been set and it should be good.
You could also have a variable somewhere that tracks how many you've recruited and check when it reaches 22. That's also dependant on the flags not being set twice, unless you build in a do once for each flag.
Does that help? It’s not clear exactly where you’re stumbling so it’s hard to give advice.
#3
Posté 13 janvier 2010 - 12:22
Are the flags not being set, or is the script just not running? You didn't set the optional runscript paramater to TRUE for any of those WR_SetPlotFlag calls, so any custom scripting attached to the flags won't run. Is that the issue?
#4
Posté 13 janvier 2010 - 12:37
Yeah, sounds like the flags aren't being set.
Have you verified that your version of the script is being run at all? You could put a series of plot flag sets, or even better log messages at the top of the script and then into the various cases to see where it's breaking down. If you can't get a plot flag at the top of the script to fire, then you know your script isn't being run. That could mean it's not compiling, or it's not exporting to the right place, or there's another version of it somewhere that the game is using instead for some reason.
One thing that looks a little odd is you have the line switch(nEventType) several different times. Normaly you'd only have one switch to branch off the different events. Is there a reason you have three?
Have you verified that your version of the script is being run at all? You could put a series of plot flag sets, or even better log messages at the top of the script and then into the various cases to see where it's breaking down. If you can't get a plot flag at the top of the script to fire, then you know your script isn't being run. That could mean it's not compiling, or it's not exporting to the right place, or there's another version of it somewhere that the game is using instead for some reason.
One thing that looks a little odd is you have the line switch(nEventType) several different times. Normaly you'd only have one switch to branch off the different events. Is there a reason you have three?





Retour en haut






