Code:
quest hCoAcL5VU8wu begin
state start begin
function set_empire_locaction(empire)
local op = { {1, 4693, 9642}, {21, 557, 1579}, {41, 9696, 2784} }
pc.set_warp_location(op[empire][1], op[empire][2], op[empire][3])
end
end
function is_dungeon_instanz_index(index)
return (pc.get_map_index() >= index*10000 and pc.get_map_index() < (index+1)*10000 and pc.in_dungeon())
end
when 20011.chat."Der Run xD" begin -- Npc ID anpassen
say_title("Der Run xD")
say("")
say("Starten?")
if select("Ja","Nein")==2 then return end
if party.is_party() then
if party.is_leader() then
if pc.get_level()>=1 then -- Evtl. ne Level beschränkung?
if pc.count_item(gold)>=1 then -- Hier das Item!
pc.remove_item(gold, 1) -- remove item
d.jump_all(42, 70, 66) -- MapIndex + Warpcodes zu Map
d.spawn_mob(20022, x,y) -- Mob zum Starten des Runs. x y anpassen
else
say_title("der Run xD")
say("")
say("Du besitzt kein ITEM,")
say("um den Run betreten zu können.")
end
else
say_title("Mindestlevel!")
say("")
say("Alle Gruppenmitglieder müssen ein")
say("Mindestlevel von 1 haben.")
end
else
say_title("Gruppenleiter")
say("")
say("Nur der Gruppenleiter kann den Run")
say("starten!")
end
else
say_title("Gruppe")
say("")
say("Du musst in einer Gruppe sein, damit")
say("du in den Run kannst!")
end
end
when login with hCoAcL5VU8wu.is_dungeon_instanz_index(101) begin -- MapIndex eintragen
if pc.get_level()<1 then -- Mindestlevel
d.notice("Einer eurer Mitglieder ist unter Lv1! Betrüger!")
d.exit_all()
end
d.notice("Klickt den NPC an.")
hCoAcL5VU8wu.set_empire_locaction(pc.get_empire())
end
when 20022.click with hCoAcL5VU8wu.is_dungeon_instanz_index(101) begin -- NPC Startet Run
if d.getf("Etage")==0 then
npc.purge()
d.setf("Etage", 1)
d.notice("Okay, macht euch bereit, in 5 Sek. gehts los!")
timer("five_seconds", 5)
end
end
-- Run
when 20023.click with hCoAcL5VU8wu.is_dungeon_instanz_index(101) and d.getf("TalkToNpc")==1 and d.getf(tostring(pc.get_vid()))==0 begin
d.setf(tostring(pc.get_vid()), 1)
d.getf(pc.get_name().." hat geklickt.")
end
when CheckIfMobsDead.timer begin
if d.count_monster()==0 then
if d.getf("Etage")>=3 then -- Hier die maximale Runde
cleartimer("CheckIfMobsDead")
d.notice("Win")
d.setf("TalkToNpc", 1)
d.spawn_mob(20023, pc.get_local_x(), pc.get_local_y()) -- NPC Anklick
warp_all_to_village(pc.get_map_index(), 60*5)
else
d.setf("Etage", d.getf("Etage")+1)
d.getf("Geschafft. Mobs kommen jetzt!")
d.spawn_mob(101, x, y) --mobid, x,y
d.spawn_mob(101, x, y)--mobid, x,y
d.spawn_mob(101, x, y)--mobid, x,y
-- Wenns bei 3 bleibt ok, aber sonst würde ich ne regen_file empfehlen.
-- d.regen_file("data/dungeon/derRunName/Ebene"..d.getf("Etage")..".txt")
end
end
end
when five_seconds.timer begin
loop_timer("CheckIfMobsDead", 1)
d.spawn_mob(101, x, y)--mobid, x,y
d.spawn_mob(101, x, y)--mobid, x,y
d.spawn_mob(101, x, y)--mobid, x,y
-- Wenns bei 3 bleibt ok, aber sonst würde ich ne regen_file empfehlen.
-- d.regen_file("data/dungeon/derRunName/Ebene"..d.getf("Etage")..".txt")
end
end
end