Seelenstein Quest

11/27/2012 11:37 xMasi95#1
Hallo liebe com,
Suche die ganz normale Seelenstein Quest da die von Daroo bugs hat.

Mfg xMasi95
11/27/2012 11:49 Skyƒusioη#2
ADD mich in Skype.

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(inametable.insert(menu_listnameend)
        
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_nameskill_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_alignmentneed_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>=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(812)))

        if 
need_alignment>0 then
        
if pc.learn_grand_master_skill(skill_vnumthen
            pc
.change_alignment(-need_alignment)


            
say_title(string.format("Fertigkeitstraining des Großmeister erfolgreich!"title))
            if 
40 == pc.get_skill_level(skill_vnumthen
            say
(string.format("Fertigkeitstraining"skill_name))
            else
            
say(string.format(skill_nameskill_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/3need_alignment/2))
        
end
        end

        pc
.removeitem("50513"1)        
    
end
    
function BuildGrandMasterSkillList(jobgroup)
        
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"jobgroup))

        
table.foreach(skill_list
        function(
iskill_vnum
        
local skill_level pc.get_skill_level(skill_vnum)

        -- 
test_chat(string.format("[%d]=%d"skill_vnumskill_level))
        if 
skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level PERFECT_MASTER_SKILL_LEVEL then

            table
.insert(ret_vnum_listskill_vnum)
            
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
            if 
name == nil then name=skill_vnum end
            table
.insert(ret_name_listname)
        
end
        end
)
        return {
ret_vnum_listret_name_list}


        --return {
ret_vnum_listret_name_list}
    
end
    end
end