[QUEST] Nem futnak le a questjeim

Indította RealKorf, 2018-05-03, 22:10:55

Sziasztok. Elkezdtem foglalkozni aktívan quest írással, de nem akarnak lefutni a questjeim. Nem tudom, hogy a kódommal van baj, vagy valami nincs rendben.

Ez egy példa ami nem fut le. Konzol nem ír hibát. Már a tekercs sem jelenik meg.
quest lvl30 begin
state start begin end
state run begin
when login or levelup with pc.get_level() >= 10 begin
set_state(information)
end
end

state information begin
when letter begin
send_letter("Teszt tekercs")
end

when button or info begin
say_title("Teszt")
say("Test Üzenet")
set_state(__complete)
end
end

state __complete begin
end
end


Van aki tudna segíteni?

state start begin end
state run begin

elundul a start begin de nincs semmi ahol át kéne ugrania a run beginre, vedd ki a run begint és mehet minden start begin-be és le fog futni így:

quest lvl30 begin
state start begin
when login or levelup with pc.get_level() >= 10 begin
set_state(information)
end
end

state information begin
when letter begin
send_letter("Teszt tekercs")
end

when button or info begin
say_title("Teszt")
say("Test Üzenet")
set_state(__complete)
end
end

state __complete begin
end
end

Nem feltétlen kell kivenni, ha olyanra akarja mint a GF-es vadászküldik, csak egy előző questel rá kell állíttatni a folyamatot a run state-re.

nem kötelező, csak felesleges belerakni egy pluszt kivéve ha sorozat küldetés, de ez alapján nem sorozat ezért felesleges a run begin

2018-05-03, 22:18:46 #4 Utolsó szerkesztés: 2018-05-03, 22:20:28 Szerző: RealKorf
Így sem fut le.
Lehetséges, hogy ez a state foglalt másik questben, vagy a state csak az aktuálison belül érvényes?

Üzenet összefésülés: 2018-05-03, 22:20:28

pl. ezt a netről szedtem és ez sem akar működni. Itt kiteszi a tekercset, de nem csinál semmi, ha rámegyek:

quest opciok begin
state start begin
when letter begin
send_letter (  "Opciók " )
end
when button or info begin
say_title( "Opciók ")
say( "Válassz az opciók közül  ")
say_reward("Sok sikert! :)")
local a = select (  "Teleportálás ", "Raktáram ", "EXP Nullázó ", "Mégse ")
if a == 4 then
return
end
if a == 1 then
say_title( "Teleportálás ")
say( "Válaszd ki, hova akarsz menni! ")
say_reward("Sok sikert utazó!")
local e = select ( "Fő faluk ", "Standard helyek ", "Event helyek ", "Kilépek ")
if e == 4 then
return
end
if e == 1 then
say_title( "Pontos hely kiválasztása ")
local f = select ( "Piros map1 ", "Piros map2 ", "Sárga map1 ", "Sárga map2 ", "Kék map1 ", "Kék map2 ", "Mégse ")
if f == 7 then
return
end
if f == 1 then
pc.warp(474300,954800)
end
if f == 2 then
pc.warp(353100,882900)
end
if f == 3 then
pc.warp(63800,166400)
end
if f == 4 then
pc.warp(145500,240000)
end
if f == 5 then
pc.warp(959900,269200)
end
if f == 6 then
pc.warp(863900,246000)
end
end
if e == 2 then
say_title( "Pontosítás ")
local g = select ( "Lélekbarlang ", "Erdők ", "Pók kazamata ", "Templom ", "További területek ", "Mégse ")
if g == 6 then
return
end
if g == 1 then
say_title( "Pontos hely kiválasztása ")
local h = select ( "Barlang1 ", "Barlang2 ", "Barlang2 vége ", "Mégse ")
if h == 4 then
return
end
if h == 1 then
pc.warp(1000,1207800)
end
if h == 2 then
pc.warp(241700,1274900)
end
if h == 3 then
pc.warp(180000,1220800)
end
end
if g == 2 then
say_title( "Pontos hely kiválasztása ")
local i = select ( "Szellemerdő  ",  "Szellem erdő vége ",  "Vörös erdő  ",  "Vörös erdő vége ", "Mégse ")
if i == 5 then
return
end
if i == 1 then
pc.warp(288700,5700)
end
if i == 2 then
pc.warp(288600,41500)
end
if i == 3 then
pc.warp(1119900,70800)
end
if i == 4 then
pc.warp(1120600,8700)
end
end
if g == 3 then
say_title( "Pontos hely kiválasztása ")
local j = select ( "Pók kazamata1 ", "Pók kazamata1 vége ", "Pók kazamata2 ", "Pók kazamata2 vége ", "Mégse ")
if j == 5 then
return
end
if j == 1 then
pc.warp(59900,496400)
end
if j == 2 then
pc.warp(90000,525400)
end
if j == 3 then
pc.warp(704000,463900)
end
if j == 4 then
pc.warp(704000,522600)
end
end
if g == 4 then
say_title( "Pontos hely kiválasztása ")
local k = select ( "Templom ", "Démontorony ", "Sárgatigris helye ", "Mégse ")
if k == 4 then
return
end
if k == 1 then
pc.warp(553600,143600)
end
if k == 2 then
pc.warp(591000,111000)
end
if k == 3 then
pc.warp(574100,95600)
end
end
if g == 5 then
say_title( "Pontos hely kiválasztása ")
local l = select ( "Orkföld ", "Jégföld ", "Sivatag ", "Tűzföld ", "Kígyórét ", "Óriások földje ", "Mégse ")
if l == 7 then
return
end
if l == 1 then
pc.warp(402100, 673900)
end
if l == 2 then
pc.warp(434200, 290600)
end
if l == 3 then
pc.warp(217800, 627200)
end
if l == 4 then
pc.warp(599400, 756300)
end
if l == 5 then
pc.warp(1059100,726800)
end
if l == 6 then
pc.warp(829200,763300)
end
end
end
if e == 3 then
say_title( "Pontos hely kiválasztása ")
local m = select ( "Esküvőmap ", "Mégse ")
if m == 2 then
return
end
if m == 1 then
pc.warp(819200,0)
end
end
end
if a == 2 then
say_title( "Raktáram ")
say( "Szeretnéd ki nyitni a raktáradat? ")
say_reward("Válassz!")
local c = select ( "Szeretném ", "Nem szeretném ")
if c == 2 then
return
end
game.open_safebox()
end
if a == 3 then
local j = select (  "Bekapcs-Kikapcs ", "Mégse ")
if j == 2 then
return
end
if j == 1 then
if pc.getqf("antiexp") == 0 then
pc.setqf("antiexp", 1)
chat("Anti-EXP aktviválva. Tapasztalati pontjaid másodpercenként nullázódnak!")
local at = pc.get_exp()
pc.give_exp2(-at)
timer("tapasztalat", 1)
elseif pc.getqf("antiexp") == 1 then
pc.setqf("antiexp", 0)
chat("Anti-EXP kikapcsolva.")
end
end
end
end

when tapasztalat.timer with pc.getqf("antiexp") == 1 begin
local at = pc.get_exp()
pc.give_exp2(-at)
timer("tapasztalat1", 1)
pc.setqf("antiexp", 1)
end

when tapasztalat1.timer with pc.getqf("antiexp") == 1 begin
local at = pc.get_exp()
pc.give_exp2(-at)
timer("tapasztalat", 1)
pc.setqf("antiexp", 1)
end

when login with pc.getqf("antiexp") == 1 begin
local at = pc.get_exp()
pc.give_exp2(-at)
timer("tapasztalat", 1)
pc.setqf("antiexp", 1)
end
end
end

annyit csinálj hogy átírod a quest nevét mert jelenleg a start beginben dekkol nem fog újra indulni

questen belül nem elég a quest neve ftp-n

quest lvl30_uj begin

például, vagy törlöd ezt a questet a player.quest táblából, vagy C lehetőség, másik karakterrel nézed meg

Idézetet írta: josikaaa Dátum 2018-05-03, 22:16:29
nem kötelező, csak felesleges belerakni egy pluszt kivéve ha sorozat küldetés, de ez alapján nem sorozat ezért felesleges a run begin
Pont h az üres start-tól lesz sorozat, mert ha nincs az, akkor beadja az összes küldit, így viszont csak akkor, ha az előzőt megcsinálta és az ráállította a folyamatot az új state-re.

2018-05-03, 22:24:21 #7 Utolsó szerkesztés: 2018-05-04, 07:49:30 Szerző: RealKorf
Ez a teszt így jó lett.
De az opciós ba nincs ilyen hiba.

Üzenet összefésülés: 2018-05-03, 22:30:11

Illetve tévedtem. Átneveztem az opciokat és így jó, de duplán teszi oda az üzenetet.

Üzenet összefésülés: 2018-05-04, 07:49:30

És úgy, hogy nem nyúltam hozzá, reggelre, megint csak a tekercse jelenik meg.
A teszt sem akar működni pár sor beszúrása után

quest lvl30_test4 begin
state start begin
when login or levelup with pc.get_level() >= 30 begin
set_state(information)
end
end

state information begin
when letter begin
send_letter("Lvl 30 - Gratuláció ")
end

when button or info begin
say_title("Gratulálunk!")
say("Elérted a 30. szintet, így megjutalmazunk téged, ")
say("néhány hasznos tárgyal!")
pc.give_item2(50512, 1)
pc.give_item2(71085, 50)
pc.give_item2(71084, 50)
end
end

state __complete begin
end
end