Aller au contenu

Photo

Disabling party as main pc fights a special fight.


  • Veuillez vous connecter pour répondre
12 réponses à ce sujet

#1
Morbane

Morbane
  • Members
  • 1 883 messages
 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

#2
_Knightmare_

_Knightmare_
  • Members
  • 643 messages
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_*

Guest_Chaos Wielder_*
  • Guests
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

#4
The Fred

The Fred
  • Members
  • 2 516 messages
Could you force-switch puppet mode on?

#5
Shallina

Shallina
  • Members
  • 1 011 messages
SetCommandable = False ?

#6
M. Rieder

M. Rieder
  • Members
  • 2 530 messages
Would SetScriptHidden(TRUE,TRUE) work in this case?

Modifié par M. Rieder, 17 juin 2011 - 05:17 .


#7
Guest_Chaos Wielder_*

Guest_Chaos Wielder_*
  • Guests
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
The Fred

The Fred
  • Members
  • 2 516 messages
You might be able to disable the party GUI. I think Shallina's idea might work better, though.

#9
Hilltop2012

Hilltop2012
  • Members
  • 66 messages
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();

}

}

#10
Hilltop2012

Hilltop2012
  • Members
  • 66 messages
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
Hilltop2012

Hilltop2012
  • Members
  • 66 messages
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
Kaldor Silverwand

Kaldor Silverwand
  • Members
  • 1 598 messages
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

#13
Morbane

Morbane
  • Members
  • 1 883 messages
@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.