[QUEST]probléma (k)

Indította Crusad3r, 2014-05-22, 17:59:23

Üdvözlehelletem mindenkinek! :)

ebben a questben mi a hiba nem tudok rá jönni és már megörülök vagy egyáltalán jó-e így egy szimpla naapi küldetés leegyszerűsítve de mivel ilyet még nem csináltam teljesen tanácstalan vagyok és jól esne ha valaki segítene :)


quest daily_quest_mobkill begin
state start begin
when login or levelup with pc.get_level() >= szint begin
if get_global_time() > pc.getqf(tempo) then
set_state(info)
end
end
end

state info begin
when letter begin
send_letter(" Napi küldetés1 ")
end

when button or info begin
say_title(" Napi küldetés1 ")
say(" Üdvözöllek, " ..pc.get_name().. ".")
say("")
say("")
set_state(running)
end
end
state running begin

pc.setqf("done", 0)

local quota = {
mobmenny, mobmenny2, mobmeny3, mobmenny4, mobmenny5, mobbmenny6
}
local mobvnm = {
mobid1, mobid2, mobid3, mobid4, mobid5, mobid6
}
pc.setqf("qouta_to_kill", quota[math.random(1, 6)])
pc.setqf("mob_kill", mobvnm[math.random(1, 6)])

when letter begin
send_letter(" Napi küldetés Szörny ölés ")
end

when button or info begin
if pc.getqf(done) == 0 then
say_title(" Napi küldetés(szörny ölés) ")
say(" blablabla ")
say(" kekszkekszkex ")
say_reward("Ölj meg:"..quota_to_kill.. mob_name(pc.getqf(mob_kill)))
say_reward("a jutalmad egy keksz mert ügyes voltál ;)")
else
say_title("Napi küldetés jutalom")
say("Gratulálok"..pc.getname().."!")
say("teljesítetted a küldetést ezért megérdemled a jutalmat")
say_reward("Ajutalmad pedig egy keksz")
wait()
pc.give_item(keksz,1)
end

pc.setqf("tempo", get_global_time()+86400)
pc.delqf(mob_kill)
pc.delqf(quota_to_kill)
pc.delqf(done)
set_state(__COMPLETE__)

end

when pc.getqf(mob_kill).kill begin
pc.setqf("qouta_to_kill", (pc.getqf(quota_to_kill) -1)
if pc.getqf(quota_to_kill) == 0 then
pc.setqf(done, 1)
send_letter("Napiküldetés jutalom")
end
end
end

state __COMPLETE__ begin
when enter begin
q.done()
end
end
end


ezt írja(csatolmányban)

2014-05-22, 19:17:29 #1 Utolsó szerkesztés: 2014-05-22, 19:19:49 Szerző: Akria
Idézwhen login or levelup with pc.get_level() >= szint begin

nem adtál meg értéket


Idézstate running begin

         pc.setqf("done", 0)
hiányzik when


Idézwhen pc.getqf(mob_kill).kill begin

ilyet még nem láttam. valószínű ez se tetszik neki

http://pastebin.com/7r0jTqEb
az értékek meg lettek adva nem gyanús hogy a 25.sorra írja a hibát?
when elhanyagolható ha nincs mit oda írni elvileg
az egy működő parancs lehet mivel senki nem jelzett hibát rá ahonnan néztem :)

De azért köszi hogy válaszoltál értékelem ha meg kapom a helyes megfejtést természetesen a + karma is jár

2014-05-22, 22:14:42 #3 Utolsó szerkesztés: 2014-05-22, 22:20:40 Szerző: DvR
Probálgatom

Akkor dob ilyen hibaüzit, ha több a záró mint a nyitótag. Egyébként ilyen when-elhagyásokkal ebben a formában még nem találkoztam, viszont én when letter-höz szoktam rakni, kb ugyanazt csinálja, de legalább biztosan működik...

valójában nincs elhagyva van a state után when csak megelőzi őket egypár változó definíció de igaz talán ott jobb helye lesz kipróbálom az endeket meg ellenőrzöm köszönöm a témát addig nem zárom ameddig biztosan nem működik ;)

Úgy értettem... Viszont ez inkább a funkcionalitásra vonatkozik, azt nem hiszem, hogy magát a hibaüzit is orvosolná, bár ki tudja. Mindenesetre most fáradt vagyok jobban átrágni.

ja akkor bocsi nagyon késő van már nekem :) az endek ahogy látom megvannak :(

Milenne ha hallgatnál rám és Roxannera?

Írd be a state running után: when enter begin

2014-05-23, 16:48:56 #9 Utolsó szerkesztés: 2014-05-23, 18:06:04 Szerző: Ezion
Köszönöm szépen +-t adtam és örök hálám üldözzön mindkettőtöket :)