beginscript; label Wait: if (GetState() != 0 && UnitDead() != 1) { ExcTargetType(0xffffffff); IncludeGTarget(2); SetGlobalVar(7,0); EnterVehicle (GetUnitID(), Eng_G1); EndFrame(); goto WaitForGet; } EndFrame(); goto Wait; label WaitForGet: if(GetState() == 0) { EndFrame(); goto WaitForSpawn; } EndFrame(); goto WaitForGet; label WaitForSpawn: if(GetState() == 8) { WaitForTime(30); EndFrame(); goto WaitForStop; } EndFrame(); goto WaitForSpawn; label WaitForStop: if (GetFollowMode() == 3 && GetState() != 8 || UnitDead()) { SetAnimID(20, 1); ReEvaluate(); SetVar(0, GetTime() + 200); EndFrame(); goto Fix; } EndFrame(); goto WaitForStop; label Fix: if (OtherUnitDead(Drg_Gr4_01_Scr)) { IncVar(1); } if (OtherUnitDead(Drg_Gr4_02_Scr)) { IncVar(1); } if (OtherUnitDead(Drg_Gr4_03_Scr)) { IncVar(1); } if (OtherUnitDead(Drg_Gr4_04_Scr)) { IncVar(1); } if (OtherUnitDead(Drg_Gr4_05_Scr)) { IncVar(1); } if (OtherUnitDead(Drg_Gr4_06_Scr)) { IncVar(1); } if (UnitDead()) { StopAnimLoop(); } if (GetVar(0) < GetTime() || GetState() == 7) { TriggerUnit(Eng_G1); if (GetGlobalVar(0) != 1) { TriggerMessage(46,h46,0x780c); SetGlobalVar(0,1); } StopAnimLoop(); if (OtherUnitDead(Eng_G1) != 1) { EnterVehicle (GetUnitID(), Eng_G1); label Loop: if (GetState() == 0 || UnitDead()) { IncGlobalVar(7); EndFrame(); goto DespawnUnits; } else if (OtherUnitDead(Eng_G1)) { SetFollowWaypoint(189,0,0); SetGlobalVar(3,1); WaitForTime(20); TriggerUnit(Jep_Gr1_02_Scr); EndFrame(); goto DespawnUnits; } EndFrame(); goto Loop; } else { SetFollowWaypoint(189,0,0); SetGlobalVar(3,1); WaitForTime(20); TriggerUnit(Jep_Gr1_02_Scr); EndFrame(); goto DespawnUnits; } } SetVar(1,0); if (OnFire(GetUnitID())) { SetFollowWaypoint(110, 0, 0); } EndFrame(); goto Fix; label DespawnUnits: EndFrame(); goto End; EndFrame(); goto DespawnUnits; label End: EndFrame(); goto End; endscript; $