I have this thing in my module, where the PC has to experience some things on his own, like dreams. I use ga_jump, which teleports the whole party to a waypoint. In order to avoid this, I use another action script to destroy the party. Then when he comes back, I add party members again. Problem is, I cannot know which companions the player uses, and therefore when I add them again, I could add someone that didn't exist before the jump. Is there an easier way to do this?
Jump PC without companions
Débuté par
andysks
, sept. 10 2013 09:08
#1
Posté 10 septembre 2013 - 09:08
#2
Guest_Iveforgotmypassword_*
Posté 10 septembre 2013 - 07:38
Guest_Iveforgotmypassword_*
Don't destroy your party that's shocking ! Poor things laying there lives on the line to help the player and being given the worst equipment surely they don't deserve that.
All you have to do is jump the whole lot then jump the others into a room or area with no way out that cannot be seen, then when the PC jumps back they'll automatically join up again. I use this for "romantic moments" by sending the others elsewhere.
I'm not sure if you can scatter them with the first jump but it might be worth a try if not then make the first line of a conversation that starts when the PC enters the solo area use a camera shot of the surroundings and do it then and nobody will know.
If you want them gone for a long time and area transitions are being used then remove them from the party using ga_roster_ party_remove for each possible one but with a condition that will cause it to work only if the companion is in the party. Also on the actions set a global int like fred_gone for each one that disappears. This int will not exist if they're not in the party because of the condition,
Then when you want them back set a condition on each one returning that will ensure they only return if the global int fred_gone exists etc
All you have to do is jump the whole lot then jump the others into a room or area with no way out that cannot be seen, then when the PC jumps back they'll automatically join up again. I use this for "romantic moments" by sending the others elsewhere.
I'm not sure if you can scatter them with the first jump but it might be worth a try if not then make the first line of a conversation that starts when the PC enters the solo area use a camera shot of the surroundings and do it then and nobody will know.
If you want them gone for a long time and area transitions are being used then remove them from the party using ga_roster_ party_remove for each possible one but with a condition that will cause it to work only if the companion is in the party. Also on the actions set a global int like fred_gone for each one that disappears. This int will not exist if they're not in the party because of the condition,
Then when you want them back set a condition on each one returning that will ensure they only return if the global int fred_gone exists etc
Modifié par Iveforgotmypassword, 10 septembre 2013 - 07:38 .
#3
Posté 10 septembre 2013 - 08:07
there are happening similar events in the motb campaign which will help you to understand the whole party management scripting. just look through the c_mod_player_rest and kinc_dreamscape scripts to check how it can be achieved. module c_x1 will be of help too
Modifié par -Semper-, 10 septembre 2013 - 08:08 .
#4
Posté 10 septembre 2013 - 10:56
Ok, there are two scripts actually that have the same function. One is ga_jump and the other ga_jump_players. The second, is supposed to work only for the PC and the party I guess.
You have a string for the WP and an int. 1 for PC alone, and 0 for whole party... or the opposite, I don't have it in front of me at the moment.
On the comments it says however, 1 for PC, 0 for whole party, and then it says DOES NOTHING IN CAMPAIGN. Does this make sense? Does nothing in which campaign? Or does nothing in module to module jumps in a campaign?
Then I also saw that Lilacs has an option to teleport PC, and then asks you if you want the PC alone or associates with him. I guess though this won't work since it talks about henchmen and not companions... right?
The local int that you mentioned, is a good way(or the hidden room is always an option), but I was just wondering if there is a more simple way.
The scripts from MotB I don't even wanna touch or look at, since I think they will confuse me even more(it happens every time I do it)
...
You have a string for the WP and an int. 1 for PC alone, and 0 for whole party... or the opposite, I don't have it in front of me at the moment.
On the comments it says however, 1 for PC, 0 for whole party, and then it says DOES NOTHING IN CAMPAIGN. Does this make sense? Does nothing in which campaign? Or does nothing in module to module jumps in a campaign?
Then I also saw that Lilacs has an option to teleport PC, and then asks you if you want the PC alone or associates with him. I guess though this won't work since it talks about henchmen and not companions... right?
The local int that you mentioned, is a good way(or the hidden room is always an option), but I was just wondering if there is a more simple way.
The scripts from MotB I don't even wanna touch or look at, since I think they will confuse me even more(it happens every time I do it)
#5
Guest_Iveforgotmypassword_*
Posté 10 septembre 2013 - 11:20
Guest_Iveforgotmypassword_*
ga_jump_players with a 1 first to go to an area.
Then ga_jump for the companions.
If you can do the whole thing in one area you're laughing and don't even need the first jump all you have to do is just make sure the companions are behind a "plot" locked door, surrounded by the walkmesh cutter or downstairs.
That's simple and if it wasn't I wouldn't do it, believe me I've tried ticking boxes and doors that say Player only but with companions it wont work unless they're isolated and as soon as the player loads a save they'll appear and sometimes when he/she rests too. You have to trap them or "deroster" them but destroying will also destroy equipment and asigned feats/spells etc so isn't really a good option.
Then ga_jump for the companions.
If you can do the whole thing in one area you're laughing and don't even need the first jump all you have to do is just make sure the companions are behind a "plot" locked door, surrounded by the walkmesh cutter or downstairs.
That's simple and if it wasn't I wouldn't do it, believe me I've tried ticking boxes and doors that say Player only but with companions it wont work unless they're isolated and as soon as the player loads a save they'll appear and sometimes when he/she rests too. You have to trap them or "deroster" them but destroying will also destroy equipment and asigned feats/spells etc so isn't really a good option.
#6
Posté 11 septembre 2013 - 12:22
I'm sorry, when I said destroy before I actually meant deroster... I don't want the poor companion to get destroyed
. The ga_jump you can use even as first script, you just pass the $PC as a tag.
int bWholeParty = DOES NOTHING IN CAMPAIGN. If =0 then jump the PC only, else jump the PC's party is what's written in ga_jump_players. Does that mean that if=0 the companions will stay put?
int bWholeParty = DOES NOTHING IN CAMPAIGN. If =0 then jump the PC only, else jump the PC's party is what's written in ga_jump_players. Does that mean that if=0 the companions will stay put?
#7
Posté 11 septembre 2013 - 12:36
So I did some tests, and as it turns out, the companions will always follow you (Such good guys they are) no matter what ga_jump_players says, or Lilacs. This is only for different areas though. In the same area, if you jump the PC over rooms that are not reachable for the companions, they will stay put as you said. This is the easy way... I guess I call a fade, jump them somewhere where they cannot be seen and voila. The other way is derostering... Thanks for the help, I just thought that it should be a better and easiest way for this, since ga_jump_players clearly states "just the PC".
#8
Posté 11 septembre 2013 - 01:19
Another thing came to my mind now. Cannot I use the ga_scripthidden and hide the companions simple like that? As I read the script it seems it affects the first object by tag, and hides it. When you jump back to the area before the jump, they will be visible again. I just don't know if they will reapear while following you. I mean, maybe the script hides an NPC that is supposed to stay still and not perform any actions... I have to test
#9
Posté 11 septembre 2013 - 01:41
Script-hidden party members won't follow you, as long as their AI is turned off (which is the default state). Their portraits will still show up on screen though - and I've got no idea what happens if you select the portrait of a script-hidden party member when you're not in an overland map area. You could always use SetIsCompanionPossessionBlocked to prevent the script-hidden party members from being selectable. Although now I'm curious as to what would happen otherwise.
In an overland map area, selecting a party member via their portrait automatically un-script-hides them and script-hides the previously selected character. I think that's hard-coded into the overland map behaviour though.
In an overland map area, selecting a party member via their portrait automatically un-script-hides them and script-hides the previously selected character. I think that's hard-coded into the overland map behaviour though.
Modifié par DannJ, 11 septembre 2013 - 01:43 .
#10
Posté 11 septembre 2013 - 05:54
andysks wrote...
The scripts from MotB I don't even wanna touch or look at, since I think they will confuse me even more(it happens every time I do it)...
don't be afraid, it ain't that complicated. it's just a simple while loop which circles through your roster members, removes them if they're in the party and sets a global int to add them back later.
Iveforgotmypassword wrote...
all you have to do is just
make sure the companions are behind a "plot" locked door, surrounded by
the walkmesh cutter or downstairs.
while it's an "easy" way it's also bad design. their portraits still appear on screen and the player will be confused where the rest of his party is. perhaps he thinks it's a bug and reloads a save. plus you could jump the camera to the blocked party members.
#11
Guest_Iveforgotmypassword_*
Posté 11 septembre 2013 - 07:39
Guest_Iveforgotmypassword_*
Semper.. Bad design... Pistols at dawn !
I use it for cutscenes so there are no portraits. If I want the PC to go on a lonely roam around I defroster them and jump the PC at the same time then refrost them ready for when he/she returns.
I use it for cutscenes so there are no portraits. If I want the PC to go on a lonely roam around I defroster them and jump the PC at the same time then refrost them ready for when he/she returns.
#12
Posté 11 septembre 2013 - 08:57
ga_scripthidden, accompanied with ga_roster_selectable did the trick. Portraits are still there, but it doesn't really matter since they were in the party anyway, just not visible, giving the effect of actually not being around.
edit: ga_roster_selectable didn't work after all, it's not for party it's for roster... I just woke up
. Is there a way to make the party member selectable?
DannJ : With this I was able though to answer your question. When you select a hidden companion on a not overland map, you see the cirlcle around his feet, but he is unable to move as if the area ahaid is not backed...
edit: ga_roster_selectable didn't work after all, it's not for party it's for roster... I just woke up
DannJ : With this I was able though to answer your question. When you select a hidden companion on a not overland map, you see the cirlcle around his feet, but he is unable to move as if the area ahaid is not backed...
Modifié par andysks, 11 septembre 2013 - 09:00 .
#13
Posté 11 septembre 2013 - 11:13
I think this way is actually the best. I just need to pass the SetIsCompanionPossessionBlocked through an action script in the conversation, and that's it. I tried doing it by creating a script that will use this function. but failed badly. For some reason the action script I create, even if it's compiling, doesn't give me params.





Retour en haut







