Sziasztok
Van 1 questem
quest glipkő begin
state start begin
when 9006.chat."glipkő " begin
say_title("Öregasszony:")
say("Hallo, ".. pc.get_name() .. ".")
say("")
wait()
say_title("Öregasszony:")
say("")
wait()
if pc.get_level() < 10 then
say_title("Öregasszony:")
say("Üdvözöllek kalandor!")
say("Én adhatok neked +10% Támadó sebességet.")
say_reward(" Ne feledd! Bárhol eshet Gliph Kö ")
else
say_title("Öregasszony:")
say("")
say_item_vnum(30178)
local jn = select("Beváltom", "Nem Szeretném beváltani")
if jn == 1 then
local diamant = pc.countitem("30178")
if diamant >= 10 then
affect.add_collect(apply.ATT_SPEED, 10, 60*60*24*365*60)
pc.remove_item(30178, 10)
else
say_title("Öregasszony:")
say("")
end
else
return
end
end
end
end
end
state __complete begin ----> Ezt szeretném bele rakni de akárhova rakom qc nél ezt írja.
metin2# cd /home/game/quest
metin2# ./qc glipko.quest
QUEST : glipkő
STATE : start
WHEN : 9006.chat ("glipkő ")
expecting 'when' or 'function'
glipko.quest:40:Abort (core dumped)
Ha valaki tudja hova kéne rakni hogy jó legyen megköszönöm :D
Szerintem Te magad sem tudod, hogy mit akarsz ezzel összehozni.
Be akarsz rakni egy új state-t, anélkül, hogy előtte létrehoztad volna?
A state-k alkalmazása röviden, tömören a következő:
Adott state-ben (legyen az most a "start" [és az azon belül befirkált when, stb. stb marhaságok után]) megadott utasítások legvégén adhatunk meg új state-t. Ha a set_state(stateneve)
utasítás után még megadunk funkciókat ugyan abba a state-be, azt cseszheted, mert nem fogja végrehajtani.
quest pelda begin
state start begin
when blablabla begin
*utasítások*
set_state(stateneve)
end
end
state stateneve begin
when blablabla begin
end
end
Ergo: Ha új state-re akarod rakni a játékost questen belül, akkor az utasítások végére kell írnod ezt a parancsot:
set_state(stateneve)
Aztán az adott when-t, valamint state-t lezárni, és a fent megadottal folytatni a questet:
state stateneve begin
Remélem sikerült felvilágosítanom Téged a dologgal kapcsolatban. ;D
igen értem köszi zárom