Sziasztok olyan kérdésem lenne, hogy hogy kell azt beleírni egy questbe, hogy az adott mapon csak 1 ember lehessen és addig ne engedjen be mást?
jobb, ha generáltatod a map indexet, így akárhány ember bemehet, de nem látják egymást a playerek se egymás szörnyeit....
mindenki külön mapon lesz de ugyan úgy néz ki a map, ha érdekel így is akkor írj.. és küldök egy olyan questet
Szia.
quest xy begin
state start begin
when NPCID.chat."Belépés a mapra" begin
if pc.getqf("vb") != 0 then
say("Már vannak bent.")
return
end
say("Be akarsz menni?")
local bm = select("Igen","Nem")
if bm == 1 then
pc.setqf("vb", 1)
pc.warp(x, y)
else
return
end
end
when NPCID.chat."Kilepes" with pc.get_map_index() == MAPINDEX begin
say("Ki akarsz menni?")
local bm = select("Igen","Nem")
if bm == 1 then
pc.setqf("vb", 0)
pc.warp(x, y)
else
return
end
end
end
end
Írd be a koordinátákat, meg az NPC ID-jét. Meg szövegeket is írd át, mivel telefonrol nem írnék bele egy regényt.
És ebbe azt bele lehet írni, hogy 3 óránként lehessen belépni és csak 10 percig maradhasson bent a játékos utána rakja ki?
quest xy begin
state start begin
when NPCID.chat."Belépés a mapra" begin
if pc.getqf("vb") != 0 then
say("Már vannak bent.")
return
end
say("Be akarsz menni?")
local bm = select("Igen","Nem")
if bm == 1 then
pc.setqf("vb", 1)
pc.setqf("ido", get_time())
timer("kivisz", 60*10)
pc.warp(x, y)
else
return
end
end
when NPCID.chat."Kilepes" with pc.get_map_index() == MAPINDEX begin
say("Ki akarsz menni?")
local bm = select("Igen","Nem")
if bm == 1 then
pc.setqf("vb", 0)
pc.warp(x, y)
else
return
end
end
when kivisz.timer begin
pc.setqf("vb", 0)
pc.warp(x, y)
end
when login with pc.getqf("ido")+60*10 => get_time() begin
pc.setqf("vb", 0)
pc.warp(x, y)
end
end
end
Nem működik, ezt írja ki:
syntax error : [string "startpc . getqf ( "ido" ) + 60 * 10 = > get_time ( )"]:1: `then' expected near `='
bossrun.quest:33:Abort (core dumped)
quest xy begin
state start begin
when NPCID.chat."Belépés a mapra" begin
if pc.getqf("vb") != 0 then
say("Már vannak bent.")
return
end
say("Be akarsz menni?")
local bm = select("Igen","Nem")
if bm == 1 then
pc.setqf("vb", 1)
pc.setqf("ido", get_time()+60*10)
timer("kivisz", 60*10)
pc.warp(x, y)
else
return
end
end
when NPCID.chat."Kilepes" with pc.get_map_index() == MAPINDEX begin
say("Ki akarsz menni?")
local bm = select("Igen","Nem")
if bm == 1 then
pc.setqf("vb", 0)
pc.warp(x, y)
else
return
end
end
when kivisz.timer begin
pc.setqf("vb", 0)
pc.warp(x, y)
end
when login with pc.get_map_index() == MAPINDEX begin
if get_time() >= pc.getqf("ido") then
pc.setqf("vb", 0)
pc.warp(x, y)
return
end
timer("kivisz", pc.getqf("ido") - get_time())
end
end
end
Talán így, nem tudom mi a hiba, nem látom benne.
Jah igen, elfelejtettem. Akkor eventflag.
quest xy begin
state start begin
when NPCID.chat."Belépés a mapra" begin
if game.get_event_flag("vb") != 0 then
say("Már vannak bent.")
return
end
say("Be akarsz menni?")
local bm = select("Igen","Nem")
if bm == 1 then
game.set_event_flag("vb", 1)
pc.setqf("ido", get_time()+60*10)
timer("kivisz", 60*10)
pc.warp(x, y)
else
return
end
end
when NPCID.chat."Kilepes" with pc.get_map_index() == MAPINDEX begin
say("Ki akarsz menni?")
local bm = select("Igen","Nem")
if bm == 1 then
game.set_event_flag("vb", 0)
pc.warp(x, y)
else
return
end
end
when kivisz.timer begin
game.set_event_flag("vb", 0)
pc.warp(x, y)
end
when login with pc.get_map_index() == MAPINDEX begin
if get_time() >= pc.getqf("ido") then
game.set_event_flag("vb", 0)
pc.warp(x, y)
return
end
timer("kivisz", pc.getqf("ido") - get_time())
end
end
end
Működik, köszönöm, zárom! Ment a plusz.