quest perfect_pda begin
state start begin
when 50514.use begin
local result = perfect_pda.SearchSkill(pc.get_job(), pc.get_skill_group())
local vnum_list = result[1]
local name_list = result[2]
say_title ("PDA Perfetta")
say("Con questo oggetto potrai portare un'abilita'")
say("di livello superiore o uguale a 1 direttamente")
say("a maestro perfetto.[ENTER]")
if table.getn(vnum_list) == 0 then
say_reward ("Non hai abilita' da migliorare.[ENTER]")
return
end
wait()
say_title ("PDA Perfetta")
say("Scegli l'abilita' da migliorare:[ENTER]")
table.insert(name_list, "Annulla")
local s = select_table(name_list)
if s == table.getn(name_list) then
return
end
local skill_name = name_list[s]
local skill_vnum = vnum_list[s]
say_title ("PDA Perfetta")
say("Hai scelto: "..skill_name)
say("Sei sicuro di voler continuare?[ENTER]")
local a = select("Si","No")
if a == 2 then
return
end
say_title ("PDA Perfetta")
say (skill_name, " portata a maestro perfetto.[ENTER]")
pc.set_skill_level (skill_vnum, 40)
item.remove()
end
function SearchSkill(job, group)
MIN_SKILL_LEVEL = 1
PERFECT_MASTER_SKILL_LEVEL = 40
local skill_list = special.active_skill_list[job+1][group]
local ret_vnum_list = {}
local ret_name_list = {}
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
if skill_level >= MIN_SKILL_LEVEL and skill_level < PERFECT_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}
end
end
end