Quest hiba

Indította kicsiasdvagyok, 2017-12-17, 08:29:05

2017-12-17, 08:29:05 Utolsó szerkesztés: 2017-12-17, 09:59:54 Szerző: kicsiasdvagyok
sziasztok. Van egy quest amit itt fórumon találtam, de valamiért nem akar működni.

quest pvpevent begin
state start begin
when 20397.click with pc.is_gm == true begin

local pvp_1 = select("PvP Event indítása","PvP Event leállítása", "Mégse")

if pvp_1 == 1 then
local event_status = game.get_event_flag("pvpevent")
if event_status == 0 then
game.set_event_flag("pvpevent", 1)
notice_all("A PvP rendezvény hamarosan kezdetét veszi!")
notice_all("Nevezni a Pvp oktatónál tudsz!")

elseif event_status == 1 then
say("Már zajlik a PvP event!")
end

elseif pvp_1 == 2 then
if event_status == 0 then
say("Jelenleg nem zajlik PvP event!")

elseif event_status == 1 then
game.set_event_flag("pvpevent", 0)
notice_all("A PvP rendezvény véget ért!")
notice_all("Gratulálunk minden résztvevőnek!")

local eredmeny = select("Győztesek kihírdetése!")
if eredmeny == 1 then
say("Írd be a Harcosok közti győztes nevét:")
local eredmeny_w = input
say("Írd be a Ninják közti győztes nevét:")
local eredmeny_n = input
say("Írd be a Surák közti győztes nevét:")
local eredmeny_su = input
say("Írd be a Sámánok közti győztes nevét:")
local eredmeny_sha = input
wait()
notice_all(eredmeny_w)
wait()
notice_all(eredmeny_n)
wait()
notice_all(eredmeny_su)
wait()
notice_all(eredmeny_sa)
end
end

elseif pvp_1 == 3 then
return
end
end

when 20397.click with pc.is_gm() == false and game.get_event_flag("pvpevent") == 1 begin

local pvp_2 = select("Jelentkezés a PvP Eventre", "Belépés nézőként!", "Mégse")

if pvp_2 == 1 then
local kaszt = pc.get_job()
if kaszt == 0 then
say("Azonnal teleportálva leszel a megfelelő helyre!")
pc.warp(858500, 8400) -- // Harcosoknak fenntartott gyülekezőhely // --

elseif kaszt == 1 then
say("Azonnal teleportálva leszel a megfelelő helyre!")
pc.warp(856200, 8600) -- // Ninjáknak fenntartott gyülekezőhely // --

elseif kaszt == 2 then
say("Azonnal teleportálva leszel a megfelelő helyre!")
pc.warp(856200, 13700) -- // Suráknak fenntartott gyülekezőhely // --

elseif kaszt == 3 then
say("Azonnal teleportálva leszel a megfelelő helyre!")
pc.warp(858400, 13700) -- // Sámánoknak fenntartott gyülekezőhely // --
end

elseif pvp_2 == 2 then
say("Azonnal teleportálva leszel a nézőtérre!")
pc.warp(857600, 6100) -- // Nézőknek fenntartott gyülekezőhely // --

elseif pvp_2 == 3 then
return
end
end
end
end


hiba:
QUEST : pvpevent
STATE : start
WHEN  : 20397.click
        with pc . is_gm == true
WHEN  : 20397.click
        with pc . is_gm ( ) == false and game . get_event_flag ( "pvpevent" ) == 1

2017-12-17, 09:58:25 #1 Utolsó szerkesztés: 2017-12-17, 10:01:47 Szerző: Zhymer
"Hölgyeim és uraim, íme a bukott bálvány!"

Köszi, közben módosítottam a kérdést, csak valamiért nem működik. Nem tudod mi lehet a hibája?

QC-n lefut, ingame mi nem jó? Nem jelenik meg? Nem teleportál el?
"Hölgyeim és uraim, íme a bukott bálvány!"

Nem lehet rá kattintani az npc-re. Nem csinál semmit.

Idézwhen 20397.click with pc.is_gm() == false and game.get_event_flag("pvpevent") == 1 begin
"Hölgyeim és uraim, íme a bukott bálvány!"

adminkarival /pvpevent 1
Ez a parancs nemlétezik.

2017-12-17, 10:56:58 #7 Utolsó szerkesztés: 2017-12-17, 10:59:00 Szerző: Zhymer
/e pvpevent 1

Viszont az npc azért nem megy mert

when 20397.click with pc.is_gm == true begin

Itt lehagytál egy ()-t

when 20397.click with pc.is_gm() == true begin

(Igazából az == true lehagyható de ez már részletkérdés)
"Hölgyeim és uraim, íme a bukott bálvány!"

Most lefut, viszont az npcnél ha elindítom csak az írja ki, hogy a pvp event már fut.
Bemenni sehogy nem lehet

Reseteld a questeket.
/reload

Vagy simán resizd a szervert teljesen.

(Csak egy ötlet.)
Egy programozási nyelv akkor alacsony szintű, ha arra kényszeríti az embert, hogy az érdektelen dolgokra is odafigyeljen.

Az input után is kell ()... MEg 1-2 apróság. NEm teszteltem, csak qc-vel :D

[spoiler]quest pvpevent begin
state start begin
when 20397.chat."PvP Event Manager (GM)" with pc.is_gm() begin

local pvp_1 = select("PvP Event indítása","PvP Event leállítása", "Mégse")
if pvp_1 == 3 then
return
elseif pvp_1 == 1 then
local event_status = game.get_event_flag("pvpevent")
if event_status == 0 then
game.set_event_flag("pvpevent", 1)
notice_all("A PvP rendezvény hamarosan kezdetét veszi!")
notice_all("Nevezni a Pvp oktatónál tudsz!")

elseif event_status == 1 then
say("Már zajlik a PvP event!")
else
say("HIBA: event_status = "..event_status)
end

elseif pvp_1 == 2 then
local event_status = game.get_event_flag("pvpevent")
if event_status == 0 then
say("Jelenleg nem zajlik PvP event!")

elseif event_status == 1 then
game.set_event_flag("pvpevent", 0)
notice_all("A PvP rendezvény véget ért!")
notice_all("Gratulálunk minden résztvevőnek!")

local eredmeny = select("Győztesek kihírdetése!")
if eredmeny == 1 then
say("Írd be a Harcosok közti győztes nevét:")
local eredmeny_w = input()
say("Írd be a Ninják közti győztes nevét:")
local eredmeny_n = input()
say("Írd be a Surák közti győztes nevét:")
local eredmeny_su = input()
say("Írd be a Sámánok közti győztes nevét:")
local eredmeny_sha = input()
say("eredmények:")
say("Harcos: "..eredmeny_w)
say("Ninja: "..eredmeny_n)
say("Sura: "..eredmeny_su)
say("Sámán: "..eredmeny_sha)
say("")
say("Kihirdethetem?")
if select("Igen", "Mégsem") == 2 then return end
notice_all(eredmeny_w)
notice_all(eredmeny_n)
notice_all(eredmeny_su)
notice_all(eredmeny_sa)
end
end
end
end

when 20397.chat."PvP Event" with not pc.is_gm() and game.get_event_flag("pvpevent") == 1 begin

local pvp_2 = select("Jelentkezés a PvP Eventre", "Belépés nézőként!", "Mégse")

if pvp_2 == 1 then
local kaszt = pc.get_job()
if kaszt == 0 then
say("Azonnal teleportálva leszel a megfelelő helyre!")
wait()
pc.warp(858500, 8400) -- // Harcosoknak fenntartott gyülekezőhely // --

elseif kaszt == 1 then
say("Azonnal teleportálva leszel a megfelelő helyre!")
wait()
pc.warp(856200, 8600) -- // Ninjáknak fenntartott gyülekezőhely // --

elseif kaszt == 2 then
say("Azonnal teleportálva leszel a megfelelő helyre!")
wait()
pc.warp(856200, 13700) -- // Suráknak fenntartott gyülekezőhely // --

elseif kaszt == 3 then
say("Azonnal teleportálva leszel a megfelelő helyre!")
wait()
pc.warp(858400, 13700) -- // Sámánoknak fenntartott gyülekezőhely // --
end

elseif pvp_2 == 2 then
say("Azonnal teleportálva leszel a nézőtérre!")
wait()
pc.warp(857600, 6100) -- // Nézőknek fenntartott gyülekezőhely // --

elseif pvp_2 == 3 then
return
end
end
end
end
[/spoiler]

Ránézésre sem fog menni, eredmeny_sha és *_sa miatt.
local eredmeny_sha = input()
notice_all(eredmeny_sa)

innen találtam a témát.
http://metin2hungary.net/index.php?topic=148726.0
akkor ezekszerint nem lehet müködésre bírni?

Hogyne lehetne működésre bírni, egyértelmű a hiba. :)
Egy programozási nyelv akkor alacsony szintű, ha arra kényszeríti az embert, hogy az érdektelen dolgokra is odafigyeljen.

Idézetet írta: udvatt108 Dátum 2017-12-18, 21:15:37
Hogyne lehetne működésre bírni, egyértelmű a hiba. :)
értem szal most azért kellett a drámai csend, hogy leírjátok egy txt-be és majd mikó hazaértek beírjátok ide? :'D