//::////////////////////////////////////////////// //:: Created By: Georg Zoeller //:: Created On: 2003-09-10 //::////////////////////////////////////////////// //modified by Blasco-Yang //filename: bh_yellowcont_ou void main() { object oPC; oPC=GetLastUsedBy(); object oBlue = GetObjectByTag("BH_BlueControl"); object oYellow = GetObjectByTag("BH_YellowControl"); object oGreen = GetObjectByTag("BH_GreenControl"); object oRed = GetObjectByTag("BH_RedControl"); // * note that nActive == 1 does not necessarily mean the placeable is active // * that depends on the initial state of the object int nActive = GetLocalInt (OBJECT_SELF,"X2_L_PLC_ACTIVATED_STATE"); // * Play Appropriate Animation int nTrigsActive = GetLocalInt(oPC,"nColorTrigsActivated"); if (!nActive && nTrigsActive == 1) { ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE); SetLocalInt(oPC,"nColorTrigsActivated",2); FloatingTextStringOnCreature(" Yellow powered up!",oPC); PlaySound("al_mg_crystalev1"); return; } else { ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE); AssignCommand(oBlue,ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(oGreen,ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(oRed,ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); SetLocalInt(oPC,"nColorTrigsActivated",0); FloatingTextStringOnCreature(" Yellow powered down!",oPC); } // * Store New State SetLocalInt(OBJECT_SELF,"X2_L_PLC_ACTIVATED_STATE",!nActive); SetLocalInt(oBlue,"X2_L_PLC_ACTIVATED_STATE",!nActive); SetLocalInt(oGreen,"X2_L_PLC_ACTIVATED_STATE",!nActive); SetLocalInt(oRed,"X2_L_PLC_ACTIVATED_STATE",!nActive); }