[SERVICE] Die Questkontrolle

04/19/2011 11:40 .Delta#1996
Quote:
Originally Posted by Critone View Post
Hey ich habe ein Problem und hoffe mir kann jemand helfen :S



Wenn ich auf Insel klicke Portet er mich bei der Handels Map schließt sich jedoch das Fenster einfach :S Und wenn ich "/warp 4444 4444" eingebe passiert auch nichts :(
dann such dir andere Warp Codes :D
unter 4444, 4444 ist sie ja anscheinend nicht erreichbar,

Quest ansonsten, ansich richtig
04/19/2011 11:44 Critone#1997
Okay danke ich probier es mal
04/19/2011 13:05 BL00DSTYL3#1998
Also hier ein Quest wenn man startet ...bzw. LeveL 1 ist glaube die end sind falsch und noch andere Sachen xd

PHP Code:
----------------------------------
--    
Main Quest LVL1/Port     
----------------------------------
quest main_quest_lv1_port begin
    state start begin
        when login 
or levelup with pc.get_level() == 1 begin
            set_state
gotoinfomation )
        
end
    end
    state gotoinfomation begin
        when letter begin
            send_letter
("Du musst leveln")
        
end
        when button 
or info begin
            say_title
("Du musst leveln")
            
            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Oh hallo neuer!")
            
say("Wie ich sehe bist du noch relativ schwach")
            
say("Ich würde dir emphfelen zu lvln")
            
say("Ich kenne einen geheimen Ort wo ich dich")
            
say("hin teleportieren kann und du dich erstmal leveln kannst")
            
say("aber ich kann dich nur EINMAL telportieren")
            
say("damit der Ort geheim bleibt")
            
say("")
        
end
                
if pc.get_level() >= 1 then
                say_title
("Du musst leveln")
                
say("Möchtest du in die geheime Level-Map?")
                
say("")
                
local b select("Ja""Nein")
                if 
== 1 then
                    pc
.warp(xxxxxxxxxx)
                elseif 
== 2 then
                    say_title
("Du musst leveln")
                    
say("")
                    
say("oke!")
                    return
                
end
            end
        end
    end
end 
04/19/2011 13:09 .Delta#1999
PHP Code:
----------------------------------
--    
Main Quest LVL1/Port     
----------------------------------
quest main_quest_lv1_port begin
    state start begin
        when login 
or levelup with pc.get_level() == 1 begin
            set_state
gotoinfomation )
        
end
    end
    state gotoinfomation begin
        when letter begin
            send_letter
("Du musst leveln")
        
end
        when button 
or info begin
            say_title
("Du musst leveln")
            
say("Oh hallo neuer!")
            
say("Wie ich sehe bist du noch relativ schwach")
            
say("Ich würde dir emphfelen zu lvln")
            
say("Ich kenne einen geheimen Ort wo ich dich")
            
say("hin teleportieren kann und du dich erstmal leveln kannst")
            
say("aber ich kann dich nur EINMAL telportieren")
            
say("damit der Ort geheim bleibt")
            
say("")
            if 
pc.get_level() >= 1 then
                say_title
("Du musst leveln")
                
say("Möchtest du in die geheime Level-Map?")
                
say("")
                
local b select("Ja""Nein")
                if 
== 1 then
                    pc
.warp(xxxxxxxxxx)
                elseif 
== 2 then
                    say_title
("Du musst leveln")
                    
say("")
                    
say("oke!")
                    return
                
end
            end
        end
    end
end 
aber so kommt das bei JEDEM login^^ du setzt keinen end state
04/19/2011 13:12 Metinstyle123#2000
Hallo Leute,
ich möchte gerne eine kleine quest haben die darauf aufmerksam macht das man sich sein pferd jetzt abholen kann. momentan sieht das ganze so aus:

PHP Code:
quest Pferdestatus begin    
    state start begin
        when levelup with pc
.get_level() == 10 begin
            set_state
gotoinformation )
        
end
    end
    state gotoinformation begin
        when letter begin
            send_letter
("Hole jetzt dein Pferd!")
        
end
        when button 
or info begin
            say_blue2
("Hole jetzt dein Pferd!")
            
            ----
"12345678901234567890123456789012345678901234567890"|
            
say_gold("Da du ja jetzt neu bist bieten dir die Trainingspferde")
            
say_gold("ein Pferd an.")
            
say_gold("")
            
wait()
            
addmapsignal(392,731)
        
end
    end
end 


allerdings funktioniert die nicht so sie wird also nicht angezeigt
04/19/2011 13:21 .Delta#2001
PHP Code:
quest Pferdestatus begin    
    state start begin
        when levelup with pc
.get_level() == 10 begin
            set_state
gotoinformation )
        
end
    end
    state gotoinformation begin
        when letter begin
            local v 
find_npc_by_vnum(STALLBURSCHEVNUM)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Stallbursche")
            
end
            send_letter
("Hole jetzt dein Pferd!")
        
end
        when button 
or info begin
            say_blue2
("Hole jetzt dein Pferd!")
            
say_gold("Da du ja jetzt neu bist bieten dir die Trainingspferde")
            
say_gold("ein Pferd an.")
            
say_gold("")
        
end
    end
end 
probiers mal so
Stallbursche vnum bitte ersetzen
04/19/2011 13:29 Metinstyle123#2002
hmm geht immer noch nicht, also ich hab das jetzt soweit...
PHP Code:
quest Pferdestatus begin    
    state start begin
        when levelup with pc
.get_level() == 10 begin
            set_state
gotoinformation )
        
end
    end
    state gotoinformation begin
        when letter begin
            local v 
find_npc_by_vnum(20030)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Trainingspferd")
            
end
            send_letter
("Hole jetzt dein Pferd!")
        
end
        when button 
or info begin
            say_blue2
("Hole jetzt dein Pferd!")
            
say_gold("Da du ja jetzt neu bist bieten dir die Trainingspferde")
            
say_gold("ein Pferd an.")
            
say_gold("")
        
end
    end
end 
04/19/2011 13:32 .Delta#2003
hm jetzt kommen doofe Fragen :p :
bist du lvlst du dich von lvl 9 auf lvl 10 hoch? anders wird die quest nämlich nicht angezeigt

Ich gehe mal davon aus, dass du die Funktionen say_blue2 usw eingefügt ahst^^
04/19/2011 13:33 Metinstyle123#2004
ja hab ich :).... ne hab mit gm mich lvl 10 gemacht



@ edit hab mich von 9 auf 10 gelvlt trotzdem nicht
04/19/2011 14:49 .Risan.#2005
Probier mal:

PHP Code:
quest Pferdestatus begin    
    state start begin
        when levelup with pc
.get_level() == 10 begin
            set_state
gotoinformation )
        
end
    end
    state gotoinformation begin
        when letter begin
            local v 
find_npc_by_vnum(20030)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Trainingspferd")
            
end
            send_letter
("Hole jetzt dein Pferd!")
        
end
        when button 
or info begin
            say_blue2
("Hole jetzt dein Pferd!")
            
say_gold("Da du ja jetzt neu bist bieten dir die Trainingspferde")
            
say_gold("ein Pferd an.")
            
say_gold("")
        
end
        when __TARGET__target 
or  20349.chat."Pferd holen" begin
target
.delete("__TARGET__")
         
say("Ich gib dir dein PFerd...")
            
horse.set_level("11")
            
pc.remove_item(80042,1)
            
say("")
            
say_reward("Du erhälst:")
            
say_reward("Kampf Pferdebuch")
            
say_reward("Kampf Pferd")
            
pc.give_item2(50052 ,2)
            
horse.unride()
            
horse.advance()
            
horse.ride()
say("Viel spass mit deinem Kampfpferd")
end
    end
end 
04/19/2011 16:45 BL00DSTYL3#2006
Habe den Quest noma bissl umgeändert funkt aber iwie nicht eigl. ist doch alles richtig ?! :O

PHP Code:
----------------------------------
--    
Main Quest LVL1/Port     
----------------------------------
quest main_quest_lv1_port begin
    state start begin
        when login 
or levelup with pc.get_level() == 1 begin
            say_title
("Du musst leveln")
            
say("Oh hallo neuer!")
            
say("Wie ich sehe bist du noch relativ schwach")
            
say("Ich würde dir emphfelen zu lvln")
            
say("Ich kenne einen geheimen Ort wo ich dich")
            
say("hin teleportieren kann und du dich erstmal leveln kannst")
            
say("aber ich kann dich nur EINMAL telportieren")
            
say("damit der Ort geheim bleibt")
            
say("")
            if 
pc.get_level() >= 1 then
                say_title
("Du musst leveln")
                
say("Möchtest du in die geheime Level-Map?")
                
say("")
                
local b select("Ja""Nein")
                if 
== 1 then
                    pc
.warp(99889988)
                elseif 
== 2 then
                    say_title
("Du musst leveln")
                    
say("")
                    
say("oke!")
                    return
                
end
            end
        end
    end
end 
Wäre schön wenn ihr das so machen würdet das der Quets nur EINMAL kommt :D *danke*

LG BL00D / Bin mal 30 weg :D
04/19/2011 22:29 .Hiяo#2007
Hey epvp Community!!

Ich habe nun meine allererste Quest geschrieben. Jetz will ich natürlich wissen ob die richtig ist.

Hier ist sie:

PHP Code:
quest Beginn einer neuen Zeit begin
    state start begin
        when login with pc
.level >= 70 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("Beginn einer neuen Zeit")
        
end

        when info 
or button begin
            say
("Beginn einer neuen Zeit")
            
say("Die Metinsteine sind stärker denn je,")
            
say("es scheinen nun auch Metinsteine gefallen zu sein,")
            
say_reward("Töte 10 Metin des Eises")
            
say_reward("Töte 10 Metin der Vergeltung")
            
say("")
            
pc.setqf("state"10)
            
q.set_counter("Metin des Eises"10)
            
pc.setqf("state"10)
            
q.set_counter("Metin der Vergeltung"10)
        
end

        when 8028.kill begin
            local count 
pc.getqf("state") - 1
            
if count <= 10 then
                pc
.setqf("state"count)
                
q.set_counter("Metin des Eises"count)
            
end
            
        when 8029.kill begin
            local count 
pc.getqf("state") - 1
            
if count <= 10 then
                pc
.setqf("state"count)
                
q.set_counter("Metin der Vergeltung"count)
            
end
            
            
if count == 0 then
                say_title
("Beginn einer neuen Zeit")
                
say("Es Scheint noch stärkere Metinsteine zu geben, ")
                
say("doch fürs erste sollte die Gefahr gebannt sein,")
                
say("welche Stärker als der Metin Jeon-Un sind.")
                
say("Wenn du es schaffst diese Stiene zu zerstören,")
                
say("wirst mit einer Menge Geld belohnt werden")
                
pc.change_money(100000000)
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
Stimmt das soweit?

Also es geht darum das ich 2 Metinsteine jeweils 10 mal killen soll.

Hoffe auf hilfe
MfG. Hiro
04/19/2011 22:35 .Delta#2008
Quote:
Originally Posted by Hirogami View Post
Hey epvp Community!!

Ich habe nun meine allererste Quest geschrieben. Jetz will ich natürlich wissen ob die richtig ist.

Hier ist sie:

PHP Code:
quest Beginn einer neuen Zeit begin
    state start begin
        when login with pc
.level >= 70 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("Beginn einer neuen Zeit")
        
end

        when info 
or button begin
            say
("Beginn einer neuen Zeit")
            
say("Die Metinsteine sind stärker denn je,")
            
say("es scheinen nun auch Metinsteine gefallen zu sein,")
            
say_reward("Töte 10 Metin des Eises")
            
say_reward("Töte 10 Metin der Vergeltung")
            
say("")
            
pc.setqf("state"10)
            
q.set_counter("Metin des Eises"10)
            
pc.setqf("state"10)
            
q.set_counter("Metin der Vergeltung"10)
        
end

        when 8028.kill begin
            local count 
pc.getqf("state") - 1
            
if count <= 10 then
                pc
.setqf("state"count)
                
q.set_counter("Metin des Eises"count)
            
end
            
        when 8029.kill begin
            local count 
pc.getqf("state") - 1
            
if count <= 10 then
                pc
.setqf("state"count)
                
q.set_counter("Metin der Vergeltung"count)
            
end
            
            
if count == 0 then
                say_title
("Beginn einer neuen Zeit")
                
say("Es Scheint noch stärkere Metinsteine zu geben, ")
                
say("doch fürs erste sollte die Gefahr gebannt sein,")
                
say("welche Stärker als der Metin Jeon-Un sind.")
                
say("Wenn du es schaffst diese Stiene zu zerstören,")
                
say("wirst mit einer Menge Geld belohnt werden")
                
pc.change_money(100000000)
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
Stimmt das soweit?

Also es geht darum das ich 2 Metinsteine jeweils 10 mal killen soll.

Hoffe auf hilfe
MfG. Hiro
1. brauchst du verschiedene qf's wenn du mehrere Monster killen willst.
2. ist deine Bedingung, wann du die Belohnung bekommst falsch
3. dürfen keine Leerzeichen im questnamen enthalten sein

willst dus nochmal probieren oder einfach nur nen fix? ;)
04/19/2011 23:15 .Hiяo#2009
bitte nen Fix =) dann kann ichs beim nächsten mal gleich besser machen wennich mich irgendwo orientieren kann. =)
04/20/2011 10:16 .Delta#2010
hier läuft in Putty durch, ob's die Kills richtig zählt musst du mir nach nem Test sagen ;)
PHP Code:
quest Beginn_einer_neuen_Zeit begin
    state start begin
        when login 
or levelup with pc.level >= 70 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("Beginn einer neuen Zeit")
        
end

        when info 
or button begin
            say
("Beginn einer neuen Zeit")
            
say("Die Metinsteine sind stärker denn je,")
            
say("es scheinen nun auch Metinsteine gefallen zu sein,")
            
say_reward("Töte 10 Metin des Eises")
            
say_reward("Töte 10 Metin der Vergeltung")
            
say("")
            
pc.setqf("state_eis"0)
            
q.set_counter("Metin des Eises"10)
            
pc.setqf("state_ver"0)
            
q.set_counter("Metin der Vergeltung"10)
        
end

        when 8028.kill begin
            local count_eis 
pc.getqf("state_eis") + 1
            
if count_eis <= 9 then
                pc
.setqf("state_eis"count_eis)
                
q.set_counter("Metin des Eises"10-count_eis)
                if 
pc.getqf("state_eis") == 10 and pc.getqf("state_ver") == 10 then
                    set_state
(belohnung)
                
end
            end
            
        end           
        when 8029.kill begin
            local count_ver 
pc.getqf("state_ver") + 1
            
if count_ver <= 9 then
                pc
.setqf("state_ver"count_ver)
                
q.set_counter("Metin der Vergeltung"10-count_ver)
                if 
pc.getqf("state_eis") == 10 and pc.getqf("state_ver") == 10 then
                    set_state
(belohnung)
                
end
            end
        end
    end
    state belohnung begin
        when letter begin
            send_letter
("Belohnung")
        
end
        when button 
or info begin
            say_title
("Beginn einer neuen Zeit")
                
say("Es Scheint noch stärkere Metinsteine zu geben, ")
                
say("doch fürs erste sollte die Gefahr gebannt sein,")
                
say("welche Stärker als der Metin Jeon-Un sind.")
                
say("Wenn du es schaffst diese Stiene zu zerstören,")
                
say("wirst mit einer Menge Geld belohnt werden")
                
pc.change_money(100000000)
                
set_state(__COMPLETE__)
        
end
    end
    state __COMPLETE__ begin
    end
end