Jump to content

Home

Weird alignment/influence behaviour


Chaos0815

Recommended Posts

Hi,

i am having trouble tempering with the aligment/influence of party members.

 

Goal:

- set influence on all partymembers to 50

- set goodevilvalues to about 50.

- removing the partymembers and making them rejoin.

- dont change player alignment in the process.

 

Sample save used:

- all evil high level char (0 alignment)

- most partymembers close to 100 influence, 0 aligment.

 

Case A:

SetGoodEvilValue( GetPartyMemberByIndex(Player_Number), good_evil );
SetInfluence( Player_Number,55);
RemoveNPCFromPartyToBase(Player_Number);
RemoveAvailableNPC(Player_Number); 
DestroyObject(GetPartyMemberByIndex(Player_Number));

... (different script/zone)...
AddAvailableNPCByObject(Player_Number,GetObjectByTag("Tag"));  
AddPartyMember(Player_Number,GetObjectByTag("Tag"));

 

Result:

- partymembers Inf/55, Align(100); <--- ??!?!

- player at 70; <--- !?!?!

 

Case B:

//SetGoodEvilValue( GetPartyMemberByIndex(Player_Number), good_evil );
SetInfluence( Player_Number,55);
RemoveAvailableNPC(Player_Number); 
DestroyObject(GetPartyMemberByIndex(Player_Number));

... (different script/zone)...
AddAvailableNPCByObject(Player_Number,GetObjectByTag("Tag"));  
AddPartyMember(Player_Number,GetObjectByTag("Tag"));

 

Result:

- partymembers Inf/55, Align(100); <--- ??!?!

 

So the partymembers aligment appears to be a function which is directly linked to the the player aligment with influence as a parameter.

 

Any ideas on how to circumvent that ?

 

Chaos0815

Link to comment
Share on other sites

i am having trouble tempering with the aligment/influence of party members.

 

SetGoodEvilValue( GetPartyMemberByIndex(Player_Number), good_evil );
SetInfluence( Player_Number, 55);
RemoveNPCFromPartyToBase(Player_Number);
RemoveAvailableNPC(Player_Number); 
DestroyObject(GetPartyMemberByIndex(Player_Number));

 

Is Player_Number the same value in the script above? The GetPartyMemberByIndex() function does not take the same value as parameter as the SetInfluence() and Remove*() functions. The first takes an index of active party members you are walking around with (0-2) while the latter take the Party Table index as value (0-11).

Link to comment
Share on other sites

Thx for this info:

SetGoodEvilValue( GetPartyMemberByIndex(Player_Number), good_evil ); ----> 0-2
SetInfluence( Player_Number, 55); ----> 0-11

 

I didn't know that, but what do i use instead to set the goodevil value for each single party member ?

 

Chaos0815

Link to comment
Share on other sites

I didn't know that, but what do i use instead to set the goodevil value for each single party member ?

 

As far as I know you can't modify the alignment of party members without first spawning them into the game world. Spawn them in with SpawnAvailableNPC(), modify their alignment and then remove them again (unless they're meant to be on the active party).

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...