PHP Code:
quest regenbogenstein begin
state start begin
function BuildGrandMasterSkillList(job, group)
MASTER_SKILL_LEVEL = 20
GRAND_MASTER_SKILL_LEVEL = 30
local skill_list = special.active_skill_list[job+1][group]
local ret_vnum_list = {}
local ret_name_list = {}
-- test_chat(string.format("job=%d, group=%d", job, group))
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
-- test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
if skill_level >= MASTER_SKILL_LEVEL and skill_level < GRAND_MASTER_SKILL_LEVEL then
table.insert(ret_vnum_list, skill_vnum)
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
if name == nil then name=skill_vnum end
table.insert(ret_name_list, name)
end
end)
return {ret_vnum_list, ret_name_list}
--return {ret_vnum_list, ret_name_list}
end
when 50512.use begin
local regencount = pc.count_item(50512)
say_title("Regenbogenstein")
if pc.get_skill_group() == 0 then
say("Du hast keine Fertigkeiten "..pc.get_skill_group())
return
end
local result = regenbogenstein.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())
local vnum_list = result[1]
local name_list = result[2]
if table.getn(vnum_list) == 0 then
say("Du hast keine Fertigkeit auf der Meisterstufe!")
return
end
say("Mit dem Regenbogenstein kannst du eine Fertigkeit")
say("von der Meisterstufe auf die Großmeisterstufe")
say("setzen!")
say_reward("Bitte wähle eine Fertigkeit.")
say("")
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Schließen")
local s=select_table(menu_list)
if table.getn(menu_list) == s then
return
end
local skill_name=name_list[s]
local skill_vnum=vnum_list[s]
local skill_level = pc.get_skill_level(skill_vnum)
say_title("Regenbogenstein")
say("Möchtest du die Fertigkeit "..skill_name.."")
say("auf die Stufe Großmeister setzen?")
local s=select("Ja", "Schließen")
if s==2 then
return
end
if pc.count_item(50512) != regencount then
say_title("Regenbogenstein")
say("Du besitzt keinen Regenbogenstein!")
return
end
pc.remove_item(50512, 1)
pc.set_skill_level(skill_vnum, 30)
say_title("Regenbogenstein")
say("Die Fertigkeit "..skill_name.." wurde auf die Stufe")
say("Großmeister gesetzt!")
end
end
end