Was ist an der Quest bitte falsch?!

05/31/2013 15:38 .Leykas#1
PHP Code:
quest training_grandmaster_skill begin 
    state start begin 
        when 50513.
use with pc.get_level >= 65 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 
            
if pc.count_item(50513) != seelicount then 
                say
("Stfu Buguser!") 
                return 
            
end 
            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("training") 
                
say("eingibst.") 
                
local s=input() 
                if 
s!="training" 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("Melde dich bei der Projektleitung!") 
                    return 
                
end 
            end 
            
if pc.count_item(50513)>=1 then 
                pc
.remove_item("50513", 1) 
            else return 
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("%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 
Jemand ne Lsöung?
05/31/2013 15:40 Lord iRemix#2
Wie wär's, wenn du die Fehlermeldung postest oder sagst, was nicht klappt?
05/31/2013 15:43 .DerGerät#3
Auch an dich, bitte demnächst hier rein damit.

[Only registered and activated users can see links. Click Here To Register...]