Sobald ein GM den Event startet können sich Spieler ab level 75 in die Wüste Teleportieren (Beides beim Schlachten-Verwalter).
Danach Geht es darum welches Reich als erstes 500 feindliche Spieler getötet hat. Ist das Ziel erreicht werden alle aussehr das Gewinner-Reich aus der Wüste Teleportiert und es Spawnen auf der ganzen Map verteilt Metins danach hat das Gewinner reich 30Minuten zeit diese zu töten. Ist das geschehen oder der Timer abgelaufen dann werden alle Spieler in ihr Reich zurück Teleportiert und alle Metins werden aus der Wüste entfernt.
Eventuell hat die Quest noch einige Fehler falls irgendwelche auftreten sagt es ich werde sie korrigieren ich habe leider keine Zeit sie zu testen.
MFG TheGame
PS der Ordner desert_war kommt in den Map Ordner und die Quest ist ja klar wo sie hinkommt hf
Code:
quest desert_battle begin state start begin when 20352.chat."Wüstenschlacht" begin if pc.get_level()>=75 then if game.get_event_flag("deserton") == 0 then say("Die Wüstenschlacht findet derzeit nicht statt.") return elseif game.get_event_flag("deserton") == 2 then say("Die Wüstenschlacht befindet sich in der Endphase du kannst nicht beitreten.") return end say("Die Schlacht in der Wüste ist im vollen gange,") say("möchtest du beitreten oder Informationen erhalten?") local info = select("Auf in die Wüste", "Informationen", "Abbrechen") if info == 3 then return elseif info == 2 then say("Das Ziel der Wüstenschlacht ist es als erstes reich 500") say("Gegner aus den anderen Reichen zu besiegen.") say("") say("Das Reich, welches gewinnt erhält am schluss eine Belohnung") say("in Form einiger Metinsteine") local teilnehmen = select("Teilnehmen", "Abbrechen") if teilnehmen == 2 then return elseif teilnehmen == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end elseif info == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end else say("Du bist noch nicht Level 75") return end end when kill with npc.get_empire() != pc.get_empire() and npc.is_pc() and pc.get_map_index() == X and game.get_event_flag("turnieron") == 1 begin --X durch die ID der Map ersetzen if game.get_event_flag("turnier"..pc.get_empire().."punkte") == 0 then game.set_event_flag("turnier"..pc.get_empire().."punkte", 1) else game.set_event_flag("turnier"..pc.get_empire().."punkte", game.get_event_flag("turnier"..pc.get_empire().."punkte")+1) end if game.get_event_flag("turnier"..pc.get_empire().."punkte") >= 500 then game.set_event_flag("reich"..pc.get_empire().."status", 1) if pc.get_empire() == 1 then notice_all("Das Rote Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Gelbe Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Blaue Reich hat in der Wüste dominiert.") end game.set_event_flag("deserton", 2) end end when game.get_event_flag("deserton") == 2 begin notice_all("Das Turnier geht nun in die Endphase.") notice_all("Für das Siegerreich spawnen nun Metins") notice_all("in der Mitte der Wüste.") regen_in_map(183, "locale /germany/map/desert_war/regen_metins.txt") say_in_map(183, "Ihr habt nun 30 Minuten Zeit die Metins in der Wüste") say_in_map(183, "zu finden und zu zerstören. Viel Spass!") timer("cooldown", 60*30) end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 2 and pc.get_map_index() == 183 begin if game.get_event_flag("reich"..pc.get_empire().."status") == 1 then return elseif pc.is_gm() then return else if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) else say("Du konntest auf grund deines Reiches nicht zurückteleportiert werden.") say("Bitte Teleportier dich selber zurück") end end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 1 and pc.get_map_index() == 183 and pc.get_level<75 begin if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) end end when "cooldown".timer begin cleartimer("cooldown") game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") wait() warp_all_to_village(183, 1) kill_all_in_map(183) end when 20352.chat."Wüstenschlacht-Einstellungen" with pc.is_gm() begin say("Was möchtest du machen?") local what = select("Wüstenschlacht starten", "Wüstenschlacht Beenden", "Abbrechen") if what == 3 then return elseif what == 2 then game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") elseif what == 1 then game.set_event_flag("deserton", 1) notice_all("Die Wüstenschlacht wurde von "..pc.get_name.." gestartet.") notice_all("Begebt euch zum Schlachtenverwalter.") end end end