Warning: ob_start(): function 'compress_handler' not found or invalid function name in /www/htdocs/xfmantis/core.php on line 18

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

SYSTEM WARNING: Cannot modify header information - headers already sent by (output started at /www/htdocs/xfmantis/core.php:18)

// ******************************************************* // UKI UFO-KI und -Steuerskripte // // Skript: UKI_DamUfo // Version: 0.6 // XForce-Version: 0.910 // Skriptautor: Dirk Feldermann (info@avarion.de) // Modifikationen von: - // ******************************************************* // Skriptfunktion: // Zufälliger Kurs über die Erde, aber bei einem Treffer von einer Basis geht das UFO // sofort auf Fluchtkurs. Keine Angriffe auf Flugzeuge oder andere Objekte. // Zielpunkte liegen auf Land, aber kleine Wasserbereiche können überquert werden. // // Bedingungen für UFOs (müssen erfüllt sein wenn dieses Skript arbeiten soll): // IDs funktionieren nur im Galwar // Empfehlungen für UFOs (sollten erfüllt sein, skript kann aber auch so arbeiten): // keine // // ******************************************************* // Kurzbeschreibung der KI: // Zufälliger Kurs über die Erde, aber bei einem Treffer von einer Basis geht das UFO // sofort auf Fluchtkurs. Keine Angriffe auf Flugzeuge oder andere Objekte. // // Besondere Hinweise: // keine // ******************************************************* program UKI_DamUfo; uses GEN20geo, MSG_AAinitscanphase; // Funktion für das Ereignis "Shootdown" procedure UKIShootdown(sender:TObject); var UFO:TUFO; boden:TGround; ralien:TAlienModel; begin UFO:= TUFO(sender); if (UFO=nil) then exit; boden:= ground_api_GenerateGround; boden.Name:= msg_AA006; boden.description:= msg_AA007; boden.Objectives:= msg_AA008; boden.Position:= UFO.Position; ralien:= alien_api_GetAlienByID(4134390776); boden.addalien(ralien); boden.RemainTime:= 1000+random(1000); boden.Show; end; // Funktion für das Ereignis "Escape" procedure UKIEscape(sender:TObject); var UFO:TUFO; begin UFO:= TUFO(sender); if (UFO=nil) then exit; savegame_api_Message(format(MSG_AA005,[savegame_api_GetPlayerName]),lmMissionMessage,nil); end; // Funktion für das Ereignis "HitByBase" procedure UKIHitByBase(sender:TObject); var UFO:TUFO; base:TBase; ziel:TFloatPoint; begin UFO:= TUFO(sender); if (UFO=nil) then exit; base:= GEN20nearestBase(UFO.position); // folgende Berechnung verzichtet auf Abfragegrenzen, da die angreifende Basis sehr nah sein muss // Könnte Probleme mit Basen in der Nähe der Pole geben. ziel.x:= UFO.Position.x-base.Position.x; ziel.y:= UFO.Position.y-base.Position.y; UFO.FlyToPoint(ziel); end; // Funktion für das Ereignis "CommandComplete" procedure UKICommandComplete(sender:TObject); var UFO:TUFO; Ziel:TFloatPoint; begin UFO:= TUFO(sender); if (UFO=nil) then exit; repeat Ziel:= GEN20PositionNear(UFO.position,15); until earth_api_PointOverLand(Ziel); UFO.FlyToPoint(Ziel); end; procedure StartMission; var UFO:TUFO; begin if not (IsObject(MissionObject)) then // "Could Not Call Proc" abfangen mission_abort; if (MissionObject=nil) then // "Could Not Call Proc" abfangen mission_abort; UFO:= TUFO(MissionObject); register_mission_object(UFO); UFO.UserAI:= true; // Abschalten automatischer Aktionen repeat // Soll Start mittem über Ozean verhindern - erwünscht? UFO.Position:= earth_api_randomPoint(true); until earth_api_PointOverLand(UFO.Position); UFO.HoursALive:= 20+random(8); UFO.FlyToPoint(GEN20PositionNear(UFO.position,1)); // die allgemeinen Reaktionsfunktionen auf UFO-Ereignisse werden zugeordnet // unbenutzte events wurden gelöscht, die komplette Liste ist in der Template register_event(@UKICommandComplete, UFO, EVENT_ONUFOCOMMANDCOMPLETE); register_event(@UKIEscape, UFO, EVENT_ONUFOESCAPE); register_event(@UKIHitbyBase, UFO, EVENT_ONUFOHITBYBASE); register_event(@UKIShootDown, UFO, EVENT_ONUFOSHOOTDOWN); end; begin MissionName := 'UKI_DamUfo'; MissionType := mzObjects; end.