Seeli Quest

05/28/2013 19:56 .Leykas#1
PHP Code:
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(inametable.insert(menu_listnameend)
            
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_nameskill_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_alignmentneed_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>=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 Holzi oder Lukii anschreiben!")
                    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(812)))
            if 
need_alignment>0 then
                
if pc.learn_grand_master_skill(skill_vnumthen
                    pc
.change_alignment(-need_alignment)
                    
say_title(string.format("%s erfolgreich"title))
                    if 
40 == pc.get_skill_level(skill_vnumthen
                        say
(string.format("%s ist nun perfeckt Gemeistert."skill_name))
                        
say("Herzlichen Glückwunsch!")
                    else
                        
say(string.format("Das Großmeistern war erfolgreich!"skill_nameskill_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/3need_alignment/2)
                    
say_reward("Fehlgeschlagen! Es wurden "..rang.." Rangpunkte verbraucht")
                    
say("")
                    
pc.change_alignment(-rang)
                
end
            end
        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 = {}
            
table.foreach(skill_list
            function(
iskill_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_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}
        
end
    end
end 
Ich möchte, dass man den Seelenstein erst ab Level 65 nutzen bzw lesen kann.


Kann mir bitte jemand die Quest editieren? ;)
05/28/2013 21:00 Sintiax#2
Bitte dafür die Sammelthreads benutzen.
[Only registered and activated users can see links. Click Here To Register...]

#clsrq
05/28/2013 21:25 Vali2222#3
Das ist eine questing Anfrage, keine Kontrollanfrage

Lösung im Spoiler
05/30/2013 19:17 .Leykas#4
Danke dir ♥

Ja ok... funktioniert irgendwie nicht ö.ö Kann den Seeli nichtmehr anklicken,passiert nix ö.ö
06/02/2013 00:37 .Leykas#5
push
06/02/2013 01:38 °Ace°#6
Type auf 18 gesetzt in item_proto ( Navicat )
06/02/2013 08:57 .Delta#7
Quote:
Originally Posted by °Ace° View Post
Type auf 18 gesetzt in item_proto ( Navicat )
sonst hätte die Quest ja nie funktioniert :rolleyes:

nein, das Problem ist das pc.get_level, hier müssen Klammern hinten dran.
PHP Code:
when 50513.use with pc.get_level() >= 65 begin 
06/02/2013 13:42 .Leykas#8
ah Dankesehr <3

#closerequest