Sziasztok.
Valaki tudna segíteni egy olyan questbe, hogy én gm-ként tudjak menyitni egy mappot amire bemehetnek addig még én le nem zárom?
Nagyon megköszönném.
quest asdmap begin
state start begin
when NPCID.chat."XY Map megnyitása" with pc.is_gm() == true begin
local map = select("Megnyitás", "Lezárás", "Mégse")
if map == 3 then
return
elseif map == 1
if pc.getqf("map2") == 0 then
pc.setqf("map2", 1)
notice_all("XY Map megnyitotta kapuit")
elseif
say("Már meg van nyitva a pálya")
return
end
else
if pc.getqf("map2") == 1 then
pc.setqf("map2", 0)
notice_all("XY Map lezárult")
else
say("Még nincs megnyitva a map")
return
end
end
end
when NPCID.chat."XY Map" begin
if pc.getqf("map2") == 1 then
say("Biztos be szeretnél menni?")
local s = ("Igen", "Nem")
if s == 2 then
return
else
pc.warp(X,Y)
end
else
say("A map le van zárva")
return
end
end
end
end
Köszönöm szépet.
Témát zártam.
Üzenet összefésülés: 2015-01-13, 23:26:21
Kicsit átírtam így a questet és így nem működik make.sh-nál a 25. sorban ír hibát.
Idézquest asdmap begin
state start begin
when 20095.chat."Birodalma Csata(GM)" with pc.is_gm() == true begin
local map = select("Megnyitás", "Lezárás", "Mégse")
if map == 3 then
return
elseif map == 1
if pc.getqf("map2") == 0 then
pc.setqf("map2", 1)
notice_all("Birodalmi Csata elkezdődött")
notice_all("Jelentkezés Seon_Hae")
elseif
say("Már meg van nyitva a pálya")
return
end
else
if pc.getqf("map2") == 1 then
pc.setqf("map2", 0)
notice_all("Birodalmi Csata jelentkezés lezárult")
else
say("Még nincs megnyitva a map")
return
end
end
end
when 20095.chat."Birodalmi Csata" begin
if pc.getqf("map2") == 1 then
say("Biztos be szeretnél menni?")
local s = ("Igen", "Nem")
if s == 2 then
return
else
pc.warp(946300,25400)
end
else
say("A map le van zárva")
return
end
end
end
end
mit ír pontosan?
[img] (http://kepfeltoltes.hu/view/150113/questr_www.kepfeltoltes.hu_.png)
Itt a hiba:
elseif map == 1
if pc.getqf("map2") == 0 then
pc.setqf("map2", 1)
notice_all("Birodalmi Csata elkezdődött")
notice_all("Jelentkezés Seon_Hae")
elseif
say("Már meg van nyitva a pálya")
return
end
Kitörölöd az if-et belőle.
Ez egyébként így felesleges: pc.is_gm() == true
Így is elég: pc.is_gm()
igen, párszor akaratom ellenére kijavít np++ :D
meg a quest nevét is átírhatnád, nem tudom h számít-e de én így tanultam régen :D
Így néz ki msot a quest
[spoiler]quest asdmap begin
state start begin
when 20095.chat."Birodalmi Csata(GM)" with pc.is_gm() begin
local map = select("Megnyitás", "Lezárás", "Mégse")
if map == 3 then
return
elseif map == 1
if pc.getqf("map2") == 0 then
pc.setqf("map2", 1)
notice_all("Birodalmi Csata elkezdődött")
notice_all("Jelentkezés Seon_Hae")
else
say("Már meg van nyitva a pálya")
return
end
else
if pc.getqf("map2") == 1 then
pc.setqf("map2", 0)
notice_all("Birodalmi Csata jelentkezés lezárult")
else
say("Még nincs megnyitva a map")
return
end
end
end
when 20095.chat."Birodalmi Csata" begin
if pc.getqf("map2") == 1 then
say("Biztos be szeretnél menni?")
local s = ("Igen", "Nem")
if s == 2 then
return
else
pc.warp(946300,25400)
end
else
say("A map le van zárva")
return
end
end
end
end [/spoiler]
És itt a hiba.
[img] (http://kepfeltoltes.hu/view/150114/questhiba_www.kepfeltoltes.hu_.png)
if map == 3 then
return
elseif map == 1 then
if pc.getqf("map2") == 0 then
Msot így nézz ki.
[spoiler]quest asdmap begin
state start begin
when 20095.chat."Birodalmi Csata(GM)" with pc.is_gm() begin
local map = select("Megnyitás", "Lezárás", "Mégse")
if map == 3 then
return
elseif map == 1 then
if pc.getqf("map2") == 0 then
pc.setqf("map2", 1)
notice_all("Birodalmi Csata elkezdődött")
notice_all("Jelentkezés Seon_Hae")
else
say("Már meg van nyitva a pálya")
return
end
else
if pc.getqf("map2") == 1 then
pc.setqf("map2", 0)
notice_all("Birodalmi Csata jelentkezés lezárult")
else
say("Még nincs megnyitva a map")
return
end
end
end
when 20095.chat."Birodalmi Csata" begin
if pc.getqf("map2") == 1 then
say("Biztos be szeretnél menni?")
local s = ("Igen", "Nem")
if s == 2 then
return
else
pc.warp(946300,25400)
end
else
say("A map le van zárva")
return
end
end
end
end[/spoiler]
És a 39.sorban ír hibát.
Talán egyel több az end, nézd így.
quest asdmap begin
state start begin
when 20095.chat."Birodalmi Csata(GM)" with pc.is_gm() begin
local map = select("Megnyitás", "Lezárás", "Mégse")
if map == 3 then
return
elseif map == 1 then
if pc.getqf("map2") == 0 then
pc.setqf("map2", 1)
notice_all("Birodalmi Csata elkezdődött")
notice_all("Jelentkezés Seon_Hae")
else
say("Már meg van nyitva a pálya")
return
end
else
if pc.getqf("map2") == 1 then
pc.setqf("map2", 0)
notice_all("Birodalmi Csata jelentkezés lezárult")
else
say("Még nincs megnyitva a map")
return
end
end
end
when 20095.chat."Birodalmi Csata" begin
if pc.getqf("map2") == 1 then
say("Biztos be szeretnél menni?")
local s = ("Igen", "Nem")
if s == 2 then
return
else
pc.warp(946300,25400)
end
else
say("A map le van zárva")
return
end
end
end
Egy az egyben beraktam a questet amit most küldtél és ez a hiba.
[img] (http://kepfeltoltes.hu/view/150114/quessstttt_www.kepfeltoltes.hu_.png)
[spoiler]quest asdmap begin
state start begin
when 20095.chat."Birodalmi Csata(GM)" with pc.is_gm() begin
local map = select("Megnyitás", "Lezárás", "Mégse")
if map == 3 then
return
elseif map == 1 then
if pc.getqf("map2") == 0 then
pc.setqf("map2", 1)
notice_all("Birodalmi Csata elkezdődött")
notice_all("Jelentkezés Seon_Hae")
else
say("Már meg van nyitva a pálya")
return
end
else
if pc.getqf("map2") == 1 then
pc.setqf("map2", 0)
notice_all("Birodalmi Csata jelentkezés lezárult")
else
say("Még nincs megnyitva a map")
return
end
end
end
when 20095.chat."Birodalmi Csata" begin
if pc.getqf("map2") == 1 then
say("Biztos be szeretnél menni?")
local s = ("Igen", "Nem")
if s == 2 then
return
else
pc.warp(946300,25400)
end
else
say("A map le van zárva")
return
end
end
end
end
[/spoiler]
Hiányzott egy end a vége felé.
A tiedet is bemásoltam egy az egyeben, ott meg a 40.sorban van a hiba.
[img] (http://kepfeltoltes.hu/view/150114/qqqqqqqq_www.kepfeltoltes.hu_.png)
[spoiler]quest asdmap begin
state start begin
when 20095.chat."Birodalmi Csata(GM)" with pc.is_gm() begin
local map = select("Megnyitás", "Lezárás", "Mégse")
if map == 3 then
return
elseif map == 1 then
if pc.getqf("map2") == 0 then
pc.setqf("map2", 1)
notice_all("Birodalmi Csata elkezdődött")
notice_all("Jelentkezés Seon_Hae")
else
say("Már meg van nyitva a pálya")
return
end
else
if pc.getqf("map2") == 1 then
pc.setqf("map2", 0)
notice_all("Birodalmi Csata jelentkezés lezárult")
else
say("Még nincs megnyitva a map")
return
end
end
end
when 20095.chat."Birodalmi Csata" begin
if pc.getqf("map2") == 1 then
say("Biztos be szeretnél menni?")
local s = select("Igen", "Nem")
if s == 2 then
return
else
pc.warp(946300,25400)
end
else
say("A map le van zárva")
return
end
end
end
end
[/spoiler]
A hiba ez volt:
Eredeti:
local s = ("Igen", "Nem")
Módosított:
local s = select("Igen", "Nem")
Köszönöm így működik.
Üzenet összefésülés: 2015-01-14, 09:54:19
Most viszont azt a hibát találtam, hogy nem portál el csak gm karit.
Azért nem mehet be GM-en kívül más, mert csak a GM kapja meg a questflagot mikor megnyitja. A logika rossz.
Én ilyen questet eventflaggal oldanák meg, meg is írtam gyorsan:
[spoiler]quest xmap begin
state start begin
when NPCID1.chat."X MAP" with pc.is_gm() begin
local s = select("Megnyitom", "Lezárom", "Mégse")
if s == 3 then
return
elseif s == 1 then
if game.get_event_flag("belepesx") == 0 then
game.set_event_flag("belepesx", 1)
notice_all("X-Mapra lehet menni!")
notice_all("Jelentkezés XY NPC")
else
say("Jelenleg megvan már nyitva.")
return
end
else
if game.get_event_flag("belepesx") == 1 then
game.set_event_flag("belepesx", 0)
notice_all("X-map event lezárult")
else
say("Jelenleg le van már zárva.")
return
end
end
end
when NPCID2.chat."X-Map" begin
if game.get_event_flag("belepesx") == 1 then
say("Be szeretnél menni az X-Mapra?")
local s = select("Igen", "Nem")
if s == 2 then
return
else
pc.warp(x,y)
end
else
say("A mapra jelenleg nem mehetsz be.")
end
end
end
end
[/spoiler]
Szerintem nem írtam el benne semmit mert 2x átnéztem, de ha nem fut le akkor szólj.
NPCID1, NPCID2 és x,y warpnál írd át.
Nagyon köszönöm ez működik.
Témát zártam