Metin2 FBs stapelbar & lesbar machen
Hallo,
ich bin auf der Suche nach einer .quest in der ich die FBs lesen kann obwohl sie gestapelt sind. Sprich es sollte nach dem lesen immer nur eines aus dem Stapel verschinden.
Ich benutze momentan die Daroo files(beabsichtigt) in denen sich keine char_item.cpp befinden, wodurch ich glaube keine andere Möglichkeit habe, als dieses Problem mit einer Quest zu lösen. In der DB sind bereits alle FB auf den Type: 18 geändert (dadurch brauche jetzt jedoch keine Exos & Konzis mehr).
Meine Quest bis jetzt (ist Copy&Paste)
quest bookread begin
state start begin
function learnskill(skill)
local SkillLevel = pc.get_skill_level(skill)
if SkillLevel < 1 then
syschat("<System> Das kannst du nicht lesen.")
return
end
if SkillLevel < 20 then
syschat("<System> Diese Fertigkeit hast du noch nicht erlernt.")
return
end
if SkillLevel > 29 then
syschat("<System> Du hast diese Fertigkeit bereits gelernt.")
return
end
pc.set_skill_level(skill, SkillLevel+1)
syschat("<System> Du hast das Fertigkeitsbuch erfolgreich gelesen.")
pc.remove_item(item.get_vnum(), 1)
end
when 50401.use or 50402.use or 50403.use or 50404.use or 50405.use or
50416.use or 50417.use or 50418.use or 50419.use or 50420.use or
50431.use or 50432.use or 50433.use or 50434.use or 50435.use or
50446.use or 50447.use or 50448.use or 50449.use or 50450.use or
50461.use or 50462.use or 50463.use or 50464.use or 50465.use or 50466.use or
50476.use or 50477.use or 50478.use or 50479.use or 50480.use or 50481.use or
50491.use or 50492.use or 50493.use or 50494.use or 50495.use or 50496.use or
50506.use or 50507.use or 50508.use or 50509.use or 50510.use or 50511.use begin
bookread.learnskill(item.get_vnum()-50400)
end
--[[Führung]]--
when 50301.use or 50302.use or 50303.use begin
local book_tab = {20, 30, 40}
local skill = 121
local SkillLevel = pc.get_skill_level(skill)
local maxbook = book_tab[item.get_vnum()-50300]
if SkillLevel >= 40 then
syschat("<System> Das beherrschst diese Lehre bereits.")
return
end
if item.get_vnum() == 50302 or item.get_vnum() == 50303 then
local xtab = {20,30}
if SkillLevel < xtab[item.get_vnum()-50301] then
syschat("<System> Das kannst du nicht mit diesem Buch lernen.")
return
end
end
if SkillLevel >= maxbook then
syschat("<System> Das kannst du nicht mit diesem Buch lernen.")
return
end
pc.remove_item(item.get_vnum(), 1)
pc.set_skill_level(skill, SkillLevel+1)
syschat("<System> Du hast das Buch erfolgreich gelesen.")
end
--[[Sprachen]]--
when 50311.use or 50312.use or 50313.use begin
local skill = item.get_vnum()-50185
local SkillLevel = pc.get_skill_level(skill)
local blacklist = {50312,50311,50313}
if item.get_vnum() == blacklist[pc.get_empire()] then
syschat("<System> Du beherrschst deine eigene Sprache bereits.")
return
end
if SkillLevel >= 40 then
syschat("<System> Du beherrschst diese Sprache bereits.")
return
end
pc.remove_item(item.get_vnum(), 1)
pc.set_skill_level(skill, SkillLevel+1)
syschat("<System> Du hast das Buch erfolgreich gelesen.")
end
--[[Combo]]--
when 50304.use or 50305.use or 50306.use begin
local skill = 122
local SkillLevel = pc.get_skill_level(skill)
if SkillLevel >= 2 then
syschat("<System> Du beherrscht diese Lehre bereits.")
return
end
pc.remove_item(item.get_vnum(), 1)
pc.set_skill_level(skill, SkillLevel+1)
syschat("<System> Du hast das Buch erfolgreich gelesen.")
end
end
end
Wäre echt nett wenn jemand mir diesen Befehl dazufügen könnte.
Ich danke euch jetzt schon einmal.