[SERVICE] Die Questkontrolle

04/23/2012 16:13 Fear *_*#5581
Sollte so funken aber ist bissel komisch aber deine Sache :D

PHP Code:
quest Message begin 
    state start begin 
        when login begin 
            timer
("warten"60*60*1)
            
chat("~~~~Magari-Fresh to play ~~~~")
            
chat("Meldet Bug's bitte dem ServerChef !! >>>[SA]Joshi<<<")
        
end
        
        when warten
.timer begin
            timer
("warten1"60*60*2)
            
chat("~~~~Magari-Fresh to play ~~~~")
            
chat("Meldet Bug's bitte dem ServerChef !! >>>[SA]Joshi<<<")
        
end
        
        when warten1
.timer begin
            chat
("Das Magari2-Team fragt nie nach euren Accountdaten")
            
chat("Wenn ihr angeschreiben werdet und jemand fragt danach")
            
chat("gebt diese nicht raus und meldet es einen Magari2TeamMitglied!")
            
timer("warten2"60*60*3)
        
end
        
        when warten2
.timer begin
            chat
("~~~~Magari-Fresh to play ~~~~")
            
chat("Homepage: www.magari2.homepage.lc")
        
end
    end
 end 
04/23/2012 16:39 .Shiraka™#5582
d
Quote:
Originally Posted by .Shiraka™ View Post


wo liegt der fehler? >.<
da wo die sternchen sind, ist eigentlich meine story die habe ich aber mal rausgenommen :)
bitte mal drüber schauen ://
04/23/2012 18:53 Ytura#5583
Es ist ne 1x1 Map, sozusagen Run-Map.

Wenn man 3x Kaiserfelsen Killt sollte man eig an eine Insel geportet werden (gleiche Map)

Aber wenn man den Mob bzw Stein 8023 killt 3x passiert einfach nichts

PHP Code:
quest xmapx begin
    state start begin
        when 8023.kill begin
            local count 
pc.getqf("count") + 1
            
if count 3 then
                pc
.setqf("count"count)
                
chat("Du hast den "..count..". Metin zerstört!")
            else
                
pc.delqf("count")
                
chat("Du hast es geschafft!")
                
pc.warp_local(5551980019800)        
            
end
        end
    end
end 
04/23/2012 19:45 Fear *_*#5584
Versuchs ma so, musst natürlich mit Koordis und Index anpassen:

PHP Code:
quest xmapx begin 
    state start begin
        when login with pc
.get_map_index() == DEININDEX begin
            pc
.setqf("count"0)
        
end
        when 8023.kill begin 
            pc
.setqf("count"pc.getqf("count")+1)
            if 
pc.getqf("count") < 3 then
                chat
("Du hast den "..pc.getqf("count")..". Metin zerstört!"
            else 
                
chat("Du hast es geschafft!"
                
d.new_jump(INDEXKoordisKoordis)       
            
end 
        end 
    end 
end 
04/23/2012 20:38 Ytura#5585
Danke <3

Direkt nächstes :awesome:

Wenn man auf den NPC klickt passiert nichts!
Rank:5
Type1:
on_click:2
PHP Code:
quest shops begin 
    state start begin 
        when 20094.chat
."Run Map ab Lv. 95" begin
            
if pc.get_level() < 95 then
                say
("Du bist noch nicht Level 95. Kommt erst")
                
say("wenn du 95 bist.")
            else
            
say("Du möchtest also nun einen Run machen?")
            
local a select("Ja, Los!""Nein, noch nicht"
            if 
== 1 then
                pc
.warp(1412900,1413300
            elseif 
== 2 then
                
return
            
end
        end 
        when 20094.chat
."Level & Farm Map ab Lv. 65" begin
            
if pc.get_level() < 65 then
                say
("Du bist noch nicht Level 65. Komme erst")
                
say("wenn du 65 bist.")
            else
            
say("Hallo grosser Spieler!"
            
say("Dich wird grosses erwarten auf dieser Map"
            
say("unglaubliche starke Monster versuchen dich zu besiegen"
            
say("Werden sie es schaffen?"
            
say("Geh Los und besiege sie!"
            
local b select("Ja, hier""Nein, noch nicht")
            if 
== 1 then
                pc
.warp(2642200,2693700
            elseif 
== 2 then
                
return
            
end
        end 
        when 20094.chat
."Devils Catabomb" begin
            
if pc.get_level() >= 115
                say
("Du bist noch nicht Level 115. Komme")
                
say("erst, wennn du 115 bist.")
            else
            
say("Die DC kommt bald!"
            
local c select("Ja, hier""Nein, noch nicht")
            if 
== 1 then
                pc
.warp(xxxxx00,xxx00)
            elseif 
== 2 then
                
return
            
end 
        end 
    end 
end 
04/23/2012 20:57 Fear *_*#5586
Einrückung an die Macht!!, xD Spaß musst ma aufpassen, überall hat ein End gefehlt und schau auch ma was für fehler deine Server dir anzeigt beim make.sh :D

PHP Code:
quest shops begin  
    state start begin  
        when 20094.chat
."Run Map ab Lv. 95" begin 
            
if pc.get_level() < 95 then 
                say
("Du bist noch nicht Level 95. Kommt erst"
                
say("wenn du 95 bist."
            else 
                
say("Du möchtest also nun einen Run machen?"
                
local a select("Ja, Los!""Nein, noch nicht")  
                if 
== 1 then 
                    pc
.warp(1412900,1413300)  
                elseif 
== 2 then 
                    
return 
                
end 
            end  
        end
        when 20094.chat
."Level & Farm Map ab Lv. 65" begin 
            
if pc.get_level() < 65 then 
                say
("Du bist noch nicht Level 65. Komme erst"
                
say("wenn du 65 bist."
            else 
                
say("Hallo grosser Spieler!")  
                
say("Dich wird grosses erwarten auf dieser Map")  
                
say("unglaubliche starke Monster versuchen dich zu besiegen")  
                
say("Werden sie es schaffen?")  
                
say("Geh Los und besiege sie!")  
                
local b select("Ja, hier""Nein, noch nicht"
                if 
== 1 then 
                    pc
.warp(2642200,2693700)  
                elseif 
== 2 then 
                    
return 
                
end 
            end  
        end
        when 20094.chat
."Devils Catabomb" begin 
            
if pc.get_level() >= 115 
                say
("Du bist noch nicht Level 115. Komme"
                
say("erst, wennn du 115 bist."
            else 
                
say("Die DC kommt bald!")  
                
local c select("Ja, hier""Nein, noch nicht"
                if 
== 1 then 
                    pc
.warp(xxxxx00,xxx00
                elseif 
== 2 then 
                    
return 
                
end  
            end  
        end  
    end 
end 
04/23/2012 21:05 Ytura#5587
Ups :X
Make.sh sagt mir gar nichts ..

Geht irgendwie immer noch nicht^^
04/23/2012 21:14 Fear *_*#5588
Das gibts doch net :D, haste make.sh stumm gemacht xD

Versuchs ma so:

PHP Code:
quest shops begin   
    state start begin
        when login 
or levelup with pc.level >0 begin
            set_state
(warpen)
        
end
    end
    state warpen begin
        when 20094.chat
."Run Map ab Lv. 95" begin  
            
if pc.level() < 95 then  
                say
("Du bist noch nicht Level 95. Kommt erst")  
                
say("wenn du 95 bist.")  
            else  
                
say("Du möchtest also nun einen Run machen?")  
                
local a select("Ja, Los!""Nein, noch nicht")   
                if 
== 1 then  
                    pc
.warp(1412900,1413300)   
                elseif 
== 2 then  
                    
return  
                
end  
            end   
        end 
        when 20094.chat
."Level & Farm Map ab Lv. 65" begin  
            
if pc.level() < 65 then  
                say
("Du bist noch nicht Level 65. Komme erst")  
                
say("wenn du 65 bist.")  
            else  
                
say("Hallo grosser Spieler!")   
                
say("Dich wird grosses erwarten auf dieser Map")   
                
say("unglaubliche starke Monster versuchen dich zu besiegen")   
                
say("Werden sie es schaffen?")   
                
say("Geh Los und besiege sie!")   
                
local b select("Ja, hier""Nein, noch nicht")  
                if 
== 1 then  
                    pc
.warp(2642200,2693700)   
                elseif 
== 2 then  
                    
return  
                
end  
            end   
        end 
        when 20094.chat
."Devils Catabomb" begin  
            
if pc.level() >= 115  
                say
("Du bist noch nicht Level 115. Komme")  
                
say("erst, wennn du 115 bist.")  
            else  
                
say("Die DC kommt bald!")   
                
local c select("Ja, hier""Nein, noch nicht")  
                if 
== 1 then  
                    pc
.warp(0000000000)  
                elseif 
== 2 then  
                    
return  
                
end   
            end   
        end   
    end  
end 
04/23/2012 21:17 Ytura#5589
Geht auch nicht :(
Beim Quest neu Laden keinen Fehler..
Syserr - Leer
Npc nicht anklickbar, was ich überhaupt nicht verstehe <.<
04/23/2012 21:23 Fear *_*#5590
Versuch das ganze mal mit dem npc 9009 das ist Fischer da funkt immer alles xDD
04/23/2012 21:25 Ytura#5591
Also jetzt habe ich nochmal alles fein gelöscht und so..
Aufeinmal krieg ich nen Fehler ;O


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

Habe alle varianten durchprobiert, überall ein Fehler..
04/23/2012 21:28 xllMethoXx#5592
PHP Code:
quest shops begin
    state start begin
        when 20094.chat
."Boss Map ab Lv. 95" with pc.get_level() <= 95 begin
            say
("Ich porte dich dann nun auf die Boss Map!")
            if 
select("Ja, Los!""Nein, noch nicht") == 1 then
            pc
.warp(1412900,1413300)
            
end
        end
        when 20094.chat
."Level & Farm Map ab Lv. 65" with pc.get_level() <= 65 begin
            say
("Hallo grosser Spieler!")
            
say("Dich wird grosses erwarten auf dieser Map")
            
say("unglaubliche starke Monster versuchen dich zu besiegen")
            
say("Werden sie es schaffen?")
            
say("Geh Los und besiege sie!")
            if 
select("Ja, hier""Nein, noch nicht") == 1 then
            pc
.warp(2642200,2693700)
            
end
        end
            when 20087.chat
."Devils Catabomb" with pc.get_level() <= 115 begin
            say
("Die DC kommt bald!")
            if 
select("Ja, hier""Nein, noch nicht") == 1 then
            pc
.warp(xxxxx00,xxx00)
            
end
        end
    end
end 
Versuchs mal so^^
04/23/2012 21:30 Fear *_*#5593
Benenn die quest ma um und lad sie neu hoch und trag sie neu in die quest list ein und geb ihr 777 Rechte
04/23/2012 22:59 xllMethoXx#5594
PHP Code:
quest Biologen  begin
    state start begin
        when login 
or levelup with pc.get_level() >=92  begin
            set_state
(information)
        
end    
    end

    state information begin
        when letter begin
            local v 
find_npc_by_vnum(20091)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Quest")
            
end
            send_letter
("Seon-Pyeongs Forschung")
        
end

        when button 
or info begin
            say_title
("Seon-Pyeongs Forschung")
            
say("")
            
say("Seon-Pyeong sucht dich.")
            
say("Er wird in manchen Kreisen auch ")
            
say("OT-Sura genannt")
        
end

        when __TARGET__
.target.click or
            
20091.chat."Quest" begin
            target
.delete("__TARGET__")
            
say("Seon-Pyeong:")
            ---                                                   
l
            say
("Hallo "..pc.get_name()..",")
            
say("Ich brauche deine Hilfe")
            
say("um meine Forschung fortzuführen.")
            
say("Du musst mir 10")
            
say("Juwel der Missgunst bringen")
            
say("")
            
say("")    
            
set_state(go_to_disciple)
        
end
    end

    state go_to_disciple begin
        when letter begin
            send_letter
("Auftrag von Seon-Pyeong")

        
end
        when button 
or info begin
            say_title
("Quest")
            ---                                                   
l
            say
("")
            
say("Seon-Pyeong gab euch den Auftrag")
            
say("10 Juwel der Missgunst zu sammeln!")
            
say("Das Item bekommt ihr von Unterwelt-Eisgolem und Unterwelt-Eismann.")
            
say("Viel Glueck!")
            
say("")
            
say_item_vnum(30251)
            
say_reward("   Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
            
say("")
        
end
        
        when 1137.kill 
or 1135.kill begin
            
if pc.count_item(30251)<10-pc.getqf("collect_count"then
                pc
.give_item2(302511)
            
end
        end
        when 20091.chat
."Forschung(1)" with pc.count_item(30251) >0   begin
            say
("Einen Moment!")
                ---                                                   
l
            say
("Ich werde das Item")
            
say("schnell mal ueberpruefen.")
            
say("Hoffentlich klappt alles!")
            
say("")
            
pc.remove_item(302511)
            
wait()
            if 
pc.getqf("collect_count")< 9 then
                local index 
pc.getqf("collect_count")+
                pc
.setqf("collect_count",index)
                
say("Seon-Pyeong:")
                
say("Perfekt! Das Item ist in Ordnung")
                
say("Du hast bis jetzt ".." "..10-pc.getqf("collect_count").. " abgegeben!")
                
say("Bring mir die restlichen!")
                
say("")
                return
                
end
            say
("Seon-Pyeong:")
            
say("Yuhu! Du hast mir")
            
say("alles gebracht!")
            
say("Dafür werde ich dich wie versprochen belohnen!")
            
wait()
            
say("Welche Belohnung möchtest du?")
            
local s select ("1100 TP""140 Verteidigung""60 Angriffswert")
            
            if 
== 3 then
                say_reward
("Du erhälst 60 Angriffswert.")
                
affect.add_collect_point(POINT_ATT_BONUS,60,60*60*24*365*60)
            
end
            
if == 2 then
                say_reward
("Du erhälst 140 Verteidigung.")
                
affect.add_collect(apply.DEF_GRADE_BONUS,140,60*60*24*365*60)
            
end
            
if == 1 then
                say_reward
("Du erhälst 1100 TP.")
                
affect.add_collect(apply.TP_GRADE_Bonus,1100,60*60*24*365*60)
            
end
            
            clear_letter
()


            return
        
end    
    end
end 
Man kann die Quest immer wieder machen
04/23/2012 23:12 .NighT™#5595
Quote:
Originally Posted by αη∂яєу *__[xllMethoXx]__* View Post
PHP Code:
quest Biologen  begin
    state start begin
        when login 
or levelup with pc.get_level() >=92  begin
            set_state
(information)
        
end    
    end

    state information begin
        when letter begin
            local v 
find_npc_by_vnum(20091)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Quest")
            
end
            send_letter
("Seon-Pyeongs Forschung")
        
end

        when button 
or info begin
            say_title
("Seon-Pyeongs Forschung")
            
say("")
            
say("Seon-Pyeong sucht dich.")
            
say("Er wird in manchen Kreisen auch ")
            
say("OT-Sura genannt")
        
end

        when __TARGET__
.target.click or
            
20091.chat."Quest" begin
            target
.delete("__TARGET__")
            
say("Seon-Pyeong:")
            ---                                                   
l
            say
("Hallo "..pc.get_name()..",")
            
say("Ich brauche deine Hilfe")
            
say("um meine Forschung fortzuführen.")
            
say("Du musst mir 10")
            
say("Juwel der Missgunst bringen")
            
say("")
            
say("")    
            
set_state(go_to_disciple)
        
end
    end

    state go_to_disciple begin
        when letter begin
            send_letter
("Auftrag von Seon-Pyeong")

        
end
        when button 
or info begin
            say_title
("Quest")
            ---                                                   
l
            say
("")
            
say("Seon-Pyeong gab euch den Auftrag")
            
say("10 Juwel der Missgunst zu sammeln!")
            
say("Das Item bekommt ihr von Unterwelt-Eisgolem und Unterwelt-Eismann.")
            
say("Viel Glueck!")
            
say("")
            
say_item_vnum(30251)
            
say_reward("   Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
            
say("")
        
end
        
        when 1137.kill 
or 1135.kill begin
            
if pc.count_item(30251)<10-pc.getqf("collect_count"then
                pc
.give_item2(302511)
            
end
        end
        when 20091.chat
."Forschung(1)" with pc.count_item(30251) >0   begin
            say
("Einen Moment!")
                ---                                                   
l
            say
("Ich werde das Item")
            
say("schnell mal ueberpruefen.")
            
say("Hoffentlich klappt alles!")
            
say("")
            
pc.remove_item(302511)
            
wait()
            if 
pc.getqf("collect_count")< 9 then
                local index 
pc.getqf("collect_count")+
                pc
.setqf("collect_count",index)
                
say("Seon-Pyeong:")
                
say("Perfekt! Das Item ist in Ordnung")
                
say("Du hast bis jetzt ".." "..10-pc.getqf("collect_count").. " abgegeben!")
                
say("Bring mir die restlichen!")
                
say("")
                return
                
end
            say
("Seon-Pyeong:")
            
say("Yuhu! Du hast mir")
            
say("alles gebracht!")
            
say("Dafür werde ich dich wie versprochen belohnen!")
            
wait()
            
say("Welche Belohnung möchtest du?")
            
local s select ("1100 TP""140 Verteidigung""60 Angriffswert")
            
            if 
== 3 then
                say_reward
("Du erhälst 60 Angriffswert.")
                
affect.add_collect_point(POINT_ATT_BONUS,60,60*60*24*365*60)
            
end
            
if == 2 then
                say_reward
("Du erhälst 140 Verteidigung.")
                
affect.add_collect(apply.DEF_GRADE_BONUS,140,60*60*24*365*60)
            
end
            
if == 1 then
                say_reward
("Du erhälst 1100 TP.")
                
affect.add_collect(apply.TP_GRADE_Bonus,1100,60*60*24*365*60)
            
end
            
            clear_letter
()


            return
        
end    
    end
end 
Man kann die Quest immer wieder machen
PHP Code:
quest Biologen begin
    state start begin
        when login 
or levelup with pc.get_level() >=92  begin
            set_state
(information)
        
end    
    end

    state information begin
        when letter begin
            local v 
find_npc_by_vnum(20091)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Quest")
            
end
            send_letter
("Seon-Pyeongs Forschung")
        
end

        when button 
or info begin
            say_title
("Seon-Pyeongs Forschung")
            
say("")
            
say("Seon-Pyeong sucht dich.")
            
say("Er wird in manchen Kreisen auch ")
            
say("OT-Sura genannt")
        
end

        when __TARGET__
.target.click or
            
20091.chat."Quest" begin
            target
.delete("__TARGET__")
            
say("Seon-Pyeong:")
            ---                                                   
l
            say
("Hallo "..pc.get_name()..",")
            
say("Ich brauche deine Hilfe")
            
say("um meine Forschung fortzuführen.")
            
say("Du musst mir 10")
            
say("Juwel der Missgunst bringen")
            
say("")
            
say("")    
            
set_state(go_to_disciple)
        
end
    end

    state go_to_disciple begin
        when letter begin
            send_letter
("Auftrag von Seon-Pyeong")

        
end
        when button 
or info begin
            say_title
("Quest")
            ---                                                   
l
            say
("")
            
say("Seon-Pyeong gab euch den Auftrag")
            
say("10 Juwel der Missgunst zu sammeln!")
            
say("Das Item bekommt ihr von Unterwelt-Eisgolem und Unterwelt-Eismann.")
            
say("Viel Glueck!")
            
say("")
            
say_item_vnum(30251)
            
say_reward("   Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
            
say("")
        
end
        
        when 1137.kill 
or 1135.kill begin
            
if pc.count_item(30251)<10-pc.getqf("collect_count"then
                pc
.give_item2(302511)
            
end
        end
        when 20091.chat
."Forschung(1)" with pc.count_item(30251) >0   begin
            say
("Einen Moment!")
                ---                                                   
l
            say
("Ich werde das Item")
            
say("schnell mal ueberpruefen.")
            
say("Hoffentlich klappt alles!")
            
say("")
            
pc.remove_item(302511)
            
wait()
            if 
pc.getqf("collect_count")< 9 then
                local index 
pc.getqf("collect_count")+
                pc
.setqf("collect_count",index)
                
say("Seon-Pyeong:")
                
say("Perfekt! Das Item ist in Ordnung")
                
say("Du hast bis jetzt ".." "..10-pc.getqf("collect_count").. " abgegeben!")
                
say("Bring mir die restlichen!")
                
say("")
                return
                
end
            say
("Seon-Pyeong:")
            
say("Yuhu! Du hast mir")
            
say("alles gebracht!")
            
say("Dafür werde ich dich wie versprochen belohnen!")
            
wait()
            
say("Welche Belohnung möchtest du?")
            
local s select ("1100 TP""140 Verteidigung""60 Angriffswert")
            
            if 
== 3 then
                say_reward
("Du erhälst 60 Angriffswert.")
                
affect.add_collect_point(POINT_ATT_BONUS,60,60*60*24*365*60)
                
set_state(__complete)
            
end
            
if == 2 then
                say_reward
("Du erhälst 140 Verteidigung.")
                
affect.add_collect(apply.DEF_GRADE_BONUS,140,60*60*24*365*60)
                
set_state(__complete)
            
end
            
if == 1 then
                say_reward
("Du erhälst 1100 TP.")
                
affect.add_collect(apply.TP_GRADE_Bonus,1100,60*60*24*365*60)
                
set_state(__complete)
            
end
            
            clear_letter
()


            return
        
end    
    end
    state __complete begin
    end
end