Hey, ich möchte eher nix kontrolliert haben, aber ich möchte etwas abgeändert haben:
Also ich möchte ne Seelenstein quest mit 100% erfolg haben.
Hier meine Quest:
wie gesagt, nur eine abänderung zu 100%. Bitte auch sagen wo man das abändert!
P.s: Wüsste sonst nicht ob ich da nen neuen tread machen solte. Wenns hier falsch ist dann bitte ich das zu löschen und mir bescheid zu geben das ich hier falsch bin. ;)
MFG TunE
Also ich möchte ne Seelenstein quest mit 100% erfolg haben.
Hier meine Quest:
PHP Code:
quest training_grandmaster_skill begin
state start begin
when 50513.use begin
say_title("Seelenstein")
if pc.get_skill_group() == 0 then
say("Du hast keine Skills"..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("Hiermit kannst du eine")
say("Fertigkeit perfektionieren.")
say("")
wait()
say_title("Seelenstein")
else
say("Du musst noch warten.")
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("Deine Fertigkeiten sind bereits perfekt!")
return
end
say("Wähle eine Fertigkeit aus.")
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-30)
test_chat("Deine Rangpunkte:"..cur_alignment)
test_chat("Benötigte Rangpunkte:"..need_alignment)
local title=string.format("%s Perfektionieren", skill_name, skill_level-30+1)
say_title(title)
say("Beim lesen des Seelensteins")
say("verlierst du Rangpunkte!")
say("")
if cur_alignment<-99999+need_alignment then
say_reward("Zu wenig Rangpunkte.")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigte Rangpunkte: %d -> %d", need_alignment, need_alignment*2))
say_reward("(®ö¤H¥H¤Uªº¸Ü, µ½´c*È®ø¯Ó2*¿)")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigte Rangpunkte:: %d", need_alignment))
say_reward("Zu wenige Rangpunkte")
else
say_reward(string.format("Benötigte Rangpunkte: %d", 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("%s ½T©w", title))
say("Es ist soweit!")
say("Um zu trainieren,")
say("gib bitte ein: Trainieren")
say("")
say("")
say_reward("Trainieren")
say("")
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
say_title(string.format("%s ", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("%s ist schon Perfekt", skill_name))
else
say(string.format("%s Erfolgreich gestiegen", skill_name, skill_level-50+9+9))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Verbrauchte Rangpunkte %d ", need_alignment))
say("")
else
say_title(string.format("%s ", title))
say("Das hat leider nicht geklappt.")
say("")
say_reward("Fehlgeschlagen!")
say("")
end
end
item.remove()
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
P.s: Wüsste sonst nicht ob ich da nen neuen tread machen solte. Wenns hier falsch ist dann bitte ich das zu löschen und mir bescheid zu geben das ich hier falsch bin. ;)
MFG TunE