quest training_grandmaster_skill begin state start begin when 50513.use begin say_title("Seelenstein") local seelicount = pc.count_item(50513) if pc.get_skill_group() == 0 then say("Du besitzt keine Fertigkeiten, die") say("gegroßmeistert 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("Seelenstein lesen!") wait() say_title("Seelenstein") else say("Du hast heute bereits einen Seelenstein gelesen!") 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("Du besitzt keine Fertigkeiten, die") say("gegroßmeistert 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 cur_alignment = pc.get_real_alignment() local need_alignment = 1000+500*(skill_level-30) test_chat("Momentaner Rang: "..cur_alignment) test_chat("Benötigter Rang: "..need_alignment) local title=string.format("%s auf G%d trainieren", skill_name, skill_level-30+1) if skill_level-30+1==10 then title=string.format("%s auf P trainieren", skill_name) end pc.remove_item("50513", 1) say_title(title) say("Durch das Lesen von Seelensteinen müssen") say("dir als Zeichen des Opfers Rangpunkte") say("abgezogen werden.") say("") if cur_alignment<-19000+need_alignment then say_reward("Du hast zu wenig Rangpunkte!") return end if cur_alignment<0 then say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2)) say_reward("Beim erfolgreichen Einlesen des") say_reward("Seelensteines wird dir doppelt") say_reward("so viel Rangpunkte abgezogen.") need_alignment=need_alignment*2 elseif cur_alignment<need_alignment then say_reward(string.format("Benötigter Rang: %d", need_alignment)) say_reward("Beim erfolgreichen Einlesen des") say_reward("Seelensteines wird dir doppelt") say_reward("so viel Rangpunkte abgezogen.") 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 Seelensteines kostet Rang,") say("wenn du diesen Seelenstein ließt,") say("kommst du in den negativen Bereich.") say("Bitte Bestätige das du diesen Seelenstein") say("wirklich lesen möchtest! Das tust du indem") say("du in den Textfeld das Wort") say_reward("trainieren") say("eingibst.") local s=input() if s!="trainieren" then return end 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 need_alignment>0 and pc.count_item(50513)>0 then if pc.learn_grand_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 ist nun perfeckt Gemeistert.", skill_name)) say("Herzlichen Glückwunsch!") else say(string.format("Das Großmeistern war erfolgreich!", skill_name, skill_level-30+1+1)) end say("") say_reward("Erfolgreich!") say_reward(string.format("Es wurden %d Rangpunkte verbraucht", need_alignment)) say("") else say_title(string.format("%s fehlgeschlagen", title)) say("Das Großmeistern ist fehlgeschlagen.") say("") local rang = number(need_alignment/3, need_alignment/2) say_reward("Fehlgeschlagen! Es wurden "..rang.." Rangpunkte verbraucht") say("") pc.change_alignment(-rang) end end 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 = {} 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 end end
Seelenstein bot 07/09/2011 - Metin2 Private Server - 2 Replies Hallo suche ein Seelenstein bot für Edgmt2 brauche hilfe pls
Seelenstein Bug 10/13/2010 - Metin2 Private Server - 12 Replies Hi,
weiß jemand wie man den Seelibug fixxen kann?
Habe schon versucht ihn unhandelbar zu machen aber danach kann man ihn nicht mehr benutzen :o
Sonst jemand ne lösung?
Gruß.
Seelenstein 09/06/2009 - Metin2 Private Server - 3 Replies es gibt doch ein trick wo man seelensteine liest ohne aggro zu sein wie geht der?
Seelenstein 07/12/2009 - Metin2 - 2 Replies Hi hab ne Frage zum Seeli man droppt ihn ja neuerdings bei jedem Bossgegner .. droppt man ihn auch beim Felsenaffen? bei Wiki steht dass man ihn dort droppt aber ich habe schon ca 20 gekillt mit lvl 30 und dropp keinen . weiß einer ob man ihn dort droppt`?
Seelenstein Bug ² 03/25/2009 - Metin2 Guides & Templates - 22 Replies 1.Ihr macht Rechtsklick auf den Seelenstein.
2.Jetzt kommt ein Fenster wo man OK klicken muss , hier :
Klickt ihr auf OK und gleich danach auf I (inventar) und rechtsklick auf den seeli
(ihr habt rund 0,5- 1 sec Zeit zwischen den Fenstern)
3. Schon hat sich ein weiteres Seeli fenster geöffnet