Seelensteine

12/12/2013 19:02 Modai#1
Hey Leute,
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(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*
        
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 
Mfg Modai
12/13/2013 17:52 Modai#2
#push
12/14/2013 09:37 123snake123#3
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
("Du hast keine Fertigkeiten."..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("Momentaner Rang: "..cur_alignment)
        
test_chat("Benötigter Rang: "..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("Beim klappen des Seelensteins wird dir")
        
say_reward("das doppelte an Rangpunkten abgezoegn!")  
        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("Seelitest1")  
            --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