Sziasztok.
1 hete keresem a megoldást de nem találom, oxot miután leállítom mindenki kezdőre teleportál aki pl bent sincs oxon, farmol vagy valami és ha véget ér az ox mindenkit kezdőre visz.
Szia.
Lennél olyan kedves hogy ide biggyeszted a questet is? ???
quest oxevent_manager begin
state start begin
when letter with pc.get_map_index()==113 begin
send_letter("OX-Rendezvény elhagyása")
end
when button or info begin
say_title("OX-Rendezvény elhagyása")
say("Valóban el szeretnél menni a rendezvényről?")
local s=select("Igen", "Nem")
if s==2 then
send_letter("OX-Rendezvény elhagyása")
return
end
local empire = pc.get_empire()
if empire== 1 then
pc.warp(433300, 219600)
elseif empire == 2 then
pc.warp(431500, 209200)
elseif empire == 3 then
pc.warp(439800, 211000)
end
end
when 20011.chat."OX-Rendezvény" begin
say_title(mob_name(20011)..":")
if game.get_event_flag("oxevent_status") == 0 then
say("Hé, te! Igen te!")
say("Te intelligensnek tűnsz, de vajon az is vagy?")
say("Ha okosnak érzed magad, bizonyítsd be!")
say("Lehetőséged van megmutatni a világnak tudásod,")
say("amikor OX esemény folyik.")
say("Az OX egy különleges rendezvény, melyen mind a")
say("három birodalom küzd meg egymás ellen, de ez a harc")
say("az ész viadala! Ha buta vagy, ne járasd le magad,")
say("akkor inkább csak nézd a profikat.")
say("Én beteleportálhatlak de csak akkor ha a rendezvény")
say("folyamatban van, ami jelenleg nem lehetséges.")
say("")
elseif game.get_event_flag("oxevent_status") == 1 then
say("Az OX-Rendezvény már elindult!")
say("Siess, ha be akarsz érni még mielőtt elindul a kvíz.")
say_reward("Be szeretnél lépni az OX-Rendezvényre?")
local s = select("Résztveszek", "Nézem", "Mégse")
if s == 1 then
say_title(mob_name(20011)..":")
say("Oké, beregisztráltalak és máris teleportállak.")
say("Sok sikert kívánok!")
say("")
wait()
pc.warp(896500, 24600)
elseif s == 2 then
say_title(mob_name(20011)..":")
say("Ahha látom valaki megfogadja a tanácsom.")
say("Nem probléma, fejleszd tudásod és majd egyszer")
say("próbáld meg te is az élmezőnyben is!")
say("")
say_reward("Máris teleportállak!")
say("")
wait()
pc.warp(896300, 28900)
end
elseif game.get_event_flag("oxevent_status") == 2 then
say("A kvíz kérdések már elindultak, sajnos már")
say("nem tudlak résztvevőként beregisztrálni, de")
say("nézőnek még bemehetsz.")
say("")
say_reward("Részt akarsz venni a rendezvényen nézőként?")
say("")
local s = select("Jó, legyen", "Nem, köszi")
if s == 1 then
say_title(mob_name(20011)..":")
say("Ne csüggedj, majd legközelebb szerencséd lesz és")
say("bekerülsz!")
say("")
say_reward("Máris teleportállak!")
say("")
wait()
pc.warp(896300, 28900)
end
end
end
when 20358.chat."OX-Rendezvény" with pc.get_gm_level() == 5 and pc.get_map_index() == 113 begin
local stat = oxevent.get_status()
if stat == 0 then
say_title("OX-Rendezvény")
say("Jelenleg az OX-Rendezvény nem fut.")
say("")
say_reward("Akarod elindítani?")
local s = select("Indítás", "Bezár")
if s == 1 then
local v = oxevent.open()
if v == 0 then
say_title("OX-Rendezvény")
say("Hiba lépett fel az esemény megnyitása közben!")
say("")
elseif v == 1 then
say_title("OX-Rendezvény")
say("Az OX-Rendezvény sikeresen elindítva!")
say("")
notice_all("<[`°*~-._ 1337 _.-~*°´]>")
notice_all("Az OX-Rendezvény megnyitotta kapuit!")
notice_all("Ne habozz, gyere és Játsz!")
notice_all("Menj Uriel-hez a regisztrációhoz!")
else
say_title("OX-Rendezvény")
say("Ismeretlen hiba..")
say("")
end
end
elseif stat == 1 then
say_title("OX-Rendezvény")
say(string.format("Jelenleg %d Játékos van a rendezvényen.", oxevent.get_attender()))
say("A kvízkérdések elindításához le kell zárni")
say("a rendezvényre való regisztrációt!")
say("")
say_reward("Lezárod a regisztrációt az OX-Rendezvényre?")
say("")
local s = select("Lezárom", "Nem zárom le")
if s == 1 then
say_title("OX-Rendezvény")
oxevent.close()
say("Lezártad a regisztrációt!")
say("Már nem csatlakozhat a játékhoz egy játékos se.")
say("A nézőtérre még léphetnek be emberek!")
say("")
end
elseif stat == 2 then
say_title("OX-Rendezvény")
say("Válassz a lehetőségek közül:")
say("")
local s = select("Kérdés betöltés", "Rendezvény befejezése", "Bezár")
if s == 1 then
local v = oxevent.quiz(1, 30)
say_title("OX-Rendezvény")
if v == 0 then
say("A Rendezvény nem fut!")
say("")
elseif v == 1 then
say("Elindult egy kérdés.")
say("")
else
say("Ezt a kérdést már feltetted!")
say("")
end
elseif s == 2 then
say_title("OX-Rendezvény")
say("Az OX-Rendezvényt leállítottad!")
say("")
notice_all("<[`°*~-._ 1337 _.-~*°´]>")
notice_all("AZ OX-Rendezvény végetért!")
notice_all("Reméljük jól éreztétek magatokat a rendezvény alatt.")
oxevent.end_event()
end
elseif stat == 3 then
say_title("OX-Rendezvény")
say("Státusz: Nincs kérdés...")
say("Kérlek várj...")
say("")
else
say_title("OX-Rendezvény")
say("Hiba történt!")
end
end
when 20358.chat."OX-Rendezvény leállítása" with pc.get_gm_level() == 5 and pc.get_map_index() == 113 and oxevent.get_status() >= 1 begin
say_title("OX-Rendezvény")
say("Szeretnéd leállítani az OX-Rendezvényt?")
say("Ez hibát is okozhat!")
say("")
say_reward("Szeretnéd leállítani?")
say("")
local s = select("Igen", "Nem")
if s == 1 then
say_reward("Az OX-Rendezvény kényszerített leállítással leállt!")
oxevent.end_event_force()
end
end
when 20358.chat."OX Nyertes(ek) jutalmazása" with pc.get_gm_level() == 5 and pc.get_map_index() == 113 and oxevent.get_status() >= 1 begin
say_title("OX-Rendezvény")
say("Itt tudod megjutalmazni a rendezvény győzteseit.")
say("")
say_reward("Add meg a Tárgy ID-t:")
say("")
local item_vnum = input()
say_title("OX-Rendezvény")
say_reward("Add meg a Tárgy számát:")
say("")
local item_count = input()
oxevent.give_item(item_vnum, item_count)
local itemname = item_name(item_vnum)
local name = pc.get_name()
say("A győztes(ek) száma: "..oxevent.get_attender())
say("")
notice_all("<[`°*~-._ 1337 _.-~*°´]>")
notice_all("A nyertes a következő díjat kapta meg:")
notice_all(item_count.." darab "..itemname.."-t.")
end
end
end
Próbáld meg így:
quest oxevent_manager begin
state start begin
when letter with pc.get_map_index()==113 begin
send_letter("OX-Rendezvény elhagyása")
end
when button or info begin
say_title("OX-Rendezvény elhagyása")
say("Valóban el szeretnél menni a rendezvényről?")
local s=select("Igen", "Nem")
if s==2 then
send_letter("OX-Rendezvény elhagyása")
return
end
if s == 1 then
if pc.get_empire()== 1 then
pc.warp(433300, 219600)
elseif pc.get_empire() == 2 then
pc.warp(431500, 209200)
elseif pc.get_empire() == 3 then
pc.warp(439800, 211000)
end
end
end
when 20011.chat."OX-Rendezvény" begin
say_title(mob_name(20011)..":")
if game.get_event_flag("oxevent_status") == 0 then
say("Hé, te! Igen te!")
say("Te intelligensnek tűnsz, de vajon az is vagy?")
say("Ha okosnak érzed magad, bizonyítsd be!")
say("Lehetőséged van megmutatni a világnak tudásod,")
say("amikor OX esemény folyik.")
say("Az OX egy különleges rendezvény, melyen mind a")
say("három birodalom küzd meg egymás ellen, de ez a harc")
say("az ész viadala! Ha buta vagy, ne járasd le magad,")
say("akkor inkább csak nézd a profikat.")
say("Én beteleportálhatlak de csak akkor ha a rendezvény")
say("folyamatban van, ami jelenleg nem lehetséges.")
say("")
elseif game.get_event_flag("oxevent_status") == 1 then
say("Az OX-Rendezvény már elindult!")
say("Siess, ha be akarsz érni még mielőtt elindul a kvíz.")
say_reward("Be szeretnél lépni az OX-Rendezvényre?")
local s = select("Résztveszek", "Nézem", "Mégse")
if s == 1 then
say_title(mob_name(20011)..":")
say("Oké, beregisztráltalak és máris teleportállak.")
say("Sok sikert kívánok!")
say("")
wait()
pc.warp(896500, 24600)
elseif s == 2 then
say_title(mob_name(20011)..":")
say("Ahha látom valaki megfogadja a tanácsom.")
say("Nem probléma, fejleszd tudásod és majd egyszer")
say("próbáld meg te is az élmezőnyben is!")
say("")
say_reward("Máris teleportállak!")
say("")
wait()
pc.warp(896300, 28900)
end
elseif game.get_event_flag("oxevent_status") == 2 then
say("A kvíz kérdések már elindultak, sajnos már")
say("nem tudlak résztvevőként beregisztrálni, de")
say("nézőnek még bemehetsz.")
say("")
say_reward("Részt akarsz venni a rendezvényen nézőként?")
say("")
local s = select("Jó, legyen", "Nem, köszi")
if s == 1 then
say_title(mob_name(20011)..":")
say("Ne csüggedj, majd legközelebb szerencséd lesz és")
say("bekerülsz!")
say("")
say_reward("Máris teleportállak!")
say("")
wait()
pc.warp(896300, 28900)
end
end
end
when 20358.chat."OX-Rendezvény" with pc.get_gm_level() == 5 and pc.get_map_index() == 113 begin
local stat = oxevent.get_status()
if stat == 0 then
say_title("OX-Rendezvény")
say("Jelenleg az OX-Rendezvény nem fut.")
say("")
say_reward("Akarod elindítani?")
local s = select("Indítás", "Bezár")
if s == 1 then
local v = oxevent.open()
if v == 0 then
say_title("OX-Rendezvény")
say("Hiba lépett fel az esemény megnyitása közben!")
say("")
elseif v == 1 then
say_title("OX-Rendezvény")
say("Az OX-Rendezvény sikeresen elindítva!")
say("")
notice_all("<[`°*~-._ 1337 _.-~*°´]>")
notice_all("Az OX-Rendezvény megnyitotta kapuit!")
notice_all("Ne habozz, gyere és Játsz!")
notice_all("Menj Uriel-hez a regisztrációhoz!")
else
say_title("OX-Rendezvény")
say("Ismeretlen hiba..")
say("")
end
end
elseif stat == 1 then
say_title("OX-Rendezvény")
say(string.format("Jelenleg %d Játékos van a rendezvényen.", oxevent.get_attender()))
say("A kvízkérdések elindításához le kell zárni")
say("a rendezvényre való regisztrációt!")
say("")
say_reward("Lezárod a regisztrációt az OX-Rendezvényre?")
say("")
local s = select("Lezárom", "Nem zárom le")
if s == 1 then
say_title("OX-Rendezvény")
oxevent.close()
say("Lezártad a regisztrációt!")
say("Már nem csatlakozhat a játékhoz egy játékos se.")
say("A nézőtérre még léphetnek be emberek!")
say("")
end
elseif stat == 2 then
say_title("OX-Rendezvény")
say("Válassz a lehetőségek közül:")
say("")
local s = select("Kérdés betöltés", "Rendezvény befejezése", "Bezár")
if s == 1 then
local v = oxevent.quiz(1, 30)
say_title("OX-Rendezvény")
if v == 0 then
say("A Rendezvény nem fut!")
say("")
elseif v == 1 then
say("Elindult egy kérdés.")
say("")
else
say("Ezt a kérdést már feltetted!")
say("")
end
elseif s == 2 then
say_title("OX-Rendezvény")
say("Az OX-Rendezvényt leállítottad!")
say("")
notice_all("<[`°*~-._ 1337 _.-~*°´]>")
notice_all("AZ OX-Rendezvény végetért!")
notice_all("Reméljük jól éreztétek magatokat a rendezvény alatt.")
oxevent.end_event()
end
elseif stat == 3 then
say_title("OX-Rendezvény")
say("Státusz: Nincs kérdés...")
say("Kérlek várj...")
say("")
else
say_title("OX-Rendezvény")
say("Hiba történt!")
end
end
when 20358.chat."OX-Rendezvény leállítása" with pc.get_gm_level() == 5 and pc.get_map_index() == 113 and oxevent.get_status() >= 1 begin
say_title("OX-Rendezvény")
say("Szeretnéd leállítani az OX-Rendezvényt?")
say("Ez hibát is okozhat!")
say("")
say_reward("Szeretnéd leállítani?")
say("")
local s = select("Igen", "Nem")
if s == 1 then
say_reward("Az OX-Rendezvény kényszerített leállítással leállt!")
oxevent.end_event_force()
end
end
when 20358.chat."OX Nyertes(ek) jutalmazása" with pc.get_gm_level() == 5 and pc.get_map_index() == 113 and oxevent.get_status() >= 1 begin
say_title("OX-Rendezvény")
say("Itt tudod megjutalmazni a rendezvény győzteseit.")
say("")
say_reward("Add meg a Tárgy ID-t:")
say("")
local item_vnum = input()
say_title("OX-Rendezvény")
say_reward("Add meg a Tárgy számát:")
say("")
local item_count = input()
oxevent.give_item(item_vnum, item_count)
local itemname = item_name(item_vnum)
local name = pc.get_name()
say("A győztes(ek) száma: "..oxevent.get_attender())
say("")
notice_all("<[`°*~-._ 1337 _.-~*°´]>")
notice_all("A nyertes a következő díjat kapta meg:")
notice_all(item_count.." darab "..itemname.."-t.")
end
end
end
Egyébként a hiba szerintem innen eredt: (Bár semmi sem biztos.) :o
quest oxevent_manager begin
state start begin
when letter with pc.get_map_index()==113 begin
send_letter("OX-Rendezvény elhagyása")
end
when button or info begin
say_title("OX-Rendezvény elhagyása")
say("Valóban el szeretnél menni a rendezvényről?")
local s=select("Igen", "Nem")
if s==2 then
send_letter("OX-Rendezvény elhagyása")
return
end
local empire = pc.get_empire()
if empire== 1 then
pc.warp(433300, 219600)
elseif empire == 2 then
pc.warp(431500, 209200)
elseif empire == 3 then
pc.warp(439800, 211000)
end
end
Chookez, nem az a hiba. a pc.get.empire függvény a te saját karaktered birodalmát kérdezi le, és téged teleportál ki.
oxevent.end_event() vagy oxevent.end_event_force()
Ezeket a függvényeket kell átnézni.
Úgy kellene lennie hogy lekéri minden játékosnak a map index-ét tehát hogy hol tartózkodik, és ha = ox map_index-el, akkor kiteleportálja őket.
Vagy egy tömbbe eltárolni a player id-kat, akik az ox mappon tartózkodnak, majd a tömbön végigfutva az id-ket, kiteleportálná őket a rendszer, és a tömb az természetesen úgy ürülne.