//catapult script; fires once every 30 seconds void main() { int nInt; nInt=GetLocalInt(OBJECT_SELF, "nTimer"); if (!(nInt >= 5)) { nInt += 1; SetLocalInt(OBJECT_SELF, "nTimer", nInt); return; } object oOperator=GetObjectByTag("Operator"); object oTarget =GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_IS_PC,OBJECT_SELF); if (GetIsObjectValid(oOperator)&& GetDistanceToObject(oTarget)<58.0 && GetDistanceToObject(oTarget)>18.0) { ActionCastSpellAtObject(SPELL_FIREBALL, oTarget, METAMAGIC_ANY, TRUE, 10, PROJECTILE_PATH_TYPE_HIGH_BALLISTIC, TRUE); } SetLocalInt(OBJECT_SELF, "nTimer", 0); }