Quest írás ezt hogyan kell meg írni? Elakadtam

Indította ddani700, 2019-02-28, 10:23:13

Sziasztok!

Szeretnék írni egy questet amiben könyveket lehet becserélni új könyvekre
Na most nálam mivel Franzi Sf-et használok pár alternatívát hoztam lére ami minket nem is zavar
viszont a Készség könyv láda az ad minden kasztra könyvet külön-külön
Ezeket szeretném hogy be lehessen cserélni ami nem szükséges a kasztodra

80202 Gyógy Sámány könyv
80203 Sárkány Sámán könyv
80204 Ijász Nindzsa könyv
80205 Tőr Nindzsa könyv
80206 Kard Sura könyv
80207 Mágikus Sura könyv
80208 Testi Harcos könyv
80209 Menta Harcos könyv


Csak az a részlet kell ahol bármelyikből van 3db azt vegye el és adjon helyire a kasztnak megfelelőt

Ennyi van meg a questből:
quest keszsegkonyv_bevalto begin
state start begin
when 20090.chat."Keszseg konyv cserelo" begin
say_title("Készség könyv cserélo")
say("")
say("Üdvözöllek! Van sok felesleges könyved?")
say("Szeretnéd beváltani a saját kasztodra?")
local valaszt=select("Igen", "Nem")
if valaszt==2 then
return
end
if valaszt==1 then
local valaszt2=select("Testi Harcos", "Kilépés")
if valaszt2==2 then
return
end
if valaszt2==1 then


Tudnátok segíteni? Előre is köszönöm! Remélem érthetően megtudtam fogalmazni mit is szeretnék :D

lehet van benne hiba, javítsd ki :D sajnos nem tudom tesztelni.
-- 80202 Gyógy Sámány könyv
-- 80203 Sárkány Sámán könyv
-- 80204 Ijász Nindzsa könyv
-- 80205 Tőr Nindzsa könyv
-- 80206 Kard Sura könyv
-- 80207 Mágikus Sura könyv
-- 80208 Testi Harcos könyv
-- 80209 Menta Harcos könyv
quest keszsegkonyv_bevalto begin
state start begin
function my_book_vnum()
local sgroup = pc.get_skill_group()
if pc.job == 3 and sgroup == 2 then return 80202 end
if pc.job == 3 and sgroup == 1 then return 80203 end
if pc.job == 1 and sgroup == 2 then return 80204 end
if pc.job == 1 and sgroup == 1 then return 80205 end
if pc.job == 2 and sgroup == 1 then return 80206 end
if pc.job == 2 and sgroup == 2 then return 80207 end
if pc.job == 0 and sgroup == 1 then return 80208 end
if pc.job == 0 and sgroup == 2 then return 80209 end
return false
end
function count_book()
local mennyiseg = 0
local vnum = 80202
while vnum <= 80209 do
if keszsegkonyv_bevalto.my_book_vnum(vnum) ~= vnum
if pc.count_item(vnum) > 0 then
mennyiseg = mennyiseg + pc.count_item(vnum)
end
end
vnum = vnum + 1
end
return mennyiseg
end
function remove_book(count)
local elvenni = count
local vnum = 80202
while vnum <= 80209 do
if elvenni <= 0 then
return true
end
if keszsegkonyv_bevalto.my_book_vnum(vnum) ~= vnum
if pc.count_item(vnum) > 0 then
if pc.count_item(vnum) >= elvenni then
pc.remove_item(vnum,elvenni)
return true
else
elvenni = elvenni - pc.count_item(vnum)
pc.remove_item(vnum,pc.count_item(vnum))
end
end
end
vnum = vnum + 1
end
return false
end
when 20090.chat."Keszseg konyv cserelo" begin
say_title("Készség könyv cserélo")
say("")
say("Üdvözöllek! Van sok felesleges könyved?")
say("Szeretnéd beváltani a saját kasztodra?")
local valaszt=select("Igen", "Nem")
if valaszt==2 then
return
end
if keszsegkonyv_bevalto.count_book() < 3 then
say("Nincs elég könyved. Három könyvért adhatok egyet.")
return
end
keszsegkonyv_bevalto.remove_book(3)
pc.give_item2(keszsegkonyv_bevalto.my_book_vnum())
end
end
end


"Az a baj a világgal, hogy a hülyék  mindenben holtbiztosak, az okosak meg tele vannak kételyekkel."
              Bertrand Russel