[SERVICE] Die Questkontrolle

08/18/2013 22:43 Pаylasici#8791
Quote:
Originally Posted by .s[H]orty View Post
Habe ein Problem mit einer etwas ungewöhnlichen Quest, sie ist fehlerfrei was mir mehrere Quester bestätigt haben, trotzdem wenn ich Ingame den npc anklicke kommt die gewünschte Auswahlmoeglichkeit nicht.

Möchte die quest nicht pub stellen, kann mir jemand Privat helfen? Add gibts per pn, wäre wirklich sehr nett

Gruß,
sHorty.
Dann schreib eine private Nachricht zu mir oder so.
08/18/2013 22:50 AGU#8792
Quote:
Folgender Fehler
PHP Code:
must start with 'quest'
sogfa.quest:72:Error occured on compile sogfa.quest 
bei folgender Quest
#push
08/18/2013 23:04 G.I Duke#8793
Quote:
Originally Posted by AGU View Post
#push
nenn deine Questdatei mal jagdauftrag.quest ;)
08/19/2013 09:16 AGU#8794
Quote:
nenn deine Questdatei mal jagdauftrag.quest
Des liegt doch nicht am namen der quest?! o.O
Edit: Was auch so ist. #tested
08/19/2013 09:16 MakkeNN#8795
Hi all,pls answer my question.
"local time = os.date("%H")" os.date time with my PC,or time in server?
Sry for bad english:/
08/19/2013 09:47 Mijago#8796
Servertime
same as get_time()
08/19/2013 11:30 .iPaCHeL#8797
Hallo,

Habe hier eine Bio Quest sie geht bis auf die Aufgabe_4 dort muss man den Sensenmann töten aber sobald man ihn tötet passiert nichts. Eigentlich sollte man dann die Aufgabe 6 bekommen sobald man ihn getötet hat aber nein möchte nicht gehen.

PHP Code:
quest Biologe_Aufgabe2 begin
    state start begin
        when login 
or levelup with pc.get_level() >= 110 begin
            set_state
("Aufgabe_1_Anfang")
        
end
    end
    
    state Aufgabe_1_Anfang begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
else
                
target.vid("__TARGET__"v"Biologe")
            
end
        end
        
        when letter begin
            send_letter
("Auftrag des Biologen (Lvl. 110)")
        
end
        
        when button 
or info begin
            say_title
("Auftrag des Biologen (Lvl. 110)")
            
say("")
            
say("Der Biologe hat einen neuen Auftrag")
            
say("für dich.")
            
say("Gehe zu ihm, um ihn anzunehmen.")
        
end
        
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Chaegirab:")
            
say("")
            
say("Gut, dass du kommst!")
            
say("Ich habe einen neuen Auftrag")
            
say("für dich. Er ist lang, aber ich")
            
say("sage dir Eins nach dem Anderen.")
            
wait()
            
say_title("Biologe Chaegirab:")
            
say("")
            
say("Als erstes töte für mich")
            
say("Dunkle 2 Oberorks. Wenn du das geschafft hast,")
            
say("kehre zu mir zurück.")
            
say("")
            
say_reward("Viel Glück!")
            
set_state("Aufgabe_1")
        
end
    end
    state Aufgabe_1 begin
        when letter begin
            send_letter
("Töte 2 Dunkle Oberorks (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Töte 2 Dunkle Oberorks (Lvl. 110)")
            
say("Der Biologe Chaegirab hat dich gebeten,")
            
say("2 Dunkle Oberorks für ihn zu töten.")
            
say("Du findest sie in der Mitte vom Orktal.")
            
say("Wenn du dies geschafft hast, kehre zu ihm zurück.")
            
say_reward("Oberorks getötet: " .. pc.getqf("Oberorks_Killed"))

        
end
        when 20084.chat
."Aufgabe: Dunkle Oberorks" begin
            say_title
("Biologe Chaegirab:")
            
say("Du hast leider noch nicht 2 Dunkle Oberorks getötet.")
            
say("Komme später wieder.")
        
end
        when 692.kill begin
            pc
.setqf("Oberorks_Killed"pc.getqf("Oberorks_Killed") + 1)
            if 
pc.getqf("Oberorks_Killed") >= 2 then
                chat
("Du hast alle Dunklen Oberorks getötet!")
                
chat("Gehe zum Biologen Chaegirab zurück.")
                
set_state("Aufgabe_1_Fertig")
            
end
        end
    end
    state Aufgabe_1_Fertig begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
return
            else
                
target.vid("__TARGET__"v"Biologe")
            
end
            send_letter
("Zurück zum Biologen (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Zurück zum Biologen (Lvl. 110)")
            
say("Du hast die Dunklen Oberorks getötet.")
            
say("Gehe zurück zu Chaegirab um")
            
say("ihm Bescheid zu geben.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Chaegirab:")
            
say("Du hast 2 Dunkle Oberorks getötet?")
            
say("Vielen Dank! Dein nächster Auftrag ist es,")
            
say("den Metin der Einsamkeit zu töten.")
            
say("Es ist ein schwere Gegner und du wirst ihn")
            
say("nur sehr selten im Farmland antreffen.")
            
say("")
            
say_reward("Viel Glück!")
            
set_state("Aufgabe_2")
        
end
    end
    
    state Aufgabe_2 begin
        when letter begin
            send_letter
("Töte den Metin der Einsamkeit (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Töte den Metin der Einsamkeit (Lvl. 110)")
            
say("Der Biologe Chaegirab hat dich gebeten,")
            
say("den Metin der Einsamkeit zu töten.")
            
say("Du findest ihn in der Farmmap,")
            
say("jedoch ist er sehr selten.")
            
say("Wenn du dies geschafft hast, kehre zu ihm zurück.")
            
say("")
        
end
        when kill begin
            
if npc.get_race() == 8033 then
                notice
("Du hast den Metin der Einsamkeit getötet!")
                
set_state("Aufgabe_2_Fertig")
            
end
        end
    end
    state Aufgabe_2_Fertig begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
else
                
target.vid("__TARGET__"v"Biologe")
            
end
            send_letter
("Zurück zum Biologen (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Zurück zum Biologen (Lvl. 110)")
            
say("Du hast den Metin der Einsamkeit getötet.")
            
say("Gehe zurück zum Biologen,")
            
say("um die Aufgabe abzuschließen.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Chaegirab:")
            
say("Du hast den Felsen getötet?")
            
say("Vielen Dank! Dein nächster Auftrag ist es,")
            
say("2 Neunschwänze zu töten.")
            
say("Sie sind schwere Gegner. Du findest den Neunschwanz")
            
say("im Eisland")
            
say("")
            
say_reward("Viel Glück!")
            
set_state("Aufgabe_3")
        
end
    end
    
    state Aufgabe_3 begin
        when letter begin
            send_letter
("Töte den Neunschwanz (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Töte die Neunschwänze (Lvl. 110)")
            
say("Der Biologe Chaegirab hat dich gebeten,")
            
say("2 Neunschwänze zu töten.")
            
say("Du findest den Neunschwanz im Eisland")
            
say("Wenn du dies geschafft hast, kehre zu ihm zurück.")
            
say_reward("Neunschwanz getötet: " .. pc.getqf("Neunschwanz_Killed"))
        
end
        when kill begin
            
if npc.get_race() == 1901 and pc.getqf("Neunschwanz_Killed") < 2 then
                pc
.setqf("Neunschwanz_Killed"pc.getqf("Neunschwanz_Killed") + 1)
            
end
            
if pc.getqf("Neunschwanz_Killed") >= 2 then
                chat
("Du hast den Neunschwanz getötet.")
                
chat("Gehe zu Chaegirab zurück.")
                
set_state("Aufgabe_3_Fertig")
            
end
        end
    end
    state Aufgabe_3_Fertig begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
else
                
target.vid("__TARGET__"v"Biologe")
            
end
            send_letter
("Zurück zum Biologen (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Zurück zum Biologen (Lvl. 110)")
            
say("Du hast die Neunschwänze")
            
say("getötet. Gehe zurück zum Biologen,")
            
say("um die Aufgabe abzuschließen.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Chaegirab:")
            
say("Du hast die Monster getötet?")
            
say("Vielen Dank! Dein nächster Auftrag ist es,")
            
say("den Sensenmann zu töten.")
            
say("Es ist ein sehr schwerer Gegner, daher gebe")
            
say("ich dir die Möglichkeit, diese Aufgabe")
            
say("zu überspringen.")
            
say_reward("Willst du diese Aufgabe überspringen?")
            
local s select("Überspringen""Annehmen")
            if 
== 1 then
                pc
.setqf("OPTIONAL_*1"0)
                
set_state("Aufgabe_5")
            else
                
pc.setqf("OPTIONAL_*1"1)
                
say_title("Biologe Chaegirab:")
                
say("Du hast dir viel vorgenommen!")
                
say("")
                
say_reward("Viel Glück!")
                
set_state("Aufgabe_4")
            
end
        end
    end
    
    state Aufgabe_4 begin
        when letter begin
            send_letter
("Töte den Sensenmann (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Töte den Sensenmann (Lvl. 110)")
            
say("Du hast die Aufgabe, den Sensenmann")
            
say("zu töten, angenommen.")
            
say("Wenn du das geschafft hast,")
            
say("kehre zu ihm zurück.")
            
say_reward("Sensenmann getötet: Nein")
        
end
        when kill begin
            
if npc.get_race() == 1093 then
                chat
("Du hast den Sensenmann getötet.")
                
chat("Gehe zum Biologen zurück,")
                
chat("um den nächsten Auftrag anzunehmen.")
                
set_state("Aufgabe_4_Fertig")
            
end
        end
    end
    state Aufgabe_4_Fertig begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
else
                
target.vid("__TARGET__"v"Biologe")
            
end
            send_letter
("Zurück zum Biologen (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Zurück zum Biologen (Lvl. 110)")
            
say("Du hast den Sensenmann getötet.")
            
say("Gehe zurück zum Biologen,")
            
say("um die Aufgabe abzuschließen.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Chaegirab:")
            
say("Du hast den Sensenmann getötet?")
            
say("Vielen Dank! Dein nächster Auftrag ist es,")
            
say("den verstorbenen Mann im Orktal zu finden.")
            
say("Wenn du ihn gefunden hast, kehre zu mir zurück.")
            
say("")
            
say_reward("Viel Glück!")
            
set_state("Aufgabe_5")
        
end
    end
    
    state Aufgabe_5 begin
        when letter begin
            send_letter
("Suche den verstorbenen Mann (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Suche den verstorbenen Mann (Lvl. 110)")
            
say("Der Biologe Chaegirab hat dich gebeten,")
            
say("den verstorbenen Mann im Orktal")
            
say("zu finden.")
            
say("Wenn du dies geschafft hast, kehre zu ihm zurück.")
        
end
        when 20356.click begin
            say
("Das muss er gewesen sein...")
            
chat("Du hast den verstorbenen Mann gefunden!")
            
set_state("Aufgabe_5_Fertig")
        
end
    end
    state Aufgabe_5_Fertig begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
else
                
target.vid("__TARGET__"v"Biologe")
            
end
            send_letter
("Zurück zum Biologen (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Zurück zum Biologen (Lvl. 110)")
            
say("Du hast den verstorbenen Mann gefunden.")
            
say("Gehe zurück zum Biologen,")
            
say("um die Aufgabe abzuschließen.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Chaegirab:")
            
say("Du hast ihn gefunden?")
            
say("Vielen Dank! Dein letzter Auftrag ist es,")
            
say("5 andere Spieler, die aus deinem Reich sind,")
            
say("zu töten.")
            
say("Wenn du das geschafft hast,")
            
say("kehre zu mir zurück.")
            
say("")
            
say_reward("Viel Glück!")
            
set_state("Aufgabe_6")
        
end
    end
    
    state Aufgabe_6 begin
        when letter begin
            send_letter
("Spieler töten, "..pc.getqf("SpielerKilled").." getötet (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Spieler töten (Lvl. 110)")
            
say("Der Biologe Chaegirab hat dich gebeten,")
            
say("5 andere Spieler, die aus deinem Reich sind,")
            
say("zu töten.")
            
say("Wenn du dies geschafft hast, kehre zu ihm zurück.")
            
say_reward("Spieler getötet: "..pc.getqf("SpielerKilled"))
        
end
        when kill begin
            
if npc.get_empire() == pc.get_empire() then
                pc
.setqf("SpielerKilled"pc.getqf("SpielerKilled") + 1)
                if 
pc.getqf("SpielerKilled") >= 5 then
                    notice
("Du hast den Auftrag abgeschlossen!")
                    
set_state("Aufgabe_6_Fertig")
                
end
            end
        end
    end
    state Aufgabe_6_Fertig begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
else
                
target.vid("__TARGET__"v"Biologe")
            
end
            send_letter
("Zurück zum Biologen (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Zurück zum Biologen (Lvl. 110)")
            
say("Du hast den Spieler getötet.")
            
say("Gehe zurück zum Biologen,")
            
say("um die Belohnung zu erhalten.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Cheagirab:")
            
say("Du hast alle Aufgaben erledigt")
            if 
pc.getqf("OPTIONAL_*1") == 0 then
                say
("außer den Sensenmann zu besiegen.")
                
say("Aber auch dafür wirst du eine Belohnung bekommen.")
                
say("")
                
say_reward("8 VIT, INT, STR und DEX erhalten.")
            
affect.add_collect(CON860*60*24*365*80)
            
affect.add_collect(INT860*60*24*365*80)
            
affect.add_collect(STR860*60*24*365*80)
            
affect.add_collect(DEX860*60*24*365*80)
            else
                
say("auch den Sensenmann besiegt.")
                
say("Dafür wirst du eine Spezial-Belohnung bekommen.")
                
say("")
                
say_reward("10% mehr Droppchance erhalten.")
            
affect.add_collect(ITEM_DROP_BONUS1060*60*24*365*80)
            
end
            
            clear_letter
()
            
set_state("__COMPLETE__")
        
end
    end
    
    state __COMPLETE__ begin

    
    end
end 
08/19/2013 14:20 G.I Duke#8798
Quote:
Originally Posted by AGU View Post
#push
PHP Code:
quest jagdauftrag begin  
    state start begin  
        when 20376.chat
."Kim Rim helfen" begin  
            say_title
("Octavios Haus verteidigen")  
            
say("Gut das du da bist.")  
            
say("Bitte hilf mir doch das Haus von Octavio")  
            
say("von diesen Besessenen zu verteidigen.")  
            
wait()  
               
            
say("Also Hilfst du mir?")  
            
local s select("Ja .. ""Nein ..")  
            if 
== 2 then  
                
return  
            elseif 
== 1 then  
                say
("Ich habe auch nichts anderes erwartet.")  
                
pc.setqf("state"50)  
                
q.set_counter("Übrig"50)  
                
set_state(info)  
            
end  
        end  
    end  
      
    state info begin  
        when letter begin  
            send_letter
("Töte 50 Besessene")  
        
end  
          
        when button 
or info begin  
            say_title
("Übrige Mobzahl")  
            
say_reward("Du musst noch "..count.." von 50 Besessenen töten.")  
        
end  
          
        when kill with npc
.get_race() == 20408 or npc.get_race() == 20409 or npc.get_race() == 20410 begin -- Mob Vnum noch eintragen  
        local count 
pc.getqf("state")-1  
        pc
.setqf("state"pc.getqf("state")-1)  
        
q.set_counter("Übrig"count)  
            if 
pc.getqf("state") <= 50 then  
            set_state
(finish)  
            
end  
        end  
    end  
      
    state finish begin  
        when letter begin  
            send_letter
("Geschafft!")  
            
local v find_npc_by_vnum(20376) -- NPC Vnum noch eintragen  
            
if != 0 then target.vid("__TARGET__"v"NPC")  
            
end  
        end       
         
        when button 
or info begin  
            say_title
("Zurück zu Kim Rim")  
            
say("Du hast es geschafft 50 Besessene zu töten.")  
            
say("Gehe nun zurück zu Kim Rim um deine")  
            
say("Belohnung abzuholen.")  
        
end  
         
        when __TARGET__
.target.click or 20376.chat."Geschafft!" begin  
        target
.delete("__TARGET__")  
            
say_title("Da bist du ja wieder")  
            
say("Schön das du wieder da bist.")  
            
say("Für deine Mühe lasse ich dich nun")  
            
say("wieder zurück nach Map1 und du bekommst")  
            
say("noch eine kleine Belohnung.")  
            
say("")  
            
pc.give_item2(belohnungs_vnumanzahl)  
            
set_state(__COMPLETE__)
        
end  
    end  
      
    state __COMPLETE__ begin  
    end  
end 
MfG

Quote:
Originally Posted by .iPaCHeL View Post
Hallo,

Habe hier eine Bio Quest sie geht bis auf die Aufgabe_4 dort muss man den Sensenmann töten aber sobald man ihn tötet passiert nichts. Eigentlich sollte man dann die Aufgabe 6 bekommen sobald man ihn getötet hat aber nein möchte nicht gehen.

PHP Code:
quest Biologe_Aufgabe2 begin
    state start begin
        when login 
or levelup with pc.get_level() >= 110 begin
            set_state
("Aufgabe_1_Anfang")
        
end
    end
    
    state Aufgabe_1_Anfang begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
else
                
target.vid("__TARGET__"v"Biologe")
            
end
        end
        
        when letter begin
            send_letter
("Auftrag des Biologen (Lvl. 110)")
        
end
        
        when button 
or info begin
            say_title
("Auftrag des Biologen (Lvl. 110)")
            
say("")
            
say("Der Biologe hat einen neuen Auftrag")
            
say("für dich.")
            
say("Gehe zu ihm, um ihn anzunehmen.")
        
end
        
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Chaegirab:")
            
say("")
            
say("Gut, dass du kommst!")
            
say("Ich habe einen neuen Auftrag")
            
say("für dich. Er ist lang, aber ich")
            
say("sage dir Eins nach dem Anderen.")
            
wait()
            
say_title("Biologe Chaegirab:")
            
say("")
            
say("Als erstes töte für mich")
            
say("Dunkle 2 Oberorks. Wenn du das geschafft hast,")
            
say("kehre zu mir zurück.")
            
say("")
            
say_reward("Viel Glück!")
            
set_state("Aufgabe_1")
        
end
    end
    state Aufgabe_1 begin
        when letter begin
            send_letter
("Töte 2 Dunkle Oberorks (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Töte 2 Dunkle Oberorks (Lvl. 110)")
            
say("Der Biologe Chaegirab hat dich gebeten,")
            
say("2 Dunkle Oberorks für ihn zu töten.")
            
say("Du findest sie in der Mitte vom Orktal.")
            
say("Wenn du dies geschafft hast, kehre zu ihm zurück.")
            
say_reward("Oberorks getötet: " .. pc.getqf("Oberorks_Killed"))

        
end
        when 20084.chat
."Aufgabe: Dunkle Oberorks" begin
            say_title
("Biologe Chaegirab:")
            
say("Du hast leider noch nicht 2 Dunkle Oberorks getötet.")
            
say("Komme später wieder.")
        
end
        when 692.kill begin
            pc
.setqf("Oberorks_Killed"pc.getqf("Oberorks_Killed") + 1)
            if 
pc.getqf("Oberorks_Killed") >= 2 then
                chat
("Du hast alle Dunklen Oberorks getötet!")
                
chat("Gehe zum Biologen Chaegirab zurück.")
                
set_state("Aufgabe_1_Fertig")
            
end
        end
    end
    state Aufgabe_1_Fertig begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
return
            else
                
target.vid("__TARGET__"v"Biologe")
            
end
            send_letter
("Zurück zum Biologen (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Zurück zum Biologen (Lvl. 110)")
            
say("Du hast die Dunklen Oberorks getötet.")
            
say("Gehe zurück zu Chaegirab um")
            
say("ihm Bescheid zu geben.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Chaegirab:")
            
say("Du hast 2 Dunkle Oberorks getötet?")
            
say("Vielen Dank! Dein nächster Auftrag ist es,")
            
say("den Metin der Einsamkeit zu töten.")
            
say("Es ist ein schwere Gegner und du wirst ihn")
            
say("nur sehr selten im Farmland antreffen.")
            
say("")
            
say_reward("Viel Glück!")
            
set_state("Aufgabe_2")
        
end
    end
    
    state Aufgabe_2 begin
        when letter begin
            send_letter
("Töte den Metin der Einsamkeit (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Töte den Metin der Einsamkeit (Lvl. 110)")
            
say("Der Biologe Chaegirab hat dich gebeten,")
            
say("den Metin der Einsamkeit zu töten.")
            
say("Du findest ihn in der Farmmap,")
            
say("jedoch ist er sehr selten.")
            
say("Wenn du dies geschafft hast, kehre zu ihm zurück.")
            
say("")
        
end
        when kill begin
            
if npc.get_race() == 8033 then
                notice
("Du hast den Metin der Einsamkeit getötet!")
                
set_state("Aufgabe_2_Fertig")
            
end
        end
    end
    state Aufgabe_2_Fertig begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
else
                
target.vid("__TARGET__"v"Biologe")
            
end
            send_letter
("Zurück zum Biologen (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Zurück zum Biologen (Lvl. 110)")
            
say("Du hast den Metin der Einsamkeit getötet.")
            
say("Gehe zurück zum Biologen,")
            
say("um die Aufgabe abzuschließen.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Chaegirab:")
            
say("Du hast den Felsen getötet?")
            
say("Vielen Dank! Dein nächster Auftrag ist es,")
            
say("2 Neunschwänze zu töten.")
            
say("Sie sind schwere Gegner. Du findest den Neunschwanz")
            
say("im Eisland")
            
say("")
            
say_reward("Viel Glück!")
            
set_state("Aufgabe_3")
        
end
    end
    
    state Aufgabe_3 begin
        when letter begin
            send_letter
("Töte den Neunschwanz (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Töte die Neunschwänze (Lvl. 110)")
            
say("Der Biologe Chaegirab hat dich gebeten,")
            
say("2 Neunschwänze zu töten.")
            
say("Du findest den Neunschwanz im Eisland")
            
say("Wenn du dies geschafft hast, kehre zu ihm zurück.")
            
say_reward("Neunschwanz getötet: " .. pc.getqf("Neunschwanz_Killed"))
        
end
        when kill begin
            
if npc.get_race() == 1901 and pc.getqf("Neunschwanz_Killed") < 2 then
                pc
.setqf("Neunschwanz_Killed"pc.getqf("Neunschwanz_Killed") + 1)
            
end
            
if pc.getqf("Neunschwanz_Killed") >= 2 then
                chat
("Du hast den Neunschwanz getötet.")
                
chat("Gehe zu Chaegirab zurück.")
                
set_state("Aufgabe_3_Fertig")
            
end
        end
    end
    state Aufgabe_3_Fertig begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
else
                
target.vid("__TARGET__"v"Biologe")
            
end
            send_letter
("Zurück zum Biologen (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Zurück zum Biologen (Lvl. 110)")
            
say("Du hast die Neunschwänze")
            
say("getötet. Gehe zurück zum Biologen,")
            
say("um die Aufgabe abzuschließen.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Chaegirab:")
            
say("Du hast die Monster getötet?")
            
say("Vielen Dank! Dein nächster Auftrag ist es,")
            
say("den Sensenmann zu töten.")
            
say("Es ist ein sehr schwerer Gegner, daher gebe")
            
say("ich dir die Möglichkeit, diese Aufgabe")
            
say("zu überspringen.")
            
say_reward("Willst du diese Aufgabe überspringen?")
            
local s select("Überspringen""Annehmen")
            if 
== 1 then
                pc
.setqf("OPTIONAL_*1"0)
                
set_state("Aufgabe_5")
            else
                
pc.setqf("OPTIONAL_*1"1)
                
say_title("Biologe Chaegirab:")
                
say("Du hast dir viel vorgenommen!")
                
say("")
                
say_reward("Viel Glück!")
                
set_state("Aufgabe_4")
            
end
        end
    end
    
    state Aufgabe_4 begin
        when letter begin
            send_letter
("Töte den Sensenmann (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Töte den Sensenmann (Lvl. 110)")
            
say("Du hast die Aufgabe, den Sensenmann")
            
say("zu töten, angenommen.")
            
say("Wenn du das geschafft hast,")
            
say("kehre zu ihm zurück.")
            
say_reward("Sensenmann getötet: Nein")
        
end
        when kill begin
            
if npc.get_race() == 1093 then
                chat
("Du hast den Sensenmann getötet.")
                
chat("Gehe zum Biologen zurück,")
                
chat("um den nächsten Auftrag anzunehmen.")
                
set_state("Aufgabe_4_Fertig")
            
end
        end
    end
    state Aufgabe_4_Fertig begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
else
                
target.vid("__TARGET__"v"Biologe")
            
end
            send_letter
("Zurück zum Biologen (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Zurück zum Biologen (Lvl. 110)")
            
say("Du hast den Sensenmann getötet.")
            
say("Gehe zurück zum Biologen,")
            
say("um die Aufgabe abzuschließen.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Chaegirab:")
            
say("Du hast den Sensenmann getötet?")
            
say("Vielen Dank! Dein nächster Auftrag ist es,")
            
say("den verstorbenen Mann im Orktal zu finden.")
            
say("Wenn du ihn gefunden hast, kehre zu mir zurück.")
            
say("")
            
say_reward("Viel Glück!")
            
set_state("Aufgabe_5")
        
end
    end
    
    state Aufgabe_5 begin
        when letter begin
            send_letter
("Suche den verstorbenen Mann (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Suche den verstorbenen Mann (Lvl. 110)")
            
say("Der Biologe Chaegirab hat dich gebeten,")
            
say("den verstorbenen Mann im Orktal")
            
say("zu finden.")
            
say("Wenn du dies geschafft hast, kehre zu ihm zurück.")
        
end
        when 20356.click begin
            say
("Das muss er gewesen sein...")
            
chat("Du hast den verstorbenen Mann gefunden!")
            
set_state("Aufgabe_5_Fertig")
        
end
    end
    state Aufgabe_5_Fertig begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
else
                
target.vid("__TARGET__"v"Biologe")
            
end
            send_letter
("Zurück zum Biologen (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Zurück zum Biologen (Lvl. 110)")
            
say("Du hast den verstorbenen Mann gefunden.")
            
say("Gehe zurück zum Biologen,")
            
say("um die Aufgabe abzuschließen.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Chaegirab:")
            
say("Du hast ihn gefunden?")
            
say("Vielen Dank! Dein letzter Auftrag ist es,")
            
say("5 andere Spieler, die aus deinem Reich sind,")
            
say("zu töten.")
            
say("Wenn du das geschafft hast,")
            
say("kehre zu mir zurück.")
            
say("")
            
say_reward("Viel Glück!")
            
set_state("Aufgabe_6")
        
end
    end
    
    state Aufgabe_6 begin
        when letter begin
            send_letter
("Spieler töten, "..pc.getqf("SpielerKilled").." getötet (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Spieler töten (Lvl. 110)")
            
say("Der Biologe Chaegirab hat dich gebeten,")
            
say("5 andere Spieler, die aus deinem Reich sind,")
            
say("zu töten.")
            
say("Wenn du dies geschafft hast, kehre zu ihm zurück.")
            
say_reward("Spieler getötet: "..pc.getqf("SpielerKilled"))
        
end
        when kill begin
            
if npc.get_empire() == pc.get_empire() then
                pc
.setqf("SpielerKilled"pc.getqf("SpielerKilled") + 1)
                if 
pc.getqf("SpielerKilled") >= 5 then
                    notice
("Du hast den Auftrag abgeschlossen!")
                    
set_state("Aufgabe_6_Fertig")
                
end
            end
        end
    end
    state Aufgabe_6_Fertig begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
== 0 then
            
else
                
target.vid("__TARGET__"v"Biologe")
            
end
            send_letter
("Zurück zum Biologen (Lvl. 110)")
        
end
        when button 
or info begin
            say_title
("Zurück zum Biologen (Lvl. 110)")
            
say("Du hast den Spieler getötet.")
            
say("Gehe zurück zum Biologen,")
            
say("um die Belohnung zu erhalten.")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Biologe Cheagirab:")
            
say("Du hast alle Aufgaben erledigt")
            if 
pc.getqf("OPTIONAL_*1") == 0 then
                say
("außer den Sensenmann zu besiegen.")
                
say("Aber auch dafür wirst du eine Belohnung bekommen.")
                
say("")
                
say_reward("8 VIT, INT, STR und DEX erhalten.")
            
affect.add_collect(CON860*60*24*365*80)
            
affect.add_collect(INT860*60*24*365*80)
            
affect.add_collect(STR860*60*24*365*80)
            
affect.add_collect(DEX860*60*24*365*80)
            else
                
say("auch den Sensenmann besiegt.")
                
say("Dafür wirst du eine Spezial-Belohnung bekommen.")
                
say("")
                
say_reward("10% mehr Droppchance erhalten.")
            
affect.add_collect(ITEM_DROP_BONUS1060*60*24*365*80)
            
end
            
            clear_letter
()
            
set_state("__COMPLETE__")
        
end
    end
    
    state __COMPLETE__ begin

    
    end
end 
steht in deiner deviltower.quest der Sensenmann
noch mit
PHP Code:
 when 1093.kill begin 
? wenn ja mach
PHP Code:
when kill with npc.get_race() == 1093 begi 
MfG
08/19/2013 20:02 funismt2#8799
quest auktionshaus begin
state start begin
when 20094.chat."Item verkaufen" begin
say_title("Item verkaufen")
say("")
say("Welches Item willst du verkaufen?")
say("Du musst es dafür auf mich ziehen!")

end
when 20094.take with item.vnum > 1 begin
local item_table = item.get_id()
say_title("Item verkaufen")
say("")
say("Du willst das Item "..item.get_name(item.vnum).." verkaufen.")
say("Gib einen Preis ein, den du dafür erhalten möchtest!")
local sofort_kauf = tonumber(input())
local test_kauf = sofort_kauf
if test_kauf==0 or test_kauf=="" then
chat("Es wurden falscheingaben gemacht!")
return
end
if test_kauf > 1900000000 then
chat("Maximal sind 1.900.000.000 Yang möglich!")
return
end
if test_kauf < 1 then
chat("Minimal ist 1 Yang möglich!")
return
end

local check_beack = mysql_select("SELECT COUNT(*) as dnoener from quest.auktionshauscash where player_id='"..pc.get_player_id().."' limit 1;")
if check_beack[1][1]=="0" then
pc.setqf("first",1)
mysql_notselect("INSERT into quest.auktionshauscash (player_id,ahcash) VALUES ('"..pc.get_player_id().."','0');")
end
local check_autocash = mysql_select("SELECT ahcash from quest.auktionshauscash where player_id='"..pc.get_player_id().."' limit 1;")
local check_save_r = check_autocash[1][1]+1-1
local all_g = check_save_r + test_kauf
if all_g > 1900000000 then
chat("Du kannst auf deinem Konto maximal 1.900.000.000 Yang haben!")
chat("Deine gesammten Verkäufe die aktiv sind + sein Guthaben darf")
chat("die menge von 1.900.000.000 Yang nicht überschreiten!")
return
end

local cost = test_kauf / 100 * 5
say_title("Item verkaufen")
say("")
say("Möchtest du das Item "..item.get_name(item.vnum).." für")
say("das Auktionshaus freigeben und den Preis dafür ")
say("auf "..test_kauf.." Yang lassen?")
say("Es kostet dich 5% yang deines Preises, dass du verlangst.")
say("Das heißt, du musst "..cost.." Yang zahlen.")
local s = select("Ja","Nein")
if s == 2 then
return
end
if pc.get_gold() < cost then
chat("Du kannst die 5% nicht bezahlen.")
return
end
if s == 1 then
local count = mysql_select("SELECT COUNT(*) FROM player.item WHERE id='"..item_table.."';")
if count[1][1] == "0" then
say_title("Item verkaufen : Error 101")
say("")
say("Das Item wurde erst vor kurze gedroppt oder erhandelt!")
say("Deshalb kann es nochnicht versteigert werden.")
say("Du musst mindestens 10 Minuten warten!")
return
end
local item_kopier = mysql_select("SELECT owner_id,vnum,socket0,socket1,socket2,socket3,sock et4,socket5,attrtype0,attrvalue0,attrtype1,attrval ue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attr type4,attrvalue4,attrtype5,attrvalue5,attrtype6,at trvalue6,count FROM player.item WHERE id='"..item_table.."' LIMIT 1;")
local jetzt = get_time()
local enden = get_time()+60*60*24
local types = mysql_select("SELECT type,subtype FROM player.item_proto WHERE vnum='"..item_kopier[1][2].."' LIMIT 1;")
local kate="9"
if types[1][1] == "1" and types[1][2] == "0" then
kate = "1"
end
if types[1][1] == "2" and types[1][2] == "0" then
kate = "2"
end
if types[1][1] == "2" and types[1][2] == "3" then
kate = "3"
end
if types[1][1] == "2" and types[1][2] == "4" then
kate = "4"
end
if types[1][1] == "2" and types[1][2] == "5" then
kate = "5"
end
if types[1][1] == "2" and types[1][2] == "6" then
kate = "6"
end
if types[1][1] == "2" and types[1][2] == "1" then
kate = "7"
end
if types[1][1] == "2" and types[1][2] == "2" then
kate = "8"
end
mysql_notselect("INSERT INTO quest.aktion (lastbote_id,sofort,gebot,gebote,lastbote,vnum,bon i1,boni1wert,boni2,boni2wert,boni3,boni3wert,boni4 ,boni4wert,boni5,boni5wert,boni6,boni6wert,boni7,b oni7wert,stein1,stein2,stein3,stein4,stein5,stein6 ,now,ende,besitzername,besitzer_id,menge,kategorie ,item_name) VALUES ('0','"..test_kauf.."','100','0','Niemand','"..ite m_kopier[1][2].."','"..item_kopier[1][9].."','"..item_kopier[1][10].."','"..item_kopier[1][11].."','"..item_kopier[1][12].."','"..item_kopier[1][13].."','"..item_kopier[1][14].."','"..item_kopier[1][15].."','"..item_kopier[1][16].."','"..item_kopier[1][17].."','"..item_kopier[1][18].."','"..item_kopier[1][19].."','"..item_kopier[1][20].."','"..item_kopier[1][21].."','"..item_kopier[1][22].."','"..item_kopier[1][3].."','"..item_kopier[1][4].."','"..item_kopier[1][5].."','"..item_kopier[1][6].."','"..item_kopier[1][7].."','"..item_kopier[1][8].."','"..jetzt.."','"..enden.."','"..pc.name.."',' "..pc.get_player_id().."','"..item_kopier[1][23].."','"..kate.."','"..item.get_name(item_kopier[1][2]).."');")
item.remove(item.select(item_table))
say_title("Item verkaufen")
say("")
say("Dein Item wurde erfolgreich in das Auktionshaus")
say("eingetragen. Es ist ab sofort auf der Homepage ")
say("zum kaufen!")
pc.change_gold(-cost)
end
end
when 20094.chat."Verkaufshaus: Yang" begin
say_title("Verkaufshaus: Yang")
local eintr = "1"
if pc.getqf("first") == 0 then
pc.setqf("first",1)
check_eintrag = mysql_select("SELECT COUNT(*) from quest.auktionshauscash where player_id='"..pc.get_player_id().."' LIMIT 1;")
if check_eintrag[1][1]=="0" then
mysql_notselect("INSERT into quest.auktionshauscash (player_id,ahcash) VALUES ('"..pc.get_player_id().."','0');")
eintr = "2"
end
end
if eintr == "1" then
local menge = mysql_select("SELECT ahcash from quest.auktionshauscash where player_id='"..pc.get_player_id().."' LIMIT 1;")
say("Zurzeit Lagerst du "..menge[1][1].." Yang!")
elseif eintr =="2" then
say("Zurzeit Lagerst du 0 Yang!")
end

say("Was möchtest du tun?")
local s = select("Yang einzahlen","Yang auszahlen","Abbrechen")
if s == 3 then
return
end
if s == 2 then
local sel_gol = mysql_select("SELECT ahcash from quest.auktionshauscash where player_id='"..pc.get_player_id().."' LIMIT 1;")
local check = sel_gol[1][1]+1-1
if check < 1 then
chat("Du kannst nichts auszahlen!")
return
end
say_title("Yang auszahlen")
say("")
say("Du hast derzeit "..check.." Yang eingezahlt.")
say("Wieviel möchtest du auszahlen?")
local auszahlen = tonumber(input())
if auszahlen =="" or auszahlen==0 then
chat("Du hast Falscheingaben gemacht!")
return
end
if auszahlen < 1 then
chat("Du kannst mindestens 1 Yang auszahlen!")
return
end
if auszahlen > check then
chat("Du kannst nicht mehr auszahlen als du besitzt!")
return
end
local check_maxmin = auszahlen + pc.gold
if check_maxmin > 1999999999 then
chat("Du hast zuviel Yang bei dir!")
return
end
local new_cash = check - auszahlen
mysql_notselect("UPDATE quest.auktionshauscash set ahcash = '"..new_cash.."' where player_id='"..pc.get_player_id().."' LIMIT 1;")
pc.change_gold(auszahlen)
end




if s == 1 then
local sel_gol = mysql_select("SELECT ahcash from quest.auktionshauscash where player_id='"..pc.get_player_id().."' LIMIT 1;")
local check = sel_gol[1][1]+1-1
say_title("Yang einzahlen")
say("")
say("Gib die Menge an, die du einzahlen möchtest!")
local lagern = tonumber(input())
if lagern == "" or lagern ==0 then
chat("Du hast Falscheingaben gemacht!")
return
end
if lagern < 0 then
chat("Du kannst mindestens 1 Yang einzahlen!")
return
end
if lagern > pc.gold then
chat("Du besitzt nicht soviel Yang!")
return
end
local check_gesamt_inladung = mysql_select("SELECT SUM(sofort) AS test from quest.aktion where besitzer_id='"..pc.get_player_id().."';")
local save_s = check_gesamt_inladung[1][1]+1-1
local pref = check+lagern
local all_g = save_s+pref
if all_g > 1900000000 then
chat("Du kannst auf deinem Konto maximal 1.900.000.000 Yang haben!")
chat("Deine gesammten Verkäufe die aktiv sind + sein Guthaben darf")
chat("die menge von 1.900.000.000 Yang nicht überschreiten!")
return
end
mysql_notselect("UPDATE quest.auktionshauscash set ahcash = '"..pref.."' where player_id='"..pc.get_player_id().."' LIMIT 1;")
pc.change_gold(-lagern)
say_title("Yang einzahlen")
say("")
say("Du hast dein Yang erfolgreich eingezahlt und")
say("kannst nun damit auf der Homepage einkaufen!")
end
end
when 20094.chat."Meine neusten Auktionen" begin
say_title("Meine neusten Auktionen")
say("Hier werden deine 5 letzten Auktionen, die")
say("derzeit aktiv sind angezeigt!")
say("")
local count_is = mysql_select("SELECT COUNT(*) as oke from quest.aktion where besitzer_id='"..pc.get_player_id().."';")
local check_lo = count_is[1][1]+1-1
if check_lo = 0 then
say_reward("Du hast derzeit keine laufenden Auktionen!")
return
end

if check_lo > 5 then
check_lo = 5
end

local i = 0
while i < check_lo do
local item1 = mysql_select("SELECT vnum,menge,sofort from quest.aktion where besitzer_id='"..pc.get_player_id().."' ORDER BY now DESC LIMIT "..check_lo..";")
local zahl = i+1
say_reward("Item Nummer "zahl:"i tem_name(item1[zahl][1])"")
say("Menge: "item1[zahl][2] "Preis:" item1[zahl][3]"")
i = i+1
end
end
end
end


was ist hier falsch?

syntax error: [String "start"]:7: ´then´ expected near ´=´
auktionshaus.quest:232:Abort trap (core dumped)
08/19/2013 21:30 G.I Duke#8800
Quote:
Originally Posted by funismt2 View Post


was ist hier falsch?

syntax error: [String "start"]:7: ´then´ expected near ´=´
auktionshaus.quest:232:Abort trap (core dumped)
Ich gucks mir mal an das nächste mal bitte im Php Spoiler Posten so wie ich deins zitiert habe..

PHP Code:
local sofort_kauf tonumber(input()) 
            
local test_kauf sofort_kauf 
was willst du damit bewirken? da reicht ein local..
08/20/2013 12:35 Mijago#8801
Quote:
Originally Posted by .мαяfυ™ View Post
PHP Code:
quest jagdauftrag begin  
    state start begin  
        when 20376.chat
."Kim Rim helfen" begin  
            say_title
("Octavios Haus verteidigen")  
            
say("Gut das du da bist.")  
            
say("Bitte hilf mir doch das Haus von Octavio")  
            
say("von diesen Besessenen zu verteidigen.")  
            
wait()  
               
            
say("Also Hilfst du mir?")  
            
local s select("Ja .. ""Nein ..")  
            if 
== 2 then  
                
return  
            elseif 
== 1 then  
                say
("Ich habe auch nichts anderes erwartet.")  
                
pc.setqf("state"50)  
                
q.set_counter("Übrig"50)  
                
set_state(info)  
            
end  
        end  
    end  
      
    state info begin  
        when letter begin  
            send_letter
("Töte 50 Besessene")  
        
end  
          
        when button 
or info begin  
            say_title
("Übrige Mobzahl")  
            
say_reward("Du musst noch "..count.." von 50 Besessenen töten.")  
        
end  
          
        when kill with npc
.get_race() == 20408 or npc.get_race() == 20409 or npc.get_race() == 20410 begin -- Mob Vnum noch eintragen  
        local count 
pc.getqf("state")-1  
        pc
.setqf("state"pc.getqf("state")-1)  
        
q.set_counter("Übrig"count)  
            if 
pc.getqf("state") <= 50 then  
            set_state
(finish)  
            
end  
        end  
    end  
      
    state finish begin  
        when letter begin  
            send_letter
("Geschafft!")  
            
local v find_npc_by_vnum(20376) -- NPC Vnum noch eintragen  
            
if != 0 then target.vid("__TARGET__"v"NPC")  
            
end  
        end       
         
        when button 
or info begin  
            say_title
("Zurück zu Kim Rim")  
            
say("Du hast es geschafft 50 Besessene zu töten.")  
            
say("Gehe nun zurück zu Kim Rim um deine")  
            
say("Belohnung abzuholen.")  
        
end  
         
        when __TARGET__
.target.click or 20376.chat."Geschafft!" begin  
        target
.delete("__TARGET__")  
            
say_title("Da bist du ja wieder")  
            
say("Schön das du wieder da bist.")  
            
say("Für deine Mühe lasse ich dich nun")  
            
say("wieder zurück nach Map1 und du bekommst")  
            
say("noch eine kleine Belohnung.")  
            
say("")  
            
pc.give_item2(belohnungs_vnumanzahl)  
            
set_state(__COMPLETE__)
        
end  
    end  
      
    state __COMPLETE__ begin  
    end  
end 
MfG



steht in deiner deviltower.quest der Sensenmann
noch mit
PHP Code:
 when 1093.kill begin 
? wenn ja mach
PHP Code:
when kill with npc.get_race() == 1093 begi 
MfG
Nicht vergessen, Mapindex mit abzufragen in der DT-Quest!!
Sonst kommts zu unnötig bösartigen Fehlern :s
08/20/2013 16:24 G.I Duke#8802
Quote:
Originally Posted by Mijago View Post
Nicht vergessen, Mapindex mit abzufragen in der DT-Quest!!
Sonst kommts zu unnötig bösartigen Fehlern :s
ja sollte eigentlich klar sein gibt's genug Threads wo darauf
hingewiesen wird.. trz gute Informationen für die kleineren
Quester hier..

MfG
08/20/2013 18:23 _Jimbo#8803
Code:
quest Tempel_of_dragon begin 
state start begin 
         
        when 20090.chat."Tempel des Drachen" begin 
        if get_time() > game.get_event_flag("Grotte_time") then 
        game.set_event_flag("Grotte_zugang",0) 
        end 
        if pc.is_gm() or pc.count_item(80041) >= 1 then 
        say_title(""..mob_name(20090).."") 
        say("") 
        say("Hallo Gamemaster, "..pc.get_name().."") 
        say("Ich lasse dich auch ohne die Schlüssel und") 
        say("das Passwort passieren.") 
        wait() 
        pc.warp(843200, 1066900) 
        return 
        end 
        if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(50011) < 3 then 
        say_title(""..mob_name(20090).."") 
        say("") 
        say("Dir fehlen "..item_name(50011).."") 
        say_item_vnum(50011) 
        say("Komme wieder wenn du 3 besitzt.") 
        return 
        end 
        if game.get_event_flag("Grotte_zugang") == 1 then 
        say_title(""..mob_name(20090).."") 
        say("") 
        pc.setqf("grotte_passworto", 078954687921) 
        if pc.getqf("abgabe") == 1 then 
        pc.setqf("abgabe",0) 
        say("Du hast bereits deine 3 Schlüssel abgeben.") 
        say("Ich lasse dich passieren.") 
        pc.setqf("erlaubt",1) 
        wait() 
        pc.warp(843200, 1066900) 
        return 
        end 
        say("Tut mir Leid, der Raum ist reseviert.") 
        say("Wenn du ein die Kennzahl hast für den Zugang,") 
        say("gebe sie jetzt bitte ein.") 
        local passwort = tonumber(input("")) 
        --pc.setqf("grotte_passworto", passwort)  
        if game.get_event_flag("Grotte_passwort") == passwort then 
        say_title(""..mob_name(20090).."") 
        say("") 
        say("Die Kennzahl stimmt überein.") 
        if pc.count_item(50011) < 3 then 
        say("Ich kann dir den zutritt nicht gewähren") 
        say("Dir fehlt "..item_name(50011).."") 
        say_item_vnum(50011) 
        say("Komme wieder wenn du 3 besitzt.") 
        return 
        end 
        say("Ich gewähre dir den zutritt!") 
        pc.setqf("erlaubt",1) 
        wait() 
        if pc.can_warp() then    pc.remove_item("50011",3) end 
        pc.warp(843200, 1066900) 
        elseif passi != pc.getqf("grotte_passworto") then 
        say_title(""..mob_name(20090).."") 
        say("") 
        say("Die Kennzahl ist leider falsch.") 
        return 
        end 
        end 
        if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(50011) >= 3 then 
        say_title(""..mob_name(20090).."") 
        say("") 
        say("Du bist der erste der den Eintritt in den Tempel") 
        say("des Drachens verlangt. Ich werde dich passieren") 
        say("lassen, sofern du einen gewunden Schlüssel") 
        say("besitzt. Bevor du den Raum betreten darfst") 
        say("musst du eine geheime Zahl eingeben.") 
        say("Diese kannst du innerhalb von 5 Minuten an") 
        say("deine Mitstreiter weitergeben, so das auch") 
        say("sie den Raum betreten können. ") 
        say("") 
        say("Bedenke auch das die Macht der Schlüssel nur") 
        say("30 Minuten lang hält. In dieser Zeit müsst") 
        say("ihr den Drachen besiegt haben.") 
        local i = select("Ich bin Bereit", "Abbrechen") 
        if 1 == i then 
        say_title(""..mob_name(20090).."") 
        say("Dann Lege jetzt die kennzahl fest.") 
        local passwort = tonumber(input("")) 
        if passwort and passwort <= 999999999 and pc.count_item(50011)>=1 then 
        game.set_event_flag("Grotte_zugang",1) 
        game.set_event_flag("Grotte_passwort",passwort) 
        local times = get_time() + 300 --Wartezeit 
        game.set_event_flag("Grotte_time", times) 
        say_title(""..mob_name(20090).."") 
        pc.setqf("abgabe",1) 
        say("") 
        say("Die Kennzahl lautet:") 
        chat("Die Kennzahl lautet für den Tempel des Drachen: "..passwort.."") 
        say_reward(""..passwort.."") 
        say("Gib die Kennzahl deinen Mitstreitern weiter") 
        pc.remove_item("50011",3) 
        else  
        say_title(""..mob_name(20090).."") 
        say("") 
        say("Beim Kennzahl setzen ist ein fehler aufgetreten, versuche es erneut.") 
        say("Bitte gebe nur Ziffern ein.") 
        end 
        end 
        end 
        end 
    when login with pc.get_map_index() == 401 and not pc.is_gm() begin 
        if pc.count_item("80041") >= 1 then chat("Tempel des Drachen: Du hast das GM-Item, prüfungen werden geblockt!") return end 
        if pc.get_level() < 75 or pc.getqf("erlaubt") == 0 and pc.get_map_index() == 401 then 
         chat("Dir ist es nicht erlaubt diese Map zu betreten. "..pc.get_level().." "..pc.getqf("erlaubt").." "..pc.get_map_index().." ") 
            warp_to_village() 
        end 
        chat("Willkommen, zerstört schnell den Stein um zu dem Drachen zu gelangen.") 
        chat("Aber beeilt euch, sonst fliegt ihr raus") 
        local sekunden = game.get_event_flag("Grotte_time") - get_time() 
        notice_in_map("Verbleibende Zeit bis ihr rausfliegt: "..sekunden.." Sekunden") 
        timer("skipia_boss_ende", sekunden) 
        pc.set_warp_location(73 , 1825, 12207) 
        end 
    when 8023.kill with pc.get_map_index() == 401 begin 
        timer("skipia_boss_goo", 2) 
        notice_in_map("Ihr hab den Stein zerstört ihr werden nun in die nächste Ebene gebracht") 
        end 
    when skipia_boss_goo.timer begin 
        game.set_event_flag("Grotte_zugang",0) 
        d.new_jump_all(401, 8436, 10669) 
        d.setf("grotte_boss", 1) 
        d.spawn_mob(9012, 239, 173) 
        end 
		when 2493.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin 
        d.setf("grotte_boss", 3) 
        notice_all("Die Gruppe von "..pc.get_name().." hat Beran-Setaou getötet.") 
        d.notice("Beeindruckend, ihr habt ihn tatsächlich besiegt.") -- Als Abschluss könnt ihr noch die Metins zerstören") 
        d.notice("ihr werdet in 60 Sekunden zurück in Grotte 2 gebracht.") 
        timer("skipia_boss_end", 60) 
        d.kill_all() 
        d.spawn_mob(9012, 239, 173) 
        d.clear_regen() 
        end 
    when 8031.kill or 8032.kill or 8033.kill or 8034.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin 
    local n =d.getf("count") + 1 
    d.setf("count", n)  
    --notice_all("Metin killed "..n.."") 
    if n > 2 then 
    local t = number(1,4) 
    --notice_all("Spawn Metin") 
    if 1 == t then 
    d.regen_file("data/dungeon/skia_boss1.txt") 
    elseif 2 == t then 
    d.regen_file("data/dungeon/skia_boss2.txt") 
    elseif 3 == t then 
    d.regen_file("data/dungeon/skia_boss3.txt") 
    else 
    d.regen_file("data/dungeon/skia_boss4.txt") 
    end 
    end 
    end 
    when login with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin 
    pc.set_warp_location(73 , 1825, 12207) 
    end 
    when login with pc.in_dungeon() and d.getf("grotte_boss") == 1 begin 
        timer("skipia_boss_end", 3600)     
        d.set_regen_file("data/dungeon/skia_boss.txt") 
        local t = number(1,4) 
        if 1 == t then 
            d.regen_file("data/dungeon/skia_boss1.txt") 
            elseif 2 == t then 
            d.regen_file("data/dungeon/skia_boss2.txt") 
            elseif 3 == t then 
            d.regen_file("data/dungeon/skia_boss3.txt") 
            else 
            d.regen_file("data/dungeon/skia_boss4.txt") 
        end 
        local o = number(1,4) 
        if 1 == o then 
            d.regen_file("data/dungeon/skia_boss1.txt") 
            elseif 2 == o then 
            d.regen_file("data/dungeon/skia_boss2.txt") 
            elseif 3 == o then 
            d.regen_file("data/dungeon/skia_boss3.txt") 
            else 
            d.regen_file("data/dungeon/skia_boss4.txt") 
            end     
        d.setf("grotte_boss", 2) 
        d.notice("Willkommen im Tempel des Drachen, ihr habt maximal 1 Stunde Zeit Beran-Setaou zu besiegen, Viel Erfolg") 
        d.setf("count", 0) 
        pc.set_warp_location(73 , 1825, 12207) 
        end 

    when login with pc.in_dungeon() and d.getf("grotte_boss") == 3 begin -- begin 
    --pc.warp(181700, 1220600) 
    end 
    when skipia_boss_end.timer begin 
        d.exit_all() 
        end 
    when skipia_boss_ende.timer begin 
        kill_all_in_map(401) 
        game.set_event_flag("Grotte_zugang",0) 
        d.setf("grotte_boss", 1) 
        d.exit_all() 
    end 
    when login with pc.get_map_index() != 401 or not pc.in_dungeon() begin 
    pc.setqf("erlaubt",0) 
    end 
    end 
end
Auf der Ebene nach dem Kaiserfelsen spawnt alles und wenn ich nen Metin kille spawnt der direkt neu und wenn ich den Drachen kille passiert nix :-( Bitte um Hilfe
08/20/2013 20:08 G.I Duke#8804
Quote:
Originally Posted by _Jimbo View Post
Code:
quest Tempel_of_dragon begin 
state start begin 
         
        when 20090.chat."Tempel des Drachen" begin 
        if get_time() > game.get_event_flag("Grotte_time") then 
        game.set_event_flag("Grotte_zugang",0) 
        end 
        if pc.is_gm() or pc.count_item(80041) >= 1 then 
        say_title(""..mob_name(20090).."") 
        say("") 
        say("Hallo Gamemaster, "..pc.get_name().."") 
        say("Ich lasse dich auch ohne die Schlüssel und") 
        say("das Passwort passieren.") 
        wait() 
        pc.warp(843200, 1066900) 
        return 
        end 
        if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(50011) < 3 then 
        say_title(""..mob_name(20090).."") 
        say("") 
        say("Dir fehlen "..item_name(50011).."") 
        say_item_vnum(50011) 
        say("Komme wieder wenn du 3 besitzt.") 
        return 
        end 
        if game.get_event_flag("Grotte_zugang") == 1 then 
        say_title(""..mob_name(20090).."") 
        say("") 
        pc.setqf("grotte_passworto", 078954687921) 
        if pc.getqf("abgabe") == 1 then 
        pc.setqf("abgabe",0) 
        say("Du hast bereits deine 3 Schlüssel abgeben.") 
        say("Ich lasse dich passieren.") 
        pc.setqf("erlaubt",1) 
        wait() 
        pc.warp(843200, 1066900) 
        return 
        end 
        say("Tut mir Leid, der Raum ist reseviert.") 
        say("Wenn du ein die Kennzahl hast für den Zugang,") 
        say("gebe sie jetzt bitte ein.") 
        local passwort = tonumber(input("")) 
        --pc.setqf("grotte_passworto", passwort)  
        if game.get_event_flag("Grotte_passwort") == passwort then 
        say_title(""..mob_name(20090).."") 
        say("") 
        say("Die Kennzahl stimmt überein.") 
        if pc.count_item(50011) < 3 then 
        say("Ich kann dir den zutritt nicht gewähren") 
        say("Dir fehlt "..item_name(50011).."") 
        say_item_vnum(50011) 
        say("Komme wieder wenn du 3 besitzt.") 
        return 
        end 
        say("Ich gewähre dir den zutritt!") 
        pc.setqf("erlaubt",1) 
        wait() 
        if pc.can_warp() then    pc.remove_item("50011",3) end 
        pc.warp(843200, 1066900) 
        elseif passi != pc.getqf("grotte_passworto") then 
        say_title(""..mob_name(20090).."") 
        say("") 
        say("Die Kennzahl ist leider falsch.") 
        return 
        end 
        end 
        if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(50011) >= 3 then 
        say_title(""..mob_name(20090).."") 
        say("") 
        say("Du bist der erste der den Eintritt in den Tempel") 
        say("des Drachens verlangt. Ich werde dich passieren") 
        say("lassen, sofern du einen gewunden Schlüssel") 
        say("besitzt. Bevor du den Raum betreten darfst") 
        say("musst du eine geheime Zahl eingeben.") 
        say("Diese kannst du innerhalb von 5 Minuten an") 
        say("deine Mitstreiter weitergeben, so das auch") 
        say("sie den Raum betreten können. ") 
        say("") 
        say("Bedenke auch das die Macht der Schlüssel nur") 
        say("30 Minuten lang hält. In dieser Zeit müsst") 
        say("ihr den Drachen besiegt haben.") 
        local i = select("Ich bin Bereit", "Abbrechen") 
        if 1 == i then 
        say_title(""..mob_name(20090).."") 
        say("Dann Lege jetzt die kennzahl fest.") 
        local passwort = tonumber(input("")) 
        if passwort and passwort <= 999999999 and pc.count_item(50011)>=1 then 
        game.set_event_flag("Grotte_zugang",1) 
        game.set_event_flag("Grotte_passwort",passwort) 
        local times = get_time() + 300 --Wartezeit 
        game.set_event_flag("Grotte_time", times) 
        say_title(""..mob_name(20090).."") 
        pc.setqf("abgabe",1) 
        say("") 
        say("Die Kennzahl lautet:") 
        chat("Die Kennzahl lautet für den Tempel des Drachen: "..passwort.."") 
        say_reward(""..passwort.."") 
        say("Gib die Kennzahl deinen Mitstreitern weiter") 
        pc.remove_item("50011",3) 
        else  
        say_title(""..mob_name(20090).."") 
        say("") 
        say("Beim Kennzahl setzen ist ein fehler aufgetreten, versuche es erneut.") 
        say("Bitte gebe nur Ziffern ein.") 
        end 
        end 
        end 
        end 
    when login with pc.get_map_index() == 401 and not pc.is_gm() begin 
        if pc.count_item("80041") >= 1 then chat("Tempel des Drachen: Du hast das GM-Item, prüfungen werden geblockt!") return end 
        if pc.get_level() < 75 or pc.getqf("erlaubt") == 0 and pc.get_map_index() == 401 then 
         chat("Dir ist es nicht erlaubt diese Map zu betreten. "..pc.get_level().." "..pc.getqf("erlaubt").." "..pc.get_map_index().." ") 
            warp_to_village() 
        end 
        chat("Willkommen, zerstört schnell den Stein um zu dem Drachen zu gelangen.") 
        chat("Aber beeilt euch, sonst fliegt ihr raus") 
        local sekunden = game.get_event_flag("Grotte_time") - get_time() 
        notice_in_map("Verbleibende Zeit bis ihr rausfliegt: "..sekunden.." Sekunden") 
        timer("skipia_boss_ende", sekunden) 
        pc.set_warp_location(73 , 1825, 12207) 
        end 
    when 8023.kill with pc.get_map_index() == 401 begin 
        timer("skipia_boss_goo", 2) 
        notice_in_map("Ihr hab den Stein zerstört ihr werden nun in die nächste Ebene gebracht") 
        end 
    when skipia_boss_goo.timer begin 
        game.set_event_flag("Grotte_zugang",0) 
        d.new_jump_all(401, 8436, 10669) 
        d.setf("grotte_boss", 1) 
        d.spawn_mob(9012, 239, 173) 
        end 
		when 2493.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin 
        d.setf("grotte_boss", 3) 
        notice_all("Die Gruppe von "..pc.get_name().." hat Beran-Setaou getötet.") 
        d.notice("Beeindruckend, ihr habt ihn tatsächlich besiegt.") -- Als Abschluss könnt ihr noch die Metins zerstören") 
        d.notice("ihr werdet in 60 Sekunden zurück in Grotte 2 gebracht.") 
        timer("skipia_boss_end", 60) 
        d.kill_all() 
        d.spawn_mob(9012, 239, 173) 
        d.clear_regen() 
        end 
    when 8031.kill or 8032.kill or 8033.kill or 8034.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin 
    local n =d.getf("count") + 1 
    d.setf("count", n)  
    --notice_all("Metin killed "..n.."") 
    if n > 2 then 
    local t = number(1,4) 
    --notice_all("Spawn Metin") 
    if 1 == t then 
    d.regen_file("data/dungeon/skia_boss1.txt") 
    elseif 2 == t then 
    d.regen_file("data/dungeon/skia_boss2.txt") 
    elseif 3 == t then 
    d.regen_file("data/dungeon/skia_boss3.txt") 
    else 
    d.regen_file("data/dungeon/skia_boss4.txt") 
    end 
    end 
    end 
    when login with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin 
    pc.set_warp_location(73 , 1825, 12207) 
    end 
    when login with pc.in_dungeon() and d.getf("grotte_boss") == 1 begin 
        timer("skipia_boss_end", 3600)     
        d.set_regen_file("data/dungeon/skia_boss.txt") 
        local t = number(1,4) 
        if 1 == t then 
            d.regen_file("data/dungeon/skia_boss1.txt") 
            elseif 2 == t then 
            d.regen_file("data/dungeon/skia_boss2.txt") 
            elseif 3 == t then 
            d.regen_file("data/dungeon/skia_boss3.txt") 
            else 
            d.regen_file("data/dungeon/skia_boss4.txt") 
        end 
        local o = number(1,4) 
        if 1 == o then 
            d.regen_file("data/dungeon/skia_boss1.txt") 
            elseif 2 == o then 
            d.regen_file("data/dungeon/skia_boss2.txt") 
            elseif 3 == o then 
            d.regen_file("data/dungeon/skia_boss3.txt") 
            else 
            d.regen_file("data/dungeon/skia_boss4.txt") 
            end     
        d.setf("grotte_boss", 2) 
        d.notice("Willkommen im Tempel des Drachen, ihr habt maximal 1 Stunde Zeit Beran-Setaou zu besiegen, Viel Erfolg") 
        d.setf("count", 0) 
        pc.set_warp_location(73 , 1825, 12207) 
        end 

    when login with pc.in_dungeon() and d.getf("grotte_boss") == 3 begin -- begin 
    --pc.warp(181700, 1220600) 
    end 
    when skipia_boss_end.timer begin 
        d.exit_all() 
        end 
    when skipia_boss_ende.timer begin 
        kill_all_in_map(401) 
        game.set_event_flag("Grotte_zugang",0) 
        d.setf("grotte_boss", 1) 
        d.exit_all() 
    end 
    when login with pc.get_map_index() != 401 or not pc.in_dungeon() begin 
    pc.setqf("erlaubt",0) 
    end 
    end 
end
Auf der Ebene nach dem Kaiserfelsen spawnt alles und wenn ich nen Metin kille spawnt der direkt neu und wenn ich den Drachen kille passiert nix :-( Bitte um Hilfe
PHP Code:
with pc.in_dungeon() and 
gib mal nen Map Index an
08/20/2013 20:36 _Jimbo#8805
wo muss ich das angeben ?