GetFirstFactionMember(object, int)
Obtains the first member of the faction that a creature is a member of.
object GetFirstFactionMember( object oMemberOfFaction, int bPCOnly = TRUE );
Parameters
oMemberOfFaction
Creature to determine which faction we want.
bPCOnly
If TRUE then the returned faction member will be a PC, otherwise both NPCs and PCs are included in the search. (Default: TRUE)
Description
Returns the first member of oMemberOfFaction's faction and OBJECT_INVALID if oMemberOfFaction or oMemberOfFaction's faction is invalid. If bPCOnly is set to FALSE it only includes NPCs, NOT both. To get all members of a PC's faction (Henchmen and so forth, as well as PC's themselves) 2 loops of the faction must be done.
Remarks
This function begins to cycle through all oMemberOfFaction's faction by calling GetNextFactionMember().
If bPCOnly is TRUE the returned faction member will be a PC. If bPCOnly is FALSE, it will only do non-PC faction members.
Never use this on an NPC faction! There would be dozens more objects in even the smallest custom faction compared to a PC party. If used, use with caution!
Version
1.29
Example
// This code shows how you can cycle through all the party // members of the first PC in the module. // This will ONLY get PC members - any associates (Henchmen, // familiars, summoned creatures and so on) will not be got by // this loop. If the bPCOnly was FALSE in this script, it would ONLY // get henchmen, familiars and so on for the faction. void main() { // We alway use the SAME object for the GetFirst/Next faction // member calls - always define it first. Here it is the first PC. object oPC = GetFirstPC(); // Get the first PC party member object oPartyMember = GetFirstFactionMember(oPC, TRUE); // We stop when there are no more valid PC's in the party. while(GetIsObjectValid(oPartyMember) == TRUE) { // Do something to party member // Get the next PC member of oPC's faction. // If we put anything but oPC into this, it may be a totally // unreliable loop! oPartyMember = GetNextFactionMember(oPC, TRUE); } }
See Also
functions: | GetNextFactionMember |
categories: | Reputation/Faction Functions |
author: Tom Cassiotis, editor: Jasperre, additional contributor(s): Iceberg, Mike Daneman, Matt Andrew