meaglyn,
Thank you for your reply. You got me thinking. I changed the variable name on the first two scripts.
No problems.
void main()
{
object oPC = GetFirstPC();
object oCap = OBJECT_SELF;
object oCat = GetObjectByTag("PirateCat");
int nVols = TALKVOLUME_SHOUT;
if(GetIsObjectValid(oCat))
{
if(GetLocalInt(oPC,"UnderSiege") > 0)
{
AssignCommand(oCap,ActionSpeakString("FIRE !",nVols));
}
}
}
I then did the same with the third script. Problem.
void main()
{
object oPC = GetFirstPC();
string sTemp = "flame_aft";
string sMes = "The Argosent Is Lost !";
int nType = OBJECT_TYPE_PLACEABLE;
int bUse = FALSE;
location lLocA = GetLocation(GetWaypointByTag("WpCatTarget04"));
location lLocB = GetLocation(GetWaypointByTag("WpFireAft01"));
location lLocC = GetLocation(GetWaypointByTag("WpFireAft02"));
location lLocD = GetLocation(GetWaypointByTag("WpFireAft03"));
location lLocE = GetLocation(GetWaypointByTag("WpFireAft04"));
location lLocF = GetLocation(GetWaypointByTag("WpFireAft05"));
int nCount = GetLocalInt(oPC,"Fire");
nCount = nCount + 1;
int nDice = d6();
if(GetLocalInt(oPC,"Fire") < 100)
{
switch(nDice)
{
case 1:
CreateObject(nType,sTemp,lLocA,bUse);
SetLocalInt(oPC,"Fire",nCount);
break;
case 2:
CreateObject(nType,sTemp,lLocB,bUse);
SetLocalInt(oPC,"Fire",nCount);
break;
case 3:
CreateObject(nType,sTemp,lLocC,bUse);
SetLocalInt(oPC,"Fire",nCount);
break;
case 4:
CreateObject(nType,sTemp,lLocD,bUse);
SetLocalInt(oPC,"Fire",nCount);
break;
case 5:
CreateObject(nType,sTemp,lLocE,bUse);
SetLocalInt(oPC,"Fire",nCount);
break;
case 6:
CreateObject(nType,sTemp,lLocF,bUse);
SetLocalInt(oPC,"Fire",nCount);
break;
}
}
else
{
SendMessageToPC(oPC,sMes);
DeleteLocalInt(oPC,"Fire");
//Fade to Black, Delay Jump Player
}
}
This script was adding the "Fire" variable. I inserted the "UnderSiege" conditional at the beginning of the script, and set it on the trigger. Problem solved. Still have alot to learn. Thanks again for your help.
Ed