I have a contest of sorts where the main pc must fight alone - I want to avoid removing them from the party. Is there a way to script that?
Thanks
Disabling party as main pc fights a special fight.
Débuté par
Morbane
, juin 17 2011 01:01
#1
Posté 17 juin 2011 - 01:01
#2
Posté 17 juin 2011 - 02:43
I don't have an answer for you, but am very interested in this myself, especially where it relates to having a SoZ style party. Preferred that you don't "just ask the player to remove the others secondary PCs from the party."
#3
Guest_Chaos Wielder_*
Posté 17 juin 2011 - 02:47
Guest_Chaos Wielder_*
Why do you want to avoid it? Just remove them temporarily and add them back in. It can be explained by a character why this is the case.
Now, I can't think of a way to do this otherwise unless you did the following:
1) Jump companions to a part of the map the PC can't reach
2) Disable companion possession
3) Make a HB/Enter script to make sure that the companions stay in their area when you save+load or just they decide to jump on their own
4) Jump back companions when the fight is over
Now, I can't think of a way to do this otherwise unless you did the following:
1) Jump companions to a part of the map the PC can't reach
2) Disable companion possession
3) Make a HB/Enter script to make sure that the companions stay in their area when you save+load or just they decide to jump on their own
4) Jump back companions when the fight is over
#4
Posté 17 juin 2011 - 03:40
Could you force-switch puppet mode on?
#5
Posté 17 juin 2011 - 03:42
SetCommandable = False ?
#6
Posté 17 juin 2011 - 05:16
Would SetScriptHidden(TRUE,TRUE) work in this case?
Modifié par M. Rieder, 17 juin 2011 - 05:17 .
#7
Guest_Chaos Wielder_*
Posté 17 juin 2011 - 06:00
Guest_Chaos Wielder_*
Possibly, but then you'd have to disable possession. As, through my own scripting, I have controlled Script Hidden Companions before. It's weird, but it can happen. Basically, you have to make sure the companions cannot be possessed--you might be able to cast spells, etc.
#8
Posté 17 juin 2011 - 06:19
You might be able to disable the party GUI. I think Shallina's idea might work better, though.
#9
Posté 17 juin 2011 - 06:51
If you wanted to remove them and add them back later.
These seem to work with an SOZ created party. I only had time to test it a couple of times.
I used a conversation on an NPC to test this. So GetPCSpeaker could be changed to GetFirstPC() if needed.
This will remove all party members.
void main()
{
//Removes members from party
object oPC = GetPCSpeaker();
string oRM = GetFirstRosterMember();
while ( oRM != "" )
{
RemoveRosterMemberFromParty(oRM, oPC, TRUE);
//TRUE saves companions state. Inventory, ect.
oRM = GetNextRosterMember();
}
{
This will add party members back.
void main()
{
//Restore original party
object oPC = GetPCSpeaker();
string oRM = GetFirstRosterMember();
while ( oRM != "" )
{
AddRosterMemberToParty(oPC);
oRM = GetNextRosterMember();
}
}
These seem to work with an SOZ created party. I only had time to test it a couple of times.
I used a conversation on an NPC to test this. So GetPCSpeaker could be changed to GetFirstPC() if needed.
This will remove all party members.
void main()
{
//Removes members from party
object oPC = GetPCSpeaker();
string oRM = GetFirstRosterMember();
while ( oRM != "" )
{
RemoveRosterMemberFromParty(oRM, oPC, TRUE);
//TRUE saves companions state. Inventory, ect.
oRM = GetNextRosterMember();
}
{
This will add party members back.
void main()
{
//Restore original party
object oPC = GetPCSpeaker();
string oRM = GetFirstRosterMember();
while ( oRM != "" )
{
AddRosterMemberToParty(oPC);
oRM = GetNextRosterMember();
}
}
#10
Posté 17 juin 2011 - 07:01
You might also be able to cycle through the Roster and set their associate state to: Stand Your Ground. There's a lot of functions in the "ginc_companion" script.
#11
Posté 17 juin 2011 - 11:15
If you use a conversation to start the contest, the Action Script: ga_party_freeze also works. It also works with an SOZ party.Then use "ga_party_unfreeze" to get them to their original state.
#12
Posté 18 juin 2011 - 05:05
There is a script used in MotB to temporarily remove companions when the main player takes the test in the Berserker lodge. For the MotB Makeover which added SoZ style party members to MotB I had to modify the script to also freeze any roster members lacking tags (the player created party members). You can get both the script to remove them and the script to restore them from the MotB Makeover. They are b12_form_circle.nss and b12_disband_circle.nss.
Regards
Regards
#13
Posté 19 juin 2011 - 03:27
@Chaos - that might be a good way to go...
@Shallina - I like your way best - providing it works...
Kaldor - I will have to check out those scripts - freezing the companions will be a decent workaround.
@Shallina - I like your way best - providing it works...
Kaldor - I will have to check out those scripts - freezing the companions will be a decent workaround.





Retour en haut







