Code:
quest epvp_0102 begin
state start begin
when npc_a.chat."Hab keine Story" begin
say_title "Event-name hier"
say "Story bla"
if not party.is_party() then
say "Du musst in einer Gruppe von mindestens"
say "3 Leuten sein, um diese Funktion zu"
say "benutzen. Deine Gruppenmitglieder "
say "müssen neben dir stehen!"
elseif not party.get_near_count(20) >= 3 then
say "Es müssen mindestens 3 Gruppenmitglieder"
say "in deiner Nähe sein, um diese Funktion zu"
say "benutzen!"
end
say "Möchtest du warpen?"
if select("Ja","Nein") == 2 then
return say "Schade..[ENTER]Dann ein ander mal!"
end
d.join(map_index)
end
function spawn_at(mob_list,x,y,range_x,range_y,count)
--[[
mob_list: Eine Tabelle mit möglichen Monstern. Wenn du statt zB 101 {101,"g"} angibst, dann wird die GRUPPE mit der ID 101 gespawnt!!
x,y: Die Grund-Kooridinaten.
range_x,range_y: Eine Abweichung. sind range_x und range_y gleich, ergeben sie eine Quadratische Spawn-Fläche.
count: Die Anzahl an Monstern, die gespawnt werden sollen
--]]
for i = 1,count do
local ml = mob_list[number(1,table.getn(mob_list))]; ml = type(ml) == "table" and ml or {ml,"m"}
local _ = (ml[2] == "g" and d.spawn_group or d.spawn_mob)(ml[1],x,y,range_x,range_y,1)
end
end
function is_in()
return pc.in_dungeon() and pc.get_map_index() >= map_index*10000 and pc.get_map_index() < (map_index+1)*10000
end
when npc_b.chat."Kekse?" with epvp_0102.is_in() and d.getf "npc_b" == 0 begin
d.setf("npc_b",1)
say_title "Event-Titel hier"
say "Nonsens-Text hier!"
wait()
epvp_0102.spawn_at({101,102,103,111,112,113},pc.get_local_x(),pc.get_local_y(),10,10,20)
d.setf("count_1",20)
end
when kill with epvp_0102.is_in() and d.getf "npc_b" == 1 and d.getf("count_1") > 0 begin
local c = d.getf("count_1")-1
d.setf("count_1",c)
if c <= 0 then
d.setf("npc_c",1)
d.notice "Ihr könnt euch nun bei NPC-C Melden!"
end
end
--------------------------------------
when npc_c.chat."Kekse?" with epvp_0102.is_in() and d.getf "npc_c" == 1 begin
d.setf("npc_c",2)
say_title "Event-Titel hier"
say "Nonsens-Text hier!"
wait()
epvp_0102.spawn_at({101,102,103,111,112,113},pc.get_local_x(),pc.get_local_y(),10,10,30)
d.setf("count_2",30)
end
when kill with epvp_0102.is_in() and d.getf "npc_c" == 2 and d.getf("count_2") > 0 begin
local c = d.getf("count_2")-1
d.setf("count_2",c)
if c <= 0 then
local cm = d.getf"count_max"+1
d.setf("count_max",cm)
if not cm then
d.setf("npc_c",1)
d.notice "Ihr könnt euch nun erneut bei NPC-C Melden!"
else
d.setf("npc_c",3)
-- Hier, was kommen soll, wenn die Maxiale Rundenzahl erreicht wurde :)
end
end
end
when npc_c.chat."Kekse?" with epvp_0102.is_in() and d.getf "npc_c" == 3 begin
-- Bla
end
end
end