ich hoffe ihr könnt mir das problem sagen^^
Quest:
quest training_master_skill begin
state start begin
when 71123.use begin
say_title("Meister")
local seelicount = pc.count_item(71123)
if pc.get_skill_group() == 0 then
say("Du hast keine Fertigkeiten "..pc.get_skill_group())
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("Du hast eine Exo-Rolle Gelesen!")
say("Nun kannst du einen weiteren")
say("Blauen-Seelenstein lesen!")
say("")
wait()
say_title("Meister")
else
say("Du hast heute Bereits einen Blauen-Seelenstein 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 hast keine Fertigkeiten")
return
end
say("Fertigkeit Auswählen")
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 cur_alignment = pc.get_real_alignment()
local need_alignment = 1000+500*(skill_level-20)
test_chat("Momentaner Rang: "..cur_alignment)
test_chat("Benötigter Rang: "..need_alignment)
local title=string.format("%s auf Meister %d lesen", skill_name, skill_level-20+1)
if pc.count_item(50513) != seelicount then
say("Stfu Buguser!")
return
end
item.remove()
say_title(title)
say("Das lesen eines Blauen-Seelensteines")
say("kostet Rangpunke.")
say("")
if cur_alignment<-19000+need_alignment then
say_reward("Du hast zu wenig Rang!")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2))
say_reward("Beim klappen des Blauen-Seelensteins wird dir")
say_reward("das doppelte an Rangpunkten abgezoegn!")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigter Rang: %d", need_alignment))
say_reward("Beim klappen des Blauen-Seelensteins wird dir")
say_reward("das doppelte an Rangpunkten abgezoegn!")
else
say_reward(string.format("Benötigter Rang: %d", need_alignment))
end
say("")
local s=select("Lesen", "Abbrechen")
if s==2 then
return
end
if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(string.format("%s -Bestätigen", title))
say("Das Lesen eines Blauen-Seelensteines kostet Rang,")
say("wenn du diesen Blauen-Seelenstein ließt,")
say("kommst du in -Rang")
say("Bitte Bestätige das du diesen Blauen-Seelenstein")
say("wirklich lesen möchtest!")
say("")
say_reward("Bestätigen")
say("")
say("Bitte gebe 'Trainieren' ein!")
local s=input()
if s!="Trainieren" then
return
end
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
pc.remove_skill_book_no_delay()
else
say("Seelitest1")
return
end
end
pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
if need_alignment>0 then
if pc.learn_master_skill(skill_vnum) then
pc.change_alignment(-need_alignment)
say_title(string.format("%s -Erfolgreich", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("%s Seelitest2.", skill_name))
else
say(string.format("Dein Blauer-Seelenstein war Erfolgreich!", skill_name, skill_level-20+1+1))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Kosten an Rang: %d ", need_alignment))
say("")
else
say_title(string.format("%s -Fehlgeschlagen", title))
say("Dein Blauer-Seelenstein hat nicht geklappt.")
say("")
say_reward("Fehlgeschlagen!")
say("")
pc.change_alignment(-number(need_alignment/3, need_alignment/2))
end
end
end
function BuildMasterSkillList(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
end
end
Aber in V-Box kommt immer dieser fehler nach dem hochladen
Quote:
FUNKTION BuildMasterSkillList (job,group)
Calls undeclared function! :
pc.learn_master_skill
Abort trap (core dumped)
Error occured on compile training_master_skill.quest







