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羥eisters") 
           
say ("Mit diesem Stein, erf�llt mit Seelen,") 
           
say ("wirst du deine Fertigkeiten verbessern k霵nen.") 
        
say("") 
        
wait() 
        if 
pc.get_skill_group() == 0 then 
        say
("你沒有任何職業."..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羥eister") 
            --
say("fortzufahren klicke auf 'WEITER'.") 
            --
say("") 
            --
wait() 
            --
say_title("Fertigkeitstraining des Gro羥eister") 
        --else 
            --
say("Du kannst heute nicht weiter trainieren,") 
            --
say("au絽r 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羥eister") 
        return 
        
end 

        say
("W鄣le die zu trainierende Fertigkeit!") 
        
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 
            
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("現在善惡*�: "..cur_alignment) 
        
test_chat("需*n善惡*�: "..need_alignment) 

        
local title=string.format("%s Gro羥eisterstufe %d Training", skill_name, skill_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飆igst %d Rangpunkte -> %d", need_alignment, need_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飆igst %d Rangpunkte ", need_alignment)) 
        
say_reward("(現在*袙m的話, 會下*馬鴟鬗H以下.)") 
        else 
        
say_reward(string.format("Du ben飆igst %d Rangpunkte ", 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("Best酹igen!", title)) 
        
say("Wenn du jetzt eine Gro羥eisterfertigkeit") 
        
say("trainierst, k霵nten 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(8, 12))) 

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


            
say_title(string.format("Fertigkeitstraining des Gro羥eister erfolgreich!", title)) 
            if 
40 == pc.get_skill_level(skill_vnum) then 
            say
(string.format("Fertigkeitstraining", skill_name)) 
            else 
            
say(string.format(skill_name, skill_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羥eister Fertigkeitstraining fehlgeschlagen!", title)) 
            
say ("") 
            
say_reward("Fehlgeschlagen!") 
            
say("Du hast deine Fertigkeit nicht verbessern") 
            
say("k霵nen") 
            
say_reward("Du hast einige Rangpunkte verloren") 
            
say_reward("und den Seelenstein verbraucht.") 
            
say("") 
            
pc.change_alignment(-number(need_alignment/3, need_alignment/2)) 
        
end 
        end 

        pc
.removeitem("50513", 1)         
    
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 
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羥eisters")  
           
say ("Mit diesem Stein, erf�llt mit Seelen,")  
           
say ("wirst du deine Fertigkeiten verbessern k霵nen.")  
        
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羥eister")  
            --
say("fortzufahren klicke auf 'WEITER'.")  
            --
say("")  
            --
wait()  
            --
say_title("Fertigkeitstraining des Gro羥eister")  
        --else  
            --
say("Du kannst heute nicht weiter trainieren,")  
            --
say("au絽r 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羥eister")  
        return  
        
end  

        say
("W鄣le die zu trainierende Fertigkeit!")  
        
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  
            
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飆igter Rang: "..need_alignment) 

        
local title=string.format("%s Gro羥eisterstufe %d Training", skill_name, skill_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飆igst %d Rangpunkte -> %d", need_alignment, need_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飆igst %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飆igst %d Rangpunkte ", 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("Best酹igen!", title))  
        
say("Wenn du jetzt eine Gro羥eisterfertigkeit")  
        
say("trainierst, k霵nten 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(8, 12)))  

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


            
say_title(string.format("Fertigkeitstraining des Gro羥eister erfolgreich!", title))  
            if 
40 == pc.get_skill_level(skill_vnum) then  
            say
(string.format("Fertigkeitstraining", skill_name))  
            else  
            
say(string.format(skill_name, skill_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羥eister Fertigkeitstraining fehlgeschlagen!", title))  
            
say ("")  
            
say_reward("Fehlgeschlagen!")  
            
say("Du hast deine Fertigkeit nicht verbessern")  
            
say("k霵nen")  
            
say_reward("Du hast einige Rangpunkte verloren")  
            
say_reward("und den Seelenstein verbraucht.")  
            
say("")  
            
pc.change_alignment(-number(need_alignment/3, need_alignment/2))  
        
end  
        end  

        pc
.removeitem("50513", 1)          
    
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