[SERVICE] Die Questkontrolle

09/21/2011 21:11 £αšεℜ™#3556
einfach nur da rein schreien also
global_getvarchar
global_setvarchar
say_color
say_size
oder was?
09/21/2011 21:25 spielmitmir#3557
in questfunktion schon, aber in questlib kommt ein bisschen mehr rein :D

Was genau weiss ich selber nicht mehr. Auf jeden fall, wenn du die durch andere befehle ersetzt kommt kein Fehler mehr.
09/21/2011 21:28 £αšεℜ™#3558
ok da lass ich das mal aus wenn einer hilfe hatt soll er mich pn
09/22/2011 14:14 DarkCryme#3559
quest wasserdrache begin
state start begin
when login with pc.get_level() >= 115 begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Töte den Wasserdrache")
end
when info or button begin
say_reward("Töte einen Wasserdrachen")
say("")
pc.setqf("state", 1)
q.set_counter("Wasserdrache", 1)
end

when VNUM.kill begin
local count = pc.getqf("state") - 1
if count <= 1 then
pc.setqf("state", count)
q.set_counter("Wasserdrache", count)
end
if count == 0 then
if pc.job == 0 then ---Krieger
say("Du hast die Quest erfolgreich abgeschlossen!")
pc.give_item2(VNUM)
clear_letter()
set_state(__COMPLETE__)
elseif pc.job == 1 then ---Ninja
say("Du hast die Quest erfolgreich abgeschlossen!")
pc.give_item2(VNUM)
clear_letter()
set_state(__COMPLETE__)
elseif pc.job == 2 then ---Sura
say("Du hast die Quest erfolgreich abgeschlossen!")
pc.give_item2(VNUM)
clear_letter()
set_state(__COMPLETE__)
elseif pc.job == 3 then ---Schamane
say("Du hast die Quest erfolgreich abgeschlossen!")
pc.give_item2(VNUM)
clear_letter()
set_state(__COMPLETE__)
end
end
end
end
state __COMPLETE__ begin
end
end

EDIT : Quest wird angezeigt aber wen ich wasserdrache kille passiert nix

EDIT 2: auch wen ich VNUM.KILL also vnum in Mob ID ändere
09/22/2011 18:37 [SA]Imbattle#3560
kann mir ma jemand pls die quest hier berichtigen:
PHP Code:
quest zombie_tele begin
    state start begin
        when 2598.chat begin
            say
("Hallo,")
            
say("Du findest dich stark genung für die Zombie Insel")
            
say("Harr. Harr.")
            
say("Wenn du nicht auf passt werden dich meine Brüder zerfetzen")
            
say("Ich bringe dich zur Zombie Insel, wenn du mir einen Blutstein bringst")
            
say("Und wenn du Level 80 bist.")
            
local s = select("Auf Gehts!","Abbrechen!")
            if 
pc.get_level() < 80
            say
("Du bist noch nicht Level 80")
        
end
            
if pc.count_item(30190)>0 then

            say
("DU bestitzt keinen Blutstein")
        
end
            pc
.count_item(30190)>1 and pc.get_level() > 80 then
            say
("Sehr gut,")
            
say("Ich hoffe du hast deine entscheidung gut getroffen")
            
pc.warp(13500,7000)
        
end
    end
end 
derjenige bekomt ein fettes thanks:handsdown::handsdown:
09/22/2011 19:02 F O R S E N B O Y S#3561

Versuch's so.
09/22/2011 19:18 [SA]Imbattle#3562
es kommt keine fehlermeldung aber wenn ich den zombie gott anklicke passiert nix...
09/22/2011 19:34 F O R S E N B O Y S#3563
Setz mal bei dem in der player Tabelle bei mob_proto das on_click auf 2
09/23/2011 08:50 Sp0ngeb0b ist cool#3564
PHP Code:
quest zombie_tele begin 
    state start begin 
        when 2598.chat
."Quest" begin 
            say
("Hallo,") 
            
say("Du findest dich stark genung für die Zombie Insel") 
            
say("Harr. Harr.") 
            
say("Wenn du nicht auf passt werden dich meine Brüder zerfetzen") 
            
say("Ich bringe dich zur Zombie Insel, wenn du mir einen Blutstein bringst") 
            
say("Und wenn du Level 80 bist.") 
            
local s = select("Auf Gehts!","Abbrechen!") 
            if 
s == 1 then
                
if pc.count_item(30190) >= 1 and pc.get_level() >= 80 then 
                    say
("Sehr gut,") 
                    
say("Ich hoffe du hast deine entscheidung gut getroffen") 
                    
pc.warp(13500,7000)
                else
                    
say("Du kannst leider nicht eintreten")
                
end
            
elseif s == 2 then
                
return
            
end
        end 
    end 
end 
probiers mal so
09/23/2011 15:08 Kriegergeist^^#3565
Da niemand auf meinen letzten post geantwortet hat, schreibe ich es hier noch mal, wär wirklich nett wen ihr mir jetzt helfen könntet :handsdown:

PHP Code:
quest defend_and_destroy begin
    state start begin
        when 20095.chat
."Defend and Destroy" with pc.is_gm() begin
        
if game.get_event_flag("defend_and_destroy_red") == 0 and game.get_event_flag("defend_and_destroy_yellow") == 0 and game.get_event_flag("defend_and_destroy_blue") == 0 then
            say_title
("Sao-Hae:")
            
say("")
            
say("Du willst also das Defend and Destroy Event")
            
say("starten. Von mir aus können wir es starten.")
            
say_reward("Auf welcher Map soll es stattfinden?")
                
local o = select("Wüste", "Eisland", "Orktal", "Feuerland", "Abbrechen")    
            if 
o == 1 then
                game
.set_event_flag("defend_and_destroy_red", 5 )
                
game.set_event_flag("defend_and_destroy_yellow", 5 )
                
game.set_event_flag("defend_and_destroy_blue", 5 )
                
regen_in_map(63, "data/dungeon/defend_and_destroy_wueste.txt")
                
notice_all("Das Defend and Destroy Event hat bekonnen!")
                
notice_all("Geht in die Wüste, wen ihr teilnehmen wollt.")
                
notice_all("Mehr Infos gibt es beim Schlachtenverwalter.")
            elseif 
o == 2 then
                game
.set_event_flag("defend_and_destroy_red", 5 )
                
game.set_event_flag("defend_and_destroy_yellow", 5 )
                
game.set_event_flag("defend_and_destroy_blue", 5 )
                
regen_in_map(61, "data/dungeon/defend_and_destroy_ice.txt")
                
notice_all("Das Defend and Destroy Event hat bekonnen!")
                
notice_all("Geht in das Eisland, wen ihr teilnehmen wollt.")
                
notice_all("Mehr Infos gibt es beim Schlachtenverwalter.")
            elseif 
o == 3 then
                game
.set_event_flag("defend_and_destroy_red", 5 )
                
game.set_event_flag("defend_and_destroy_yellow", 5 )
                
game.set_event_flag("defend_and_destroy_blue", 5 )
                
regen_in_map(64, "data/dungeon/defend_and_destroy_ork.txt")
                
notice_all("Das Defend and Destroy Event hat bekonnen!")
                
notice_all("Geht in den Orktal, wen ihr teilnehmen wollt.")
                
notice_all("Mehr Infos gibt es beim Schlachtenverwalter.")
            elseif 
o == 4 then
                game
.set_event_flag("defend_and_destroy_red", 5 )
                
game.set_event_flag("defend_and_destroy_yellow", 5 )
                
game.set_event_flag("defend_and_destroy_blue", 5 )
                
regen_in_map(62, "data/dungeon/defend_and_destroy_fire.txt")
                
notice_all("Das Defend and Destroy Event hat bekonnen!")
                
notice_all("Geht in das Feuerland, wen ihr teilnehmen wollt.")
                
notice_all("Mehr Infos gibt es beim Schlachtenverwalter.")
            elseif 
o == 5 then
                
return
            
end
            
else
            
say_title("Sao-Hae:")
            
say("")
            
say("Tut mir leid, aber das Event läuft schon.")
            
say("Du musst warten bis es vorbei ist.")
            
say("")
            
end
        end
            when 8020.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_red") == 5 then
            game
.set_event_flag("defend_and_destroy_red", 4 )
            
notice_all("Das Rote Reich hat einen Ihrer Metins verloren.")
            
notice_all("Sie besitzen jetzt nur noch 4 Metins.")
            
notice_all("Gibt jetzt bloß nicht auf!")
            else
        
end
    end
            when 8020.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_red") == 4 then
            game
.set_event_flag("defend_and_destroy_red", 3 )
            
notice_all("Das Rote Reich hat einen Ihrer Metins verloren.")
            
notice_all("Sie besitzen jetzt nur noch 3 Metins.")
            
notice_all("Gibt jetzt bloß nicht auf!")
            else
        
end
    end
            when 8020.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_red") == 3 then
            game
.set_event_flag("defend_and_destroy_red", 2 )
            
notice_all("Das Rote Reich hat einen Ihrer Metins verloren.")
            
notice_all("Sie besitzen jetzt nur noch 2 Metins.")
            
notice_all("Gibt jetzt bloß nicht auf!")
            else
        
end
    end
            when 8020.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_red") == 2 then
            game
.set_event_flag("defend_and_destroy_red", 1 )
            
notice_all("Das Rote Reich hat einen Ihrer Metins verloren.")
            
notice_all("Sie besitzen jetzt nur noch 1 Metin.")
            
notice_all("Gibt jetzt bloß nicht auf!")
            else
        
end
    end
            when 8020.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_red") == 1 then
            game
.set_event_flag("defend_and_destroy_red", 0 )
            
notice_all("Das Rote Reich hat Ihren letzten Metin verloren.")
            
notice_all("Somit hat das Rote Reich verloren.")
            
notice_all("Ihr könnt aber den Anderen helfen!")
            
timer("yellow", 1)
            
timer("blue", 1)
            else
        
end
    end
            when 8022.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_yellow") == 5 then
            game
.set_event_flag("defend_and_destroy_yellow", 4 )
            
notice_all("Das Gelbe Reich hat einen Ihrer Metins verloren.")
            
notice_all("Sie besitzen jetzt nur noch 4 Metins.")
            
notice_all("Gibt jetzt bloß nicht auf!")
            else
        
end
    end
            when 8022.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_yellow") == 4 then
            game
.set_event_flag("defend_and_destroy_yellow", 3 )
            
notice_all("Das Gelbe Reich hat einen Ihrer Metins verloren.")
            
notice_all("Sie besitzen jetzt nur noch 3 Metins.")
            
notice_all("Gibt jetzt bloß nicht auf!")
            else
        
end
    end
            when 8022.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_yellow") == 3 then
            game
.set_event_flag("defend_and_destroy_yellow", 2 )
            
notice_all("Das Gelbe Reich hat einen Ihrer Metins verloren.")
            
notice_all("Sie besitzen jetzt nur noch 2 Metins.")
            
notice_all("Gibt jetzt bloß nicht auf!")
            else
        
end
    end
            when 8022.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_yellow") == 2 then
            game
.set_event_flag("defend_and_destroy_yellow", 1 )
            
notice_all("Das Gelbe Reich hat Ihren letzten Metin verloren.")
            
notice_all("Sie besitzen jetzt nur noch 1 Metin.")
            
notice_all("Gibt jetzt bloß nicht auf!")
            else
        
end
    end
            when 8022.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_yellow") == 1 then
            game
.set_event_flag("defend_and_destroy_yellow", 0 )
            
notice_all("Das Gelbe Reich hat Ihren letzten Metin verloren.")
            
notice_all("Somit hat das Gelbe Reich verloren.")
            
notice_all("Ihr könnt aber den Anderen helfen!")
            
timer("red", 1)
            
timer("blue", 1)
            else
        
end
    end
            when 8021.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_blue") == 5 then
            game
.set_event_flag("defend_and_destroy_blue", 4 )
            
notice_all("Das Blaue Reich hat einen Ihrer Metins verloren.")
            
notice_all("Sie besitzen jetzt nur noch 4 Metins.")
            
notice_all("Gibt jetzt bloß nicht auf!")
            else
        
end
    end
            when 8021.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_blue") == 4 then
            game
.set_event_flag("defend_and_destroy_blue", 3 )
            
notice_all("Das Blaue Reich hat einen Ihrer Metins verloren.")
            
notice_all("Sie besitzen jetzt nur noch 3 Metins.")
            
notice_all("Gibt jetzt bloß nicht auf!")
            else
        
end
    end
            when 8021.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_blue") == 3 then
            game
.set_event_flag("defend_and_destroy_blue", 2 )
            
notice_all("Das Blaue Reich hat einen Ihrer Metins verloren.")
            
notice_all("Sie besitzen jetzt nur noch 2 Metins.")
            
notice_all("Gibt jetzt bloß nicht auf!")
            else
        
end
    end
            when 8021.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_blue") == 2 then
            game
.set_event_flag("defend_and_destroy_blue", 1 )
            
notice_all("Das Blaue Reich hat einen Ihrer Metins verloren.")
            
notice_all("Sie besitzen jetzt nur noch 1 Metin.")
            
notice_all("Gibt jetzt bloß nicht auf!")
            else
        
end
    end
            when 8021.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_blue") == 1 then
            game
.set_event_flag("defend_and_destroy_blue", 0 )
            
notice_all("Das Blaue Reich hat Ihren letzten Metin verloren.")
            
notice_all("Somit hat das Blaue Reich verloren.")
            
notice_all("Ihr könnt aber den Anderen helfen!")
            
timer("red", 1)
            
timer("yellow", 1)
            else
        
end
    end
        when blue
.timer begin
        
if game.get_event_flag("defend_and_destroy_red") > 0 and game.get_event_flag("defend_and_destroy_yellow") == 0 and game.get_event_flag("defend_and_destroy_blue") == 0 then
            notice_all
("Das Rot Reich hat gewonnen.")
            
notice_all("Wir hoffen es hat euch allen Spaß gemacht.")
            
game.set_event_flag("defend_and_destroy_red", 0 )
            else
        
end
    end
        when yellow
.timer begin
        
if game.get_event_flag("defend_and_destroy_red") > 0 and game.get_event_flag("defend_and_destroy_yellow") == 0 and game.get_event_flag("defend_and_destroy_blue") == 0 then
            notice_all
("Das Rot Reich hat gewonnen.")
            
notice_all("Wir hoffen es hat euch allen Spaß gemacht.")
            
game.set_event_flag("defend_and_destroy_red", 0 )
            else
        
end
    end
        when blue
.timer begin
        
if game.get_event_flag("defend_and_destroy_red") == 0 and game.get_event_flag("defend_and_destroy_yellow") > 0 and game.get_event_flag("defend_and_destroy_blue") == 0 then
            notice_all
("Das Gelbe Reich hat gewonnen.")
            
notice_all("Wir hoffen es hat euch allen Spaß gemacht.")
            
game.set_event_flag("defend_and_destroy_yellow", 0 )
            else
        
end
    end
        when red
.timer begin
        
if game.get_event_flag("defend_and_destroy_red") == 0 and game.get_event_flag("defend_and_destroy_yellow") > 0 and game.get_event_flag("defend_and_destroy_blue") == 0 then
            notice_all
("Das Gelbe Reich hat gewonnen.")
            
notice_all("Wir hoffen es hat euch allen Spaß gemacht.")
            
game.set_event_flag("defend_and_destroy_yellow", 0 )
            else
        
end
    end
        when yellow
.timer begin
        
if game.get_event_flag("defend_and_destroy_red") == 0 and game.get_event_flag("defend_and_destroy_yellow") == 0 and game.get_event_flag("defend_and_destroy_blue") > 0 then
            notice_all
("Das Blaue Reich hat gewonnen.")
            
notice_all("Wir hoffen es hat euch allen Spaß gemacht.")
            
game.set_event_flag("defend_and_destroy_blue", 0 )
            else
        
end
    end
        when red
.timer begin
        
if game.get_event_flag("defend_and_destroy_red") == 0 and game.get_event_flag("defend_and_destroy_yellow") == 0 and game.get_event_flag("defend_and_destroy_blue") > 0 then
            notice_all
("Das Blaue Reich hat gewonnen.")
            
notice_all("Wir hoffen es hat euch allen Spaß gemacht.")
            
game.set_event_flag("defend_and_destroy_blue", 0 )
                else
            
end
        end
        when 11001.chat
."Defend and Destroy - Info." or 11003.chat."Defend and Destroy - Info." or 11005.chat."Defend and Destroy - Info." begin
            say_title
("Das Defend and Destroy Event")
            
say("")
            
say("Das Defend and Destroy Event ist ein Wettkampf")
            
say("zwischen allen Drei Reichen.")
            
say("Das Event kann auf Vier verschiedene Maps")
            
say("ausgetragen werden. Die Maps die dafür in Frage")
            
say("kommen sind: Die Yongbi Wüste, Berg Sohan,")
            
say("Tal von Seungyong und Doyyumhwan.")
            
say("")
            
wait()
            
say_title("Das Defend and Destroy Event")
            
say("")
            
say("Jedes Reich bekommt je nach Map vor ihrem")
            
say("Portal 5 Reichsfelsen gespawnt.")
            
say("")
            
say("Aufgabe ist es dann, die Metinsteine des")
            
say("anderen Reiches zu zerstören, aber gleichzeitig")
            
say("die eigenen Metinsteine zu beschützen.")
            
say("")
            
wait()
            
say_title("Das Defend and Destroy Event")
            
say("")
            
say("Welches Reich als erstes alle Metinsteine der")
            
say("anderen Reiche zerstört hat, sowie das noch")
            
say("mindestens ein Metinstein vom eigenen Reich")
            
say("übrig ist, gewinnt das Defend and Destroy Event.")
            
say("")
            
say("Meist sind zusätzliche Raten der Preis für die")
            
say("harte Arbeit, ihr können aber auch andere Sachen")
            
say("als Belohnung erwarten, was genau ist ein streng")
            
say("vertrauliches Geheimnis.")
            
say("")
        
end
    end
end 
wen ich jetzt die metins 8020 oder 8021 oder 8022 wärend des events und auf einer der map kille, kommt keine ansage und die event stufe wird nicht tiefer gesetzt.

Wen ihr sie bearbeitet, lasst sie bitte fast genau so, bloß das die ansage kommt wen man einen der metins killt wärend des events auf einer der map.
Weil ich habe sie so aufgebaut, das ich noch zurecht komme damit ;)
Ich weiß das es ein sehr spezialer wunsch ist, wär trotzdem sehr hilfreich, wen ihr mit helfen könntet :handsdown:

MfG
Kriegergeist^^
09/24/2011 15:07 .Karuzo#3566
Habe Problem mit folgender Quest:


Es kommt kein fehler in Putty aber ich droppe Ingame einfach Nicht :/
09/24/2011 18:32 DasKuchen#3567
Quote:
Originally Posted by Syran.™ View Post
Habe Problem mit folgender Quest:


Es kommt kein fehler in Putty aber ich droppe Ingame einfach Nicht :/
Du musst anstatt give item machen :

game.drop_item(65031, 1)
09/24/2011 18:38 xerox95#3568
Ja ich hab ein problem dammit also wenn ich make ausführe failt die einfach ka wiso.

PHP Code:
quest collect_lv100 begin
    state start begin
    end
    state run begin
        when login 
or levelup with pc.level >= 100  begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            local v 
= find_npc_by_vnum(20084)
            if 
v != 0 then
                target
.vid("__TARGET__", v, "Bioquest")
            
end
            send_letter
("Die Forschung des Biologen")
        
end

        when button 
or info begin
            say_title
("Die Forschung des Biologen")
            
say("")
            
say("Der Biologe sucht dich!")
            
say("Gehe zu ihm.")
            
say("Er sagte, dass er einen speziellen Auftrag für dich hat.")
            
say("")
        
end

        when __TARGET__
.target.click or
            
20084.chat."Monokel des Neunschwanz" begin
            target
.delete("__TARGET__")
            
say("Biologe:")
            ---                                                   
1
            say
("Sehr schön! Ich freue mich, dich wieder")
            
say("zu sehen! Ich hoffe, dass du mich unterstützen kannst.")
            
say("Dieses Mal wird deine Reise in das")
            
say("Land des Eises führen. Dort gibt es ein legendäres Ungeheuer!")
            
say("Bitte sei vorsichtig!")
            
wait()
            
say("Biologe:")
            
say("Nun will ich dir erklären, wieso ich dich")
            
say("dort hinschicken werde. Ich bin beim Untersuchen")
            
say("alter Schriften auf eine ältere biologische ")
            
say("Untersuchung gestoßen.")
            
say("Diese spielen eine wichtige biologische")
            
say("Rolle! In den Schriften war die Rede von einem Monokel,")
            
say("röter als das Morgenrot. Dieses Monokel soll einen Zauber")
            
say("in sich tragen, der den, der es berührt, stärkt.")
            
say("Du musst diese unbedingt finden.")
            
wait()
            
say("Biologe:")
            
say("Wie gesagt benötige ich rote Monokel.")
            
say("Ja, du hast richtig gehört, ich brauche mehrere.")
            
say("Bitte besiege den Neunschwanz")
            
say("und bring mir die Monokel.")
            
say("Ich brauche sie für meine Forschungen,")
            
say("du wirst dafür königlich entlohnt werden!")
            
set_state(go_to_disciple)
            
pc.setqf("duration",0)  -- ¥i¥H¸Õ¸Õªº®É¶¡
            pc
.setqf("collect_count",0)-- ¨ú±oªºª««~¼Æ¶q
            pc
.setqf("drink_drug",0) --³Ü°g´bÃĤôªº¸Ü 1
        end    
    end

    state go_to_disciple begin
        when letter begin
            send_letter
("Spezialauftrag: Die Monokel")
            
        
end
        when button 
or info begin
            say_title
("Töte den Herrscher des Eises!")
            ---                                                   
l
            say
("")
            
say("Die Biologin bittet dich,")
            
say("dich in das Reich des Eises zu begeben.")
            
say("Dort musst du den Neunschwanz,")
            
say("ein frostiges Ungeheuer, töten.")
            
say("Sammle dabei 2 Monokel!")
            
say("Viel Glück dabei, Kämpfer!")
            
say("")
        
end

        when 71035.
use begin --°g´bÃĤô
            
if get_time() < pc.getqf("duration") then
                say
("ÁÙ¤£¥i¥H¨Ï¥Î°g´bÃĤô")
                return
            
end
            
if pc.getqf("drink_drug")==1 then
                say
("¤w¸g¨Ï¥Î¤F1¦¸")
                return
            
end
            
if pc.count_item(70030)==0 then
                say
("Biologe:")
                
say("Du musst schon ein Monokel dabeihaben")
                
say("sonst kann ich nichts untersuchen!")
                
say("")
                return
            
end    
            
            item
.remove()
            
pc.setqf("drink_drug",1)
        
end

        when 1901.kill begin
            local s 
= number(1,100)
            if 
s <= 5 and pc.count_item(70030)==0 then
                pc
.give_item2(70030, 1)
            
end
        end

        
        when 20084.chat
."Die Monokel" with pc.count_item(70030) >0   begin
            
if get_time() > pc.getqf("duration") then
                say
("Biologe:")
                ---                                                           
1
                say
("Vielen Dank, dass du mir")
                
say("Ein Monokel gebracht hast!")
                
say("Warte einen Moment.")
                
say("")
                
pc.remove_item(70030, 1)
                
pc.setqf("duration",get_time()+60*60*22)--------------22¤p®É 
                wait
()
                
                
local pass_percent
                
if pc.getqf("drink_drug")==0 then
                    pass_percent
=60
                
else
                    
pass_percent=90
                end

                local s
= number(1,100)
                if 
s<= pass_percent  then
                   
if pc.getqf("collect_count")< 1 then     --2 Monokel
                        local index 
=pc.getqf("collect_count")+1
                        pc
.setqf("collect_count",index)     --¨ú±o»õ¦U±o®É+1
                        say
("Biologe:")
                        
say("Ich sehe, es ist ein ganzes Monokel!")
                        
say("Du hast bis jetzt".." "..2-pc.getqf("collect_count").. " abgegeben!")
                        
say("Eines fehlt noch!")
                        
say("")
                        
pc.setqf("drink_drug",0)     --ÃĤôªì©l¤Æ
                        
return
                    
end
                    say
("Biologe:")
                    
say("Du hast nun endlich zwei Stück gesammelt!")
                    
say("Die Untersuchungen waren ein voller Erfolg!")
                    
say("Ich habe herausgefunden, wie das Mahlen")
                    
say("Funktioniert. Nun, aus den Schriften geht hervor,")
                    
say("dass man zum Aktivieren der Monokel noch einen")
                    
say("weiteren Gegenstand benötigt.")
                    
say("Anscheinend benötige ich noch ein Rezept!")
                    
say("")
                    
pc.setqf("collect_count",0)
                    
pc.setqf("drink_drug",0)
                    
pc.setqf("duration",0)
                    
set_state(key_item)
                    return
                    
            else
              
say("Biologe:")
              
say("Tut mir Leid, dieses Monokel ist unbrauchbar.")
              
say("Du musst wohl erneut zurück in das Eisland.")
              
say("")
              
pc.setqf("drink_drug",0)     --ÃĤôªì©l¤Æ
              
return
              
end
            
            end
        
else
          
say("Biologe:")
          
say("Die Untersuchungen der Monokel)
          say("
sind noch nicht beendet.")
          say("
Bitte komme später wieder!")
          say("")
          return
        end
    end
end


    state key_item begin
        when letter begin
            send_letter("
Das Rezept")
            
            if pc.count_item(50904)>0 then
                local v = find_npc_by_vnum(20084)
                if v != 0 then
                    target.vid("
__TARGET__", v, "Bioquest")
                end
            end
        
        end
        when button or info begin
            if pc.count_item(50904) >0 then
                say_title("
Das Rezept:")
                say("")
                ---                                                   l
                say("
Die Biologin hat eine weitere")
                say("
Aufgabe für dich. Gehe zu ihr.")
                say("")
                return
            end    
            
            say_title("
Das Rezept")
            say("")
            ---                                                   l
            say("
Nun, da dur mir die beiden Monokel")
            say("
gebracht hast, benötige ich noch den")
            say("
Zauberspruch für die Aktivierung dieser.")
            say_item_vnum(50904)---------- Experten-Rezept
            say("
Ein legendäres Rezept,"
            say("
welches viele Zaubersprüche beinhaltet!")
            say("
Doch dieses Rezept hat der Blaue Tod vor")
            say("
langer Zeit gestohlen, um den in Frieden")
            say("
lebenden Menschen das Leben zu erschweren!
            
say("Du musst es zurückholen!")
            
say("")
        
end


        when 1095.kill begin
            local s 
= number(1, 200)
            if 
s == 1 and pc.count_item(50904)==0 then
                pc
.give_item2(50904), 1)
                
send_letter("Das Rezept")
            
end
        end




        when __TARGET__
.target.click  or
            
20084.chat."Das Rezept" with pc.count_item(50904)
            
target.delete("__TARGET__")
            
say("Biologe:")
            
say("Du hast die Aufgabe bewältigt!")
            
say("Sehr schön!")
            
say("Du bist ein würdiger Kämpfer.")
            
say("Nunja, ich habe dir versprochen,")
            
say("dass die Monokel dir Kräfte verleihen könnten.")
            
say("Gehe zu Baek-Go, er wird dir helfen können.")
            
say("Ich werde ihm die Bestätigung für deine Hilfe geben.")
            
say("")
            
pc.remove_item(50904,1)
            
set_state(__reward)
        
end
    end

    state __reward begin
        when letter begin
            send_letter
("Info des Biologen:")
            
            
local v = find_npc_by_vnum(20018)
            if 
v != 0 then
                target
.vid("__TARGET__", v, "Baek-Go")
            
end
        end
        when button 
or info begin
            say_title
("Der Weg zur Belohnung")
            ---                                                   
l
            say
("Ich erhalte meine Belohnung erst,")
            
say("wenn ich Baek-Go aufgesucht habe.")
            
say("Auf geht's!")
            
say("")
        
end

        when __TARGET__
.target.click  or
            
20018.chat."Belohnung"  begin
            target
.delete("__TARGET__")
            
say("Baek-Go:")
            
say("Du bist also derjenige,")
            
say("der sich bis in die Mitte")
            
say("des Eislands und an die Spitze")
            
say("des Turms der toten Seelen vorangeschritten ist,")
            
say("um den Völkern und dem Biologen")
            
say("das Leben zu erleichtern?")
            
say("")
            
say_reward("Auftrag beendet!")
            
say_reward("Du erhälst nun deine Belohnung!")
            
say_reward("+10% Schadensreduzierung")
            
say("Ich stärke dich, damit du den dunklen")
            
say("Kräften widerstehen kannst!")
            
            
affect.add_collect(apply.DEF_GRADE_BONUS,10,60*60*24*365*60) --60¦~
            
clear_letter()
            
set_quest_state("collect_lv100", "run")
            
set_state(__complete)
        
end

    end


    state __complete begin
    end
end 
09/24/2011 18:45 .Kay331#3569
Guten Tag epvp com.

Hab mal wieder ne Quest die etwas muckt ;D

Also hier die Quest:

PHP Code:
quest exp_verdopp begin
    state start begin
        when 20011.chat
."Erfahrungspunkte verdoppeln" begin
            local ep 
= pc.get_exp() -- Exp Abfrage
            local kosten 
= 50000000 -- Die Kosten für die Verdoppelung 
            local maxlvl 
= 120 -- Euer Max Level
            local wartezeit 
= 60 -- Wartezeit um wieder verdoppeln zu können//Sekunden*Minuten*Stunden*Tage*Jahre
            
            
say_title("Hallo "..pc.get_name().."!")
            
say("")
            
say("Bei mir kannst du deine Erfahrungspunkte verdoppeln.")
            
say("Achtung: Es kostet dich 50.000.000 Yang,")
            
say("und wenn du verlierst sind deine Erfahrungspunkte auch weg.")
            
say("Du kannst es nur jede 24 Stunden versuchen!")
            
say("")
            
say_reward("Möchtest du es versuchen?")
            
say_reward("Derzeitige Erfahrungspunkte: "..ep)
            
say("")
            
local expauswahl = select("Ja", "Nein")
            if 
expauswahl == 2 then
                say
("Das war eine vernünftige Entscheidung!")
                return
            
end
            
if pc.get_level() >= maxlvl then
                say
("Du hast das Maximal Level bereits erreicht!")
                
say_reward("Du kannst deine Erfahrungspunkte nicht verdoppeln.")
            elseif 
get_time() < pc.getqf("zeit") then
                say_reward
("Du musst leider noch warten!")
            elseif 
pc.get_money() < kosten then
                say_reward
("Du hast leider zu wenig Yang!")
            elseif 
pc.get_exp() == 0 then
                say_reward
("Du hast derzeit keine Erfahrungspunkte!")
            else
                
say_reward("Möchtest du alle Erfahrungspunkte ("..ep..") einsetzen")
                
say_reward("oder selbst die Erfahrungspunkte auswählen?")
                
local main = select("Alle", "Auswählen", "Abbrechen")
                if 
main == 3 then
                    say
("Das war eine vernünftige Entscheidung!")
                    return
                elseif 
main == 2 then
                    say_reward
("Wie viele Erfahrungspunkte möchtest du setzen?")
                    
say_reward("Derzeitige Erfahrungspunkte: "..ep)
                    
local einsatz = tonumber(input(""))
                else
                    
local einsatz = ep
                end
                
if pc.get_exp() < einsatz then
                    say_reward
("Du hast nicht genug Erfahrungspunkte!")
                    return
                elseif 
pc.get_exp() + einsatz >= 1500000000 then
                    say_reward
("Es ist leider nicht möglich")
                    
say_reward("Deine EXP zu verdoppeln")
                    if 
einsatz <= 0 then
                        say_reward
("Mogeln gilt nicht!")
                        return
                    
end
                    say_reward
("Bist du dir sicher das du")
                    
say_reward(einsatz.." Erfahrungspunkte einsetzen willst?")
                    
say_reward("Vergiss die 50.000.000 Yang nicht!")
                    
local sicher2 = select("Na Los", "Nein")
                    if 
sicher2 == 2 then
                        say
("Das war eine vernünftige Entscheidung!")
                        return
                    
end
                    local doppel2 
= number(1,6)
                    if 
doppel2 == 1 or doppel2 == 5 then
                        say
("Ich werde es nun versuchen..")
                        
say("Die Verdoppelung deiner Erfahrungspunkte hat:")
                        
say_reward("[DELAY value;340]Geklappt![/DELAY]")
                        
pc.give_exp2(einsatz)
                        
pc.change_money(-kosten)
                        
pc.setqf("zeit",get_time()+wartezeit)
                    else
                        
say("Ich werde es nun versuchen..")
                        
say("Die Verdoppelung deiner Erfahrungspunkte hat:")
                        
say_reward("[DELAY value;340]Nicht geklappt![/DELAY]")
                        
say_reward("Du hast nun "..einsatz.." Erfahrungspunkte")
                        
say_reward("und 50.000.000 Yang verloren!")
                        
pc.give_exp2(-einsatz)
                        
pc.change_money(-kosten)
                        
pc.setqf("zeit",get_time()+wartezeit)
                    
end
                end
            end
        end
    end
end 
Ein Fehler kommt nach dem Exp Angabe wie viel man wetten will und der sieht so aus:
[Only registered and activated users can see links. Click Here To Register...]


Ich hoffe mir kann da jemand schnell helfen

Mit freundlichen Grüßen
09/24/2011 22:17 DasKuchen#3570
Hätte mal eine Frage und zwar zu diesem BefehL:

affect.remove_collect()

Er geht bei 2010/2011 Files nicht wollte Fragen wie ich jedoch die Bonis wegmache.