Hab mir gerade mal kurz 5 Minuten Zeit genommen und dir die Quest geschrieben, allerdings keinen Wert auf schöne Optik bzw. schöne Texte gelegt, also bitte die Texte nochmal überarbeiten. Sonst funktioniert die Quest aber einwandfrei.
Mit freundlichem Gruß,
.MeeK
Python
- quest seelenstein begin
- state start begin
- 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 = {}
- table.foreach(skill_list,
- function(i, skill_vnum)
- local skill_level = pc.get_skill_level(skill_vnum)
- 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}
- end
- when 50513.use begin
- if pc.get_skill_group() == 0 then
- say_title("Seelenstein")
- say("Du hast noch keine Lehre gewählt!")
- return
- end
- local result = seelenstein.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_title("Seelenstein")
- say("Du hast keinen Skill auf G")
- return
- end
- say_title("Seelenstein")
- say("Wähle einen Skill:")
- 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 Großmeister Fertigkeitstraining", skill_name, skill_level-30+1)
- if pc.count_item(50513) >= 1 then
- say_title(title)
- say_reward("Erfolgreich")
- if pc.get_skill_level(skill_vnum) == 40 then
- say("Herzlichen Glückwunsch! Du hast es geschafft.")
- say(string.format("%s ist nun eine Großmeister-Fertigkeit!", skill_name))
- say("Dies bedeutet, dass du diese Fertigkeit nun perfekt")
- say("beherrschst und nicht mehr weiter verbessern kannst.")
- pc.set_skill_level(skill_vnum, skill_level + 1)
- else
- say("Herzlichen Glückwunsch! Du hast es geschafft.")
- say("Durch das Training stieg die Fertigkeit")
- say(string.format("%sauf Level %s.",skill_name,skill_level-30+1+1))
- pc.set_skill_level(skill_vnum, skill_level + 1)
- end
- say_reward("Du hast dein Level erfolgreich gesteigert!")
- say()
- pc.remove_item(50513,1)
- else
- char_log(0, "BUG-USING 50513", pc.getname())
- end
- end
- end
- end