Újabb küldetés hiba.

Indította FloodX, 2017-06-19, 11:06:49

Érdekes. Megpróbáltam ugye, azt, hogy az ékezettel végződőkhöz szóközt raktam.
Most ez a probléma ./qc-nál:

syntax error : [string "hajtumegszerez"]:184: unexpected symbol near `state'
newkuldi.quest:297:Abort (core dumped)

QUEST:

quest kuldi1  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
local v=find_npc_by_vnum(9003)
if v!= 0 then target.vid("__TARGET__", v, "Vegyes")
end
send_letter("Segíts a vegyeskereskedőnek! ")
end

when button or info begin
say_title("A Vegyeskereskedő ")
say("A Vegyeskereskedő keres téged!")
say("Feladata van számodra, keresd fel.")
say("")
say_reward("Menj el a Vegyeskereskedőhöz.")
say("")
end
when __TARGET__.target.click or 9003.chat."Hajtű " begin
target.delete("__TARGET__")
----"123456789012345678901234567890123456789012345678900"|
say_title(mob_name(9003)..":")
say("Üdv kalandor!?")
say("Nos...")
say("Én vagyok a vegyeskereskedő ")
say("és segítségre lenne szükségem. ")
say("Elveszett a hajtűm, így nem tudok felkészülni ")
say("a vendégek fogadására.")
say("")
wait()
say_title(mob_name(9003)..":")
say("Nem régiben azt hallottam a faluban,")
say("hogy a Fegyver kereskedő tud róla valamit.")
say_reward("Arra kérnélek, hogy menj el hozzá,")
say_reward("és kérdezd meg!")
say("")
pc.setqf("var",0)
pc.setqf("hajtu",0)
pc.setqf("drink_drug",0)
wait()
set_skin(NOWINDOW)
set_state(fegyvker)
end
end

state fegyvker begin
when letter begin
local v=find_npc_by_vnum(9001)
if v!=0 then target.vid("__TARGET__", v, "Fegyverk")
end
send_letter("Keresd a fegyver kereskedőt ")
end
when button or info begin
say_title("Keresd a fegyver kereskedőt")
say("")
say_reward("A vegyeskereskedő nő tudni akarja, hova tűnt el")
say_reward("a hajtűje, amit még egy régi udvarlójától kapott.")
say("")
end

when __TARGET__.target.click or 9001.chat."Eltűnt hajtű " begin
target.delete("__TARGET__")
say_title(mob_name(9001)..":")
say("Üdvözöllek!")
---                                                   l
say("Óóóó. Hogy te még a hajtű miatt keresel?")
say("Biztos az a bolond vénasszony küldött...")
say("Még mikor én is olyan fess voltam, mint te,")
say("megtámadtak minket a szörnyek, gondoltam segítek")
say("neki elmenekülni, de későn jutott eszébe, hogy")
say("ottmaradt mindene.")
say("Hihetetlen, hogy számára ez a hajtű ilyen fontos a számára.")
say_reward("Úgy emlékszem, egy romboló vitte el!")
say_reward("Elteleportálni a Teleport mesternél tudsz!")
wait()
setskin(NOWINDOW)
set_state(hajtumegszerez)
end
end


state hajtumegszerez begin
when letter begin
local v=find_npc_by_vnum(9003)
if v!= 0 then target.vid("__TARGET__", v, "Vegyes")
end
send_letter("Hajtű visszaszerzése ")
end
when button or info begin
say_title("Hajtű visszaszerzése")
---                                                   l
say("A vegyeskereskedőnek nagy szüksége van a hajtűre!")
say("Menj az óriások földjére!")
say("Egyszerre csak egyet tudsz leadni, de többet is vihetsz magaddal!")
say("Megvizsgálja, és eldönti, hogy megfelelő-e a hajtű!")
say("Sok szerencsét a küldetéshez!")
say("")
say_item_vnum(30017)
say("")
end

when __TARGET__.target.click or 9003.chat."Hajtű " begin
target.delete("__TARGET__")
---                                                   l
if get_time() > pc.getqf("var") then
say_title(mob_name(9003)..":")
say("Hoztál nekem egyet? ")
say("Nagyon jó, hadd nézzem meg, ")
say("hogy ez az a hajtű.... ")
say("")
pc.remove_item(30017, 1)
pc.setqf("var",get_time()+1*1*1)
wait()

local pass_percent
if pc.getqf("drink_drug")==0 then
pass_percent=40
else
pass_percent=90
end

local s= number(1,100)
if s<= pass_percent then
   if pc.getqf("hajtu")< 1 then
local index=pc.getqf("hajtu")+1
pc.setqf("hajtu", index)
say_title(mob_name(9003)..":")
say("Ez az Orkfog nagyon jó minőségű!")
say("Köszönöm szépen, el is kezdem rajta a vizsgálatot.")
say("")
say(string.format("Hozz még: %d darabot.", 10-pc.getqf("hajtu")))
say("")
pc.setqf("drink_drug",0)
return
end
say_title(mob_name(9003)..":")
say("Ez az!")
say("5 év múlva újra nálam van.")
say_reward("Hogy lásd, milyen értékes volt ez nekem,")
say_reward("tetszőlegesen választhatsz egy prémium követ!")
wait()
say_title(mob_name(9003)..":")
lista = select("Profi Harc kő ", "Profi Kézsségkár kő ", "Profi Áttörés kő ", "Profi Krit kő ", "Profi Átlagoskárok kő ", "Profi Bölcsesség kő ", "Profi Védelem kő ", "Bezár")
if lista == 8 then
return
elseif lista == 1 then
say_item_vnum(100091)
say(" ")
say(" ")
megvesz1 = select("Megvesz", "Mégse")
if megvesz1 == 2 then
return
elseif megvesz1 == 1 then
if pc.getqf("kuldipont") < 0 then
say("Nincs elég Ent pontod.")
return
else
say("Sikeresen vásárlás.")
pc.setqf("kuldipont", pc.getqf("kuldipont")-0)
pc.give_item2(100091, 1)
end
end
elseif lista == 2 then
say_item_vnum(100121)
say(" ")
say(" ")
say(" ")
megvesz1 = select("Megvesz", "Mégse")
if megvesz1 == 2 then
return
elseif megvesz1 == 1 then
if pc.getqf("kuldipont") < 0 then
say("Nincs elég Ent pontod.")
return
else
say("Sikeresen vásárlás.")
pc.setqf("kuldipont", pc.getqf("kuldipont")-0)
pc.give_item2(100121, 1)
end
end
elseif lista == 3 then
say_item_vnum(100141)
say(" ")
say(" ")
megvesz1 = select("Megvesz", "Mégse")
if megvesz1 == 2 then
return
elseif megvesz1 == 1 then
if pc.getqf("kuldipont") < 0 then
say("Nincs elég Ent pontod.")
return
else
say("Sikeresen vásárlás.")
pc.setqf("kuldipont", pc.getqf("kuldipont")-0)
pc.give_item2(100141, 1)
end
end
elseif lista == 4 then
say_item_vnum(100131)
say(" ")
say(" ")
megvesz1 = select("Megvesz", "Mégse")
if megvesz1 == 2 then
return
elseif megvesz1 == 1 then
if pc.getqf("kuldipont") < 0 then
say("Nincs elég Ent pontod.")
return
else
say("Sikeresen vásárlás.")
pc.setqf("kuldipont", pc.getqf("kuldipont")-0)
pc.give_item2(100131, 1)
end
end
elseif lista == 5 then
say_item_vnum(100111)
say(" ")
say(" ")
megvesz1 = select("Megvesz", "Mégse")
if megvesz1 == 2 then
return
elseif megvesz1 == 1 then
if pc.getqf("kuldipont") < 0 then
say("Nincs elég Ent pontod.")
return
else
say("Sikeresen vásárlás.")
pc.setqf("kuldipont", pc.getqf("kuldipont")-0)
pc.give_item2(100111, 1)
end
end
elseif lista == 6 then
say_item_vnum(100081)
say(" ")
say(" ")
megvesz1 = select("Megvesz", "Mégse")
if megvesz1 == 2 then
return
elseif megvesz1 == 1 then
if pc.getqf("kuldipont") < 0 then
say("Nincs elég Ent pontod.")
return
else
say("Sikeresen vásárlás.")
pc.setqf("kuldipont", pc.getqf("kuldipont")-0)
pc.give_item2(100081, 1)
end
end
elseif lista == 7 then
say_item_vnum(100101)
say(" ")
say(" ")
megvesz1 = select("Megvesz", "Mégse")
if megvesz1 == 2 then
return
elseif megvesz1 == 1 then
if pc.getqf("kuldipont") < 0 then
say("Nincs elég Ent pontod.")
return
else
say("Sikeresen vásárlás.")
pc.setqf("kuldipont", pc.getqf("kuldipont")-0)
pc.give_item2(100101, 1)
end
end
pc.setqf("hajtu",0)
pc.setqf("drink_drug",0)
pc.setqf("var",0)
pc.setqf("kuldipont", pc.getqf("kuldipont")+1)
wait()
set_skin(NOWINDOW)
set_state(__complete__)
return
else
say_title(mob_name(9003)..":")
say("Sajnálom, de ez nem az enyém volt...")
say("Kérlek keresd tovább!")
pc.setqf("drink_drug",0)
return
end
else
say_title(mob_name(9003)..":")
say("Sajnálom, de a vizsgálat még tart,")
say("gyere vissza egy kicsit később.")
say("")
return
end
end

state __complete__ begin
end
end

Le maradt egy S betű a 'state' elől.


Ja nem hülye vagyok. Szerintem a hajtű ű betujevel van baja. Cseréld ki u ra

Nem, nem ez a probléma.

2017-06-21, 12:44:48 #5 Utolsó szerkesztés: 2017-06-21, 12:52:08 Szerző: KOCZKAHUN
Szerintem a state hajtumegszerez részben van a hiba. Elég nagy kavarodás van ott az if-else-elseif és return parancsokkal. Én újraírnám a helyedben azt az egész state-et, vagy esetleg több state-re különbontanám. Eléggé össze-vissza van minden. Kb. addig jó amíg az eredeti quest (bioszküldi) tart.

Ui: Mellesleg, ha a biosz küldit alakítottad át, mert formára olyan, akkor ne felejtsd el kiszedni belőle, hogy "Ez az Orkfog jó minőségű" ;)

Kezdd újra, mert ez olyan össze-vissza hányt kód, hogy katyvasz az egész.
Skype:Csedwik