Érdekes hiba

Indította FloodX, 2017-06-26, 20:26:00

Sziasztok!

Beraktam ezt a questet, megírtam, hogy csak 3-szor tudja megtenni, a bónuszt meg is adja, de a szintem nem dobja vissza.

Quest:

quest bevalt  begin
state start begin
when 7850.chat."Örökös bónusz" begin
addimage(20, 12, "sgbanner.tga")
say ( "" )
say ( "" )
say_title ( "Örökös bónusz" )
say ( "" )
say ( "Üdvözöllek ifjú harcos!" )
say ( "Én adhatok neked örökös bónuszt, ha elérted" )
say ( "a 250-es szintet, cserébe a szinted nullázódik." )
say (locale . color_red .. "FIGYELEM! Mindezt csak háromszor teheted meg!" .. locale . color_red )
say(" ")
say (locale . NORMAL_COLOR .. "Szeretnéd a bónuszt?" .. locale . color_red )
say(" ")
local s = select ( "Szeretném" , "Nem szeretném" )
if s == 2 then
return
end
if s == 1 then
addimage(20, 12, "sgbanner.tga")
say ( "" )
say ( "" )
say_title ( "Örökös bónusz" )
say ( "" )
say("Biztosan megvan a megfelelő szinted?")
say ( "" )
wait()
end
if  pc.get_level()< 250 then
addimage(20, 12, "sgbanner.tga")
say ( "" )
say ( "" )
say_title ( "Örökös bónusz" )
say("")
say("Sajnálom, de nincs meg a 250-es szinted...")
say("")
else
addimage(20, 12, "sgbanner.tga")
say ( "" )
say ( "" )
say_title ( "Örökös bónusz" )
say("")
say (locale . color_green .. "Válassz egy bónuszt! A bónusz örökös!" .. locale . color_red )
say("")
lista = select("MAX TP +10000 ", "MAX MP +8000 ", "ERŐ +200 ")
if lista == 1 then
say (locale . color_red .. "Te a MAX TP +10000-et választottad!" .. locale . color_red )
say(" ")
say(" ")
megvesz1 = select("Kérem", "Mégse")
if megvesz1 == 2 then
return
elseif megvesz1 == 1 then
if pc.getqf("bevaltas") == 3 then
say (locale . color_red .. "Te már 3-szor választottál bónuszt!" .. locale . color_red )
return
else
say (locale . color_green .. "Sikeres vásárlás!" .. locale . color_red )
pc.setqf("bevaltas", pc.getqf("bevaltas")+1)
pc.set_level(5)
affect.add_collect(apply.MAX_HP, 10000, 60*60*24*365*60)
end
end
elseif lista == 2 then
say (locale . color_red .. "Te a MAX MP +8000-et választottad!" .. locale . color_red )
say(" ")
say(" ")
megvesz1 = select("Kérem", "Mégse")
if megvesz1 == 2 then
return
elseif megvesz1 == 1 then
if pc.getqf("bevaltas") == 3 then
say (locale . color_red .. "Te már 3-szor választottál bónuszt!" .. locale . color_red )
return
else
say (locale . color_green .. "Sikeres vásárlás!" .. locale . color_red )
pc.setqf("bevaltas", pc.getqf("bevaltas")+1)
pc.set_level(5)
affect.add_collect(apply.MAX_MP, 8000, 60*60*24*365*60)
end
end
elseif lista == 3 then
say (locale . color_red .. "Te az ERŐ +200-at választottad!" .. locale . color_red )
say(" ")
say(" ")
megvesz1 = select("Kérem", "Mégse")
if megvesz1 == 2 then
return
elseif megvesz1 == 1 then
if pc.getqf("bevaltas") == 3 then
say (locale . color_red .. "Te már 3-szor választottál bónuszt!" .. locale . color_red )
return
else
say (locale . color_green .. "Sikeres vásárlás!" .. locale . color_red )
pc.setqf("bevaltas", pc.getqf("bevaltas")+1)
pc.set_level(5)
affect.add_collect(5, 200, 60*60*24*365*60)
end
end
end
end
end
end
end

sh make.sh

Ha módosítasz a questen elég komolyan akkor érdemesebb a fenti parancsot használni, mert az object mappa a ./q-ra nem biztos hogy rendesen frissíti.

Ezt már próbáltam, és nem módosítottam rajta, egyből így raktam fel.

2017-06-26, 21:59:02 #3 Utolsó szerkesztés: 2017-06-26, 22:01:49 Szerző: TrueLev
A pc.set_level funkciód biztos működik visszafele?
Az elterjedt sima questlibes pc.give_exp2-t használó pc.set_level nem hinném hogy menne lefelé.

Idézetet írta: TrueLev Dátum 2017-06-26, 21:59:02
A pc.set_level funkciód biztos működik visszafele?
Az elterjedt sima questlibes pc.give_exp2-t használó pc.set_level nem hinném hogy menne lefelé.

Lefelé nem megy a szint adás.