kann mir jemand sagen, wie ich die training_grandmaster_skill.quest bearbeiten muss, dass wenn ein Seelenstein klappt nicht diese Schriftzeichen kommen ?
Hier die Quest:
PHP Code:
quest training_grandmaster_skill begin
state start begin
when 50513.use begin
say_title("Fertigkeitstraining des Großmeisters")
say ("Mit diesem Stein, erfüllt mit Seelen,")
say ("wirst du deine Fertigkeiten verbessern können.")
say("")
wait()
if pc.get_skill_group() == 0 then
say("§A¨S¦³¥ô¦ó¾·~."..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("Um mit dem Fertigkeitstraining des Großmeister")
--say("fortzufahren klicke auf 'WEITER'.")
--say("")
--wait()
--say_title("Fertigkeitstraining des Großmeister")
--else
--say("Du kannst heute nicht weiter trainieren,")
--say("außer du benutzt eine Exorzismus-Schriftrolle!")
--return
--end
--end
local result = training_grandmaster_skill.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("Fertigkeitstraining des Großmeister")
return
end
say("Wähle die zu trainierende Fertigkeit!")
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
if pc.count_item(50513)==0 then
say("Die magische Kraft der Seelen sind erloschen,")
say("da du den Stein verloren hast..")
say("")
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-30)
test_chat("²{¦bµ½´c*È: "..cur_alignment)
test_chat("»Ý*nµ½´c*È: "..need_alignment)
local title=string.format("%s Großmeisterstufe %d Training", skill_name, skill_level-30+1)
say_title(title)
say("")
if cur_alignment<-19000+need_alignment then
say_reward("Du hast nicht genügend Rangpunkte")
say_reward("für ein erneutes Training.")
return
end
if cur_alignment<0 then
say_reward(string.format("Du benötigst %d Rangpunkte -> %d", need_alignment, need_alignment*2))
say_reward("(Wenn du den Seelen bereit bist diese Rangpunkte zu opfern)")
say_reward("(drücke 'WEITER'.)")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Du benötigst %d Rangpunkte ", need_alignment))
say_reward("(²{¦b*×½mªº¸Ü, ·|¤U*°¨ì®ö¤H¥H¤U.)")
else
say_reward(string.format("Du benötigst %d Rangpunkte ", need_alignment))
end
say("")
local s=select("Weiter", "Abbrechen")
if s==2 then
return
end
if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(string.format("Bestätigen!", title))
say("Wenn du jetzt eine Großmeisterfertigkeit")
say("trainierst, könnten deine Rangpunkte unter")
say("den Durchschnittslevel fallen, da du bereits zu")
say("diesem Zeitpunkt nur wenige besitzt. Wenn du")
say("wirklich trainieren willst,")
say("gib in das Eingabefeld das Wort")
say_reward("Trainieren")
say("ein.")
say("")
say("Willst du nicht trainieren, drücke einfach")
say("die Taste 'ENTER'.")
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("[°ª¯Åµ¥¯Å]§Þ¯à*×½m¿ù»~: ¥ð®§¤¤")
--return
--end
--end
--pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
if need_alignment>0 then
if pc.learn_grand_master_skill(skill_vnum) then
pc.change_alignment(-need_alignment)
say_title(string.format("Fertigkeitstraining des Großmeister erfolgreich!", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("Fertigkeitstraining", skill_name))
else
say(string.format(skill_name, skill_level-30+1+1))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Du hast ein paar Rangpunkte verbraucht!"))
say("")
else
say_title(string.format("Großmeister Fertigkeitstraining fehlgeschlagen!", title))
say ("")
say_reward("Fehlgeschlagen!")
say("Du hast deine Fertigkeit nicht verbessern")
say("können")
say_reward("Du hast einige Rangpunkte verloren")
say_reward("und den Seelenstein verbraucht.")
say("")
pc.change_alignment(-number(need_alignment/3, need_alignment/2))
end
end
pc.removeitem("50513", 1)
end
function BuildGrandMasterSkillList(job, group)
GRAND_MASTER_SKILL_LEVEL = 30
PERFECT_MASTER_SKILL_LEVEL = 40
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 >= GRAND_MASTER_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}
--return {ret_vnum_list, ret_name_list}
end
end
end





