ich schreibe grad eine Quest die mit dem Item 70036 versucht Skills von M1 auf G1 zu lesen pro Stufe muss man 70036 benutzen. Sozusagen wie ein Seelenstein bloß für die M1 skills und ohne das Rangpunkte abgezogen werden.
die Quest:
PHP Code:
quest training_grandmaster_skill begin
state start begin
when 70036.use begin
say_title("Notiz")
if pc.get_skill_group() == 0 then
say("Du besitzt keine Fertigkeiten, die")
say("gemeistert werden können.")
return
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
say("Durch den gebrauch einer Exorzismuss-")
say("Schriftrolle kannst du einen weiteren")
say("Skill lesen!")
wait()
say_title("Notiz")
else
say("Du hast heute bereits eine Notiz gelesen!")
return
end
end
local result = training_master_skill.BuildMasterSkillList(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 besitzt keine Fertigkeiten, die")
say("gemeistert werden können.")
return
end
say("Welche Fertigkeit möchtest du trainieren?")
say("")
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Abbrechen")
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)
local title=string.format("%s auf G%d trainieren", skill_name, skill_level-20+1)
if skill_level-20+1==10 then
title=string.format("%s auf P trainieren", skill_name)
end
if get_time() < pc.getqf("next_time") then
if pc.is_skill_book_no_delay() then
pc.remove_skill_book_no_delay()
else
say("Bitte an die Admins wenden!")
return
end
end
pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
if pc.learn_master_skill(skill_vnum) then
say_title(string.format("%s erfolgreich", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("%s ist nun Gemeistert.", skill_name))
say("Herzlichen Glückwunsch!")
else
say(string.format("Das Meistern war erfolgreich!", skill_name, skill_level-20+1+1))
end
say("")
say_reward("Erfolgreich!")
say("")
end
function BuildMasterSkillList(job, group)
MASTER_SKILL_LEVEL = 20
GRAND_MASTER_SKILL_LEVEL = 29
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 >= 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}
end
end
end
Putty:
PHP Code:
WHEN : 70036.use
assertion failure : nested==0
Sonstiges/andereskillstyle.quest:88:Error occured on compile Sonstiges/andereskillstyle.quest






