Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 20:43

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[SERVICE] Die Questkontrolle

Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old 07/25/2015, 15:50   #11791
 
elite*gold: 0
Join Date: May 2009
Posts: 33
Received Thanks: 4
Hallo,
kann mir eventuell jemand helfen. Diese Quest wurde von einem Freund geschrieben, die er mir zugeschickt hat. Nun klappt sie leider nicht und in der Oracle VM VirutalBox steht:


WHEN : levelup
with pc . get_level () >=20
STATE : info
WHEN: letter
expecting: "state"
tagebuchseite_1.quest:16:Error occured on compile tagebuchseite_1.quest


Ich würde mich freuen, wenn ihr mir helfen könntet.
Danke im Voraus.

PS: Ich habe nicht wirklich Ahnung davon.
Sonst bitte Laienhaft erklären.

PHP Code:
quest tagebuchseite_1 begin
    state start begin
        when login 
or levelup with pc.get_level()>= 20 begin
            set_state
(info)
        
end
    end    
    state info begin
        when letter begin
            send_letter
("Totes Schweigen")
            
local v find_npc_by_vnum(20023)
            if 
!= 0 then
                target
.vid("target1"v"Soon")
            
end
        end
    end    
        when button 
or info begin
            say_title
("Totes Schweigen")
            
say("Gehe zu Soon, er verlangt Hilfe")
            
say("von dir.")
        
end
        when target1
.target.click or 20023.chat."Totes Schweigen" begin    
            target
.delete("target1")
            
say_title("Soon")
            
say("Hallo, du siehst stark aus. Erhöre meine Bitte,")
            
say("ich werde dich dafür auch belohnen!")
            
say("Die Legende besagt, dass ein altes Buch,")
            
say("welches nun in den Händen furchtbarer Monster ist,")
            
say("früher alle drei Reiche zusammen gehalten hat.")
            
say("Nach dem furchtbaren Krieg vor Jahrzenten gelang es")
            
say("einem dunklen Ritter, dieses Buch zu zerstören,")
            
say("indem er die Seiten herausgerissen hatte und über")
            
say("das Land verteilte. Ich habe es mir zur Aufgabe gemacht,")
            
say("diese Seiten zu finden, doch alleine bin ich nicht stark genug.")
            
say("Kann ich mich auf deine Hilfe verlassen?")
            
say("Klasse, danke!")
            
wait()
        
end
            say_title
("Soon")
            
say("Laut einem Gerücht ist eine Seite hier auf Map1 zu finden.")
            
say("Wenn wir eine Seite haben, kann ich diese entziffern, um")
            
say("die die weiteren ausfindig zu machen....wenn wir Glück haben.")
            
say("Finden kannst du sie bei der Tiergottheit Tigris.")
            
say("Diese Gottheit war früher das Wappentier der dunklen Nation.")
            
say("Klingt nur allzu logisch, dass eine Seite dieses Tier in Besitz hat.")
            
say("Am Besten du tötest gleich mehrere, um ganz sicher zu gehen.")
            
say("Kehre bitte sofort zu mir zurück, falls sich was getan hat.")
            
say("Damit du schneller bist, gebe ich dir etwas, hier bitte!")
            
say_reward("Pfirsichblütensaft von Soon erhalten")
            
pc.give_item2(5080110)
            
clear_letter()
            
set_state(find_tigris)
        
end
    end
    state find_tigris begin
        when letter begin
            send_letter
("Totes Schweigen")            
        
end
    end    
        when button 
or info begin
            say_title
("Totes Schweigen")
            
say("Töte Tigris um die erste")
            
say("Seite zu finden.")
        
end
        when 194.kill begin
            local pct 
number(1,200)
            if 
pct==200 then
                clear_letter
                pc
.give_item2(301501)
                
chat("Hey, du hast sie gefunden!")
                
set_state(to_soon)
            
end
        end
    end
    state to_soon begin
        when letter begin
            send_letter
("Totes Schweigen")
            
local v find_npc_by_vnum(20023)
            if 
!= 0 then
                target
.vid("target2"v"Soon")
            
end
        end
    end
        when button 
or info begin
            say_title
("Totes Schweigen")
            
say("Du hast etwas gefunden. Gehe zu Soon")
            
say("und berichte ihm davon.")
        
end
        when target2
.target.click or 20023.chat."Totes Schweigen" begin    
            target
.delete("target2")
            
say_title("Soon")
            
say("Hallo, viel zutun?...Was hast du da?")
            
say("Du hast sie tatsächlich gefunden, dann ist es wahr!")
            
say("Ich werde sie sofort untersuchen, ganz vorsichtig.")
            
say("Das letzte Mal, als ich so viel Freude an etwas hatte,")
            
say("war beim letzten Betriebsausflug, als ich ein Stock")
            
say("ins Auge bekommen habe. Ulkig, oder?")
            
clear_letter()
                
set_state(to_soon2)
            
end    
        end
    state to_soon2 begin
        when letter begin
            send_letter
("Tagebuchseite 1")
            
local v find_npc_by_vnum(20023)
            if 
!= 0 then
                target
.vid("target3"v"Soon")
            
end
        end
    end    
        when button 
or info begin
            say_title
("Tagebuchseite 1")
            
say("Gehe zu Soon,")
            
say("er möchte dir etwas bekannt geben.")
        
end
        when target3
.target.click or 20023.chat."Tagebuchseite 1" begin    
            target
.delete("target3")
            
say_title("Soon")
            
say("Gut, das du gekommen bist.")
            
say("Gib mir nochmal die Seite zum genaueren Betrachten.")
            if 
pc.count_item(30150)<or pc.count_item(30150)<0 then
                say
("")
                
say("Augenblick mal, du hast sie nicht bei dir?")
                
say("Geh und hole sie bitte für mich.")
                return
            else
                
pc.remove_item(301501)
            
end
            say
("So, ich denke ich hab es entziffern können.")
            
say("Leider ist es noch zu früh, um überhaupt etwas")
            
say("deuten zu können und ich möchte ja auch die Spannung erhalten.")
            
say("Von daher muss ich dich noch etwas foltern.")
            
clear_letter()
            
set_state(to_soon3)
        
end
    end
    state to_soon3 begin
        when letter begin
            send_letter
("Tagebuchseite 1")
            
local v find_npc_by_vnum(20023)
            if 
!= 0 then
                target
.vid("target4"v"Soon")
            
end
        end
    end    
        when button 
or info begin
            say_title
("Tagebuchseite 1")
            
say("Du kannst nicht mehr länger warten.")
            
say("Gehe zu Soon.")
        
end
        when target4
.target.click or 20023.chat."Tagebuchseite 1" begin    
            target
.delete("target4")
            
say_title("Soon")
            
say("Was ist los?")
            
say("Ich verstehe, doch leider ist das mein Ernst!")
            
say("Egal, wie sehr ich mich bemühe, ich bekomme nur")
            
say("sehr wenig voran und ich möchte nicht falsches daraus")
            
say("deuten. Später komme ich auf dich zurück und")
            
say("erkläre dir, was ich gelesen habe.")
            
say("Möge dein Abenteuer gerade erst angefangen haben.")
            
say("Deine Belohnung kann sich auf deiner Reise als nützlich erweisen.")
            
pc.give_item2(70038100)
            
pc.give_item2(710322)
            
pc.give_item2(250401)
            
clear_letter()
        
end
    end
end 
Niklas18 is offline  
Old 07/25/2015, 16:23   #11792

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by Niklas18 View Post
Hallo,
kann mir eventuell jemand helfen. Diese Quest wurde von einem Freund geschrieben, die er mir zugeschickt hat. Nun klappt sie leider nicht und in der Oracle VM VirutalBox steht:


WHEN : levelup
with pc . get_level () >=20
STATE : info
WHEN: letter
expecting: "state"
tagebuchseite_1.quest:16:Error occured on compile tagebuchseite_1.quest


Ich würde mich freuen, wenn ihr mir helfen könntet.
Danke im Voraus.

PS: Ich habe nicht wirklich Ahnung davon.
Sonst bitte Laienhaft erklären.

PHP Code:
quest tagebuchseite_1 begin
    state start begin
        when login 
or levelup with pc.get_level()>= 20 begin
            set_state
(info)
        
end
    end    
    state info begin
        when letter begin
            send_letter
("Totes Schweigen")
            
local v find_npc_by_vnum(20023)
            if 
!= 0 then
                target
.vid("target1"v"Soon")
            
end
        end
    end    
        when button 
or info begin
            say_title
("Totes Schweigen")
            
say("Gehe zu Soon, er verlangt Hilfe")
            
say("von dir.")
        
end
        when target1
.target.click or 20023.chat."Totes Schweigen" begin    
            target
.delete("target1")
            
say_title("Soon")
            
say("Hallo, du siehst stark aus. Erhöre meine Bitte,")
            
say("ich werde dich dafür auch belohnen!")
            
say("Die Legende besagt, dass ein altes Buch,")
            
say("welches nun in den Händen furchtbarer Monster ist,")
            
say("früher alle drei Reiche zusammen gehalten hat.")
            
say("Nach dem furchtbaren Krieg vor Jahrzenten gelang es")
            
say("einem dunklen Ritter, dieses Buch zu zerstören,")
            
say("indem er die Seiten herausgerissen hatte und über")
            
say("das Land verteilte. Ich habe es mir zur Aufgabe gemacht,")
            
say("diese Seiten zu finden, doch alleine bin ich nicht stark genug.")
            
say("Kann ich mich auf deine Hilfe verlassen?")
            
say("Klasse, danke!")
            
wait()
        
end
            say_title
("Soon")
            
say("Laut einem Gerücht ist eine Seite hier auf Map1 zu finden.")
            
say("Wenn wir eine Seite haben, kann ich diese entziffern, um")
            
say("die die weiteren ausfindig zu machen....wenn wir Glück haben.")
            
say("Finden kannst du sie bei der Tiergottheit Tigris.")
            
say("Diese Gottheit war früher das Wappentier der dunklen Nation.")
            
say("Klingt nur allzu logisch, dass eine Seite dieses Tier in Besitz hat.")
            
say("Am Besten du tötest gleich mehrere, um ganz sicher zu gehen.")
            
say("Kehre bitte sofort zu mir zurück, falls sich was getan hat.")
            
say("Damit du schneller bist, gebe ich dir etwas, hier bitte!")
            
say_reward("Pfirsichblütensaft von Soon erhalten")
            
pc.give_item2(5080110)
            
clear_letter()
            
set_state(find_tigris)
        
end
    end
    state find_tigris begin
        when letter begin
            send_letter
("Totes Schweigen")            
        
end
    end    
        when button 
or info begin
            say_title
("Totes Schweigen")
            
say("Töte Tigris um die erste")
            
say("Seite zu finden.")
        
end
        when 194.kill begin
            local pct 
number(1,200)
            if 
pct==200 then
                clear_letter
                pc
.give_item2(301501)
                
chat("Hey, du hast sie gefunden!")
                
set_state(to_soon)
            
end
        end
    end
    state to_soon begin
        when letter begin
            send_letter
("Totes Schweigen")
            
local v find_npc_by_vnum(20023)
            if 
!= 0 then
                target
.vid("target2"v"Soon")
            
end
        end
    end
        when button 
or info begin
            say_title
("Totes Schweigen")
            
say("Du hast etwas gefunden. Gehe zu Soon")
            
say("und berichte ihm davon.")
        
end
        when target2
.target.click or 20023.chat."Totes Schweigen" begin    
            target
.delete("target2")
            
say_title("Soon")
            
say("Hallo, viel zutun?...Was hast du da?")
            
say("Du hast sie tatsächlich gefunden, dann ist es wahr!")
            
say("Ich werde sie sofort untersuchen, ganz vorsichtig.")
            
say("Das letzte Mal, als ich so viel Freude an etwas hatte,")
            
say("war beim letzten Betriebsausflug, als ich ein Stock")
            
say("ins Auge bekommen habe. Ulkig, oder?")
            
clear_letter()
                
set_state(to_soon2)
            
end    
        end
    state to_soon2 begin
        when letter begin
            send_letter
("Tagebuchseite 1")
            
local v find_npc_by_vnum(20023)
            if 
!= 0 then
                target
.vid("target3"v"Soon")
            
end
        end
    end    
        when button 
or info begin
            say_title
("Tagebuchseite 1")
            
say("Gehe zu Soon,")
            
say("er möchte dir etwas bekannt geben.")
        
end
        when target3
.target.click or 20023.chat."Tagebuchseite 1" begin    
            target
.delete("target3")
            
say_title("Soon")
            
say("Gut, das du gekommen bist.")
            
say("Gib mir nochmal die Seite zum genaueren Betrachten.")
            if 
pc.count_item(30150)<or pc.count_item(30150)<0 then
                say
("")
                
say("Augenblick mal, du hast sie nicht bei dir?")
                
say("Geh und hole sie bitte für mich.")
                return
            else
                
pc.remove_item(301501)
            
end
            say
("So, ich denke ich hab es entziffern können.")
            
say("Leider ist es noch zu früh, um überhaupt etwas")
            
say("deuten zu können und ich möchte ja auch die Spannung erhalten.")
            
say("Von daher muss ich dich noch etwas foltern.")
            
clear_letter()
            
set_state(to_soon3)
        
end
    end
    state to_soon3 begin
        when letter begin
            send_letter
("Tagebuchseite 1")
            
local v find_npc_by_vnum(20023)
            if 
!= 0 then
                target
.vid("target4"v"Soon")
            
end
        end
    end    
        when button 
or info begin
            say_title
("Tagebuchseite 1")
            
say("Du kannst nicht mehr länger warten.")
            
say("Gehe zu Soon.")
        
end
        when target4
.target.click or 20023.chat."Tagebuchseite 1" begin    
            target
.delete("target4")
            
say_title("Soon")
            
say("Was ist los?")
            
say("Ich verstehe, doch leider ist das mein Ernst!")
            
say("Egal, wie sehr ich mich bemühe, ich bekomme nur")
            
say("sehr wenig voran und ich möchte nicht falsches daraus")
            
say("deuten. Später komme ich auf dich zurück und")
            
say("erkläre dir, was ich gelesen habe.")
            
say("Möge dein Abenteuer gerade erst angefangen haben.")
            
say("Deine Belohnung kann sich auf deiner Reise als nützlich erweisen.")
            
pc.give_item2(70038100)
            
pc.give_item2(710322)
            
pc.give_item2(250401)
            
clear_letter()
        
end
    end
end 
1 end zu viel in zeile 15
rollback is offline  
Old 07/25/2015, 16:41   #11793
 
elite*gold: 0
Join Date: May 2009
Posts: 33
Received Thanks: 4
Danke - wurde entfernt, doch der Fehler bleibt weiterhin bestehen.
Niklas18 is offline  
Old 07/25/2015, 17:14   #11794

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by Niklas18 View Post
Danke - wurde entfernt, doch der Fehler bleibt weiterhin bestehen.
ja, nur der fehler zeigt diesmal eine andere zeile an
rollback is offline  
Old 07/25/2015, 18:17   #11795
 
Resqu's Avatar
 
elite*gold: 110
Join Date: Jun 2015
Posts: 85
Received Thanks: 22
Hallo Habe ein problemm wenn ich die metins von 8040 bis 8033 gekillt habe tut sicht nix ingame kommt dann naricht das ich die kreaturen töten soll kommt auch nix und ein NPC mit der value 20355 erscheint auch nicht
und wenn ich aus Skyrun mitten drin raus gehe in map 1 sagt er mir es sind noch 5 min verbleibende so zu sagen der run läuft dann weiter ich Bitte um hilfe wäre sehr nett von euch

PHP Code:
quest devildown begin
    state start begin
        when 30123.chat
."Sky Run" begin
            
if pc.get_level() < 85 then
                say 
("Ich merke das du noch zu Schwach bist, komm zurück wenn du level 85 erreicht hast!."
            else
                
say_title("Sky - Run")
                
say("This run is abounds with monsters killers.")
                
say("Nur die stärksten kommen hoch zur Spitze!.")
                
say("Sie sagen dass die meisten die es Wagen")
                
say("die Herausforderung anzunehmen für immer Verschwunden sind")
                
say("Nimmst du die Herausforderung wirklich an?")
                
local s select("JA""NEIN")
                    if 
== 1 then
                        pc
.warp(17622003535700)
                    else
                        return
                    
end
                end
            end

        when 8041.kill with pc
.get_map_index()==240 begin
            local jump1 
number(120)
            if 
jump1 <= 10 then
                chat
("Da ist der Goldene Ring.")
                
chat("Bring ihn zum NPC.")
                
game.drop_item(400011)
            else
                
chat("Du hast noch keinen Ring gedroppt..")
            
end
        end
        
        when 30121.chat
."SkyRun" begin
            
if pc.count_item(40001) >= 1 then
                say_title
("Sky Man:")
                
say("Hast du den Goldenen Ring?")
                
say("Ich schaue ihn mir genauer an")
                
say("Respekt!, Das ist er!")
                
pc.removeitem("40001"1)
                
wait()
                
say_title("Sky Man:")
                
say("Ich bin stolz auf dich!")
                
say("Ich bringe dich nun weiter!")
                
wait()            
                
d.new_jump_all(2401717435233)
                
d.setf("devillevel"1)
                
local boxto7pc.count_item(40001)  
                
pc.remove_item(40001boxto7)

                
local vid d.spawn_mob(8008111156)
                
d.regen_file("data/dungeon/sky_run/regen.txt")
                
d.set_unique("real"vid)
                
d.notice("Kämpft euch durch die Monster!!.");
                
d.notice("Bis ihr zum Meteroit der Seele gelangt.");
                
d.notice("Diesen müsst ihr Zerstören!!!.");
            else
                
say_title("Sky Man:")
                
say("Um in die nächste Ebene zu kommen,")
                
say("musst du den Richtigen Metin,")
                
say("finden und zerstören.Viel Glück!")
            
end
        end

        when 8008.kill with pc
.in_dungeon() begin
            
if d.is_unique_dead("real"then
                d
.setf("devillevel"2)
                
d.clear_regen()
                
d.jump_all(1762135636)
                
d.regen_file("data/dungeon/sky_run/metins.txt")
            
end
        end

        when 8040.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"3)    
            
d.spawn_mob(8023613609)
        
end

        when 8023.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"4)    
            
d.spawn_mob(8050621586)
        
end

        when 8050.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"5)    
            
d.spawn_mob(8025588609)
        
end
        
        when 8025.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"6)    
            
d.spawn_mob(8026569636)
        
end
        
        when 8026.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"7)    
            
d.spawn_mob(8031588665)
        
end
        
        when 8027.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"8)    
            
d.spawn_mob(8054622686)
        
end
        
        when 8054.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"9)    
            
d.spawn_mob(8033659668)
        
end
        
        when 8033.kill with pc
.in_dungeon() begin
            
if d.is_unique_dead("real"then
                d
.notice("du hast denn letzten metin2 gekillt.");
                
d.regen_file("data/dungeon/sky_run/npc.txt")
                
d.spawn_mob(20355619635)
                
d.setf("devillevel"10)
            
end
        end
        
        when 20355.chat
."Last floor" begin 
            npc
.purge()
            
say_reward("Guard:")
            
say("Go to last floor,good luck!!")
            
wait()
            
d.jump_all(1720135623)
            
d.regen_file("data/dungeon/sky_run/end.txt")
            
d.set_unique("real"vid)
        
end
        
        when 2493.kill with pc
.in_dungeon() begin
            local level 
pc.get_level()            
            
chat("Glückwunsch! Du hast den Skyrun erfoglreich gemeistert!")
            
chat("Du kehrst in kürze in dein Reich zurück")
            
d.kill_all()
            
d.kill_all()
            
notice_all("Die gruppe von "..pc.get_name().." hat denn Skyrun bezwungen")
            
timer("goout_from_dc"60)
        
end
        
        when dc6
.timer begin
            chat
("Du hast zu lange gebraucht, die Zeit ist um!")
            
warp_all_to_villagepc.get_map_index() , )
            
end
        when goout_from_dc
.timer begin
            warp_all_to_village
pc.get_map_index() , )
        
end
    end
end 
Resqu is offline  
Old 07/25/2015, 18:32   #11796
 
elite*gold: 0
Join Date: May 2009
Posts: 33
Received Thanks: 4
Exclamation

Quote:
Originally Posted by Seחsi View Post
ja, nur der fehler zeigt diesmal eine andere zeile an
Danke für deine bisherige Mühe und Hilfe.

Dennoch brauche ich noch weitere Hilfe. Ich selbst kann mich damit nicht auseinandersetzen, da ich keine Idee habe.

Eine Lösung wäre super, ohne mit mir die Nadel im Heuhaufen zu suchen.
Jemand anderes eine Idee?

Danke im Voraus!
LG
Niklas18 is offline  
Old 07/25/2015, 21:45   #11797
 
elite*gold: 0
Join Date: Jun 2014
Posts: 223
Received Thanks: 43
Hallo,
Könnte mir jemand in diese Quest ein Function einbauen
womit ich die boni der pets einstellen kann ?
PHP Code:
quest pet_system begin
    state start begin
        
function get_pet_info(itemVnum)
            
pet_info_map = {
            --  [
ITEM VNUMMOB_VNUM, DEFAULT NAMEbuff_idxspawn_effect_idx
                
[53001]     = { 20120"'s Feuerphönix"0},
                [
53002]     = { 20126"'s Bambi"0},
                [
53003]     = { 20123"'s Eisphöix"0},
                [
53005]     = { 20129"'s Baby Azrael"0},
                [
53006]     = { 20132"'s Hund"0},
            }

            
itemVnum tonumber(itemVnum)

            return 
pet_info_map[itemVnum]
        
end
        
function get_spawn_effect_file(idx)
            
effect_table = {
                [
0] = nil,
                [
1] = "d:\\\\ymir work\\\\effect\\\\etc\\\\appear_die\\\\npc2_appear.mse",
            }
            return 
effect_table [idx]
        
end
        when 53001.
use or 53002.use or 53003.use or 53005.use or 53006.use begin
            local pet_info 
pet_system.get_pet_info(item.vnum)

            if 
null != pet_info then

                local mobVnum 
pet_info[1]
                
local petName pet_info[2]
                
local spawn_effect_file_name pet_system.get_spawn_effect_file(pet_info[3])

                if 
true == pet.is_summon(mobVnumthen
                    
if spawn_effect_file_name != nil then
                        pet
.spawn_effect (mobVnumspawn_effect_file_name)
                    
end
                    pet
.unsummon(mobVnum)
              
syschat("Du hast dein Haustier weggeschickt.")
                else
                    if 
pet.count_summoned() < 1 then
                        pet
.summon(mobVnumpetNamefalse)
               
syschat("Du hast dein Haustier erfolgreich gerufen.")
                    else
                        
syschat("Du hast schon ein Haustier gerufen.")
                    
end
                    
if spawn_effect_file_name != nil then
                        pet
.spawn_effect(mobVnumspawn_effect_file_name)
                    
end
                end 
-- if pet.is_summon
            end  
-- if null != pet_info
        end 
-- when
    end 
-- state
end 
-- quest 
Prof.MindFreak is offline  
Old 07/26/2015, 09:15   #11798
 
x"Kazuki's Avatar
 
elite*gold: 50
Join Date: Aug 2014
Posts: 508
Received Thanks: 201
Quote:
Originally Posted by x"Kazuki View Post
Bekomme beim Compilenden Fehler:

immer noch
x"Kazuki is offline  
Old 07/26/2015, 16:46   #11799
 
elite*gold: 0
Join Date: May 2009
Posts: 33
Received Thanks: 4
Lightbulb

Quote:
Originally Posted by Niklas18 View Post
Hallo,
kann mir eventuell jemand helfen. Diese Quest wurde von einem Freund geschrieben, die er mir zugeschickt hat. Nun klappt sie leider nicht und in der Oracle VM VirutalBox steht:


WHEN : levelup
with pc . get_level () >=20
STATE : info
WHEN: letter
expecting: "state"
tagebuchseite_1.quest:16:Error occured on compile tagebuchseite_1.quest


Ich würde mich freuen, wenn ihr mir helfen könntet.
Danke im Voraus.

PS: Ich habe nicht wirklich Ahnung davon.
Sonst bitte Laienhaft erklären.

PHP Code:
quest tagebuchseite_1 begin
    state start begin
        when login 
or levelup with pc.get_level()>= 20 begin
            set_state
(info)
        
end
    end    
    state info begin
        when letter begin
            send_letter
("Totes Schweigen")
            
local v find_npc_by_vnum(20023)
            if 
!= 0 then
                target
.vid("target1"v"Soon")
            
end
        end
    end    
        when button 
or info begin
            say_title
("Totes Schweigen")
            
say("Gehe zu Soon, er verlangt Hilfe")
            
say("von dir.")
        
end
        when target1
.target.click or 20023.chat."Totes Schweigen" begin    
            target
.delete("target1")
            
say_title("Soon")
            
say("Hallo, du siehst stark aus. Erhöre meine Bitte,")
            
say("ich werde dich dafür auch belohnen!")
            
say("Die Legende besagt, dass ein altes Buch,")
            
say("welches nun in den Händen furchtbarer Monster ist,")
            
say("früher alle drei Reiche zusammen gehalten hat.")
            
say("Nach dem furchtbaren Krieg vor Jahrzenten gelang es")
            
say("einem dunklen Ritter, dieses Buch zu zerstören,")
            
say("indem er die Seiten herausgerissen hatte und über")
            
say("das Land verteilte. Ich habe es mir zur Aufgabe gemacht,")
            
say("diese Seiten zu finden, doch alleine bin ich nicht stark genug.")
            
say("Kann ich mich auf deine Hilfe verlassen?")
            
say("Klasse, danke!")
            
wait()
        
end
            say_title
("Soon")
            
say("Laut einem Gerücht ist eine Seite hier auf Map1 zu finden.")
            
say("Wenn wir eine Seite haben, kann ich diese entziffern, um")
            
say("die die weiteren ausfindig zu machen....wenn wir Glück haben.")
            
say("Finden kannst du sie bei der Tiergottheit Tigris.")
            
say("Diese Gottheit war früher das Wappentier der dunklen Nation.")
            
say("Klingt nur allzu logisch, dass eine Seite dieses Tier in Besitz hat.")
            
say("Am Besten du tötest gleich mehrere, um ganz sicher zu gehen.")
            
say("Kehre bitte sofort zu mir zurück, falls sich was getan hat.")
            
say("Damit du schneller bist, gebe ich dir etwas, hier bitte!")
            
say_reward("Pfirsichblütensaft von Soon erhalten")
            
pc.give_item2(5080110)
            
clear_letter()
            
set_state(find_tigris)
        
end
    end
    state find_tigris begin
        when letter begin
            send_letter
("Totes Schweigen")            
        
end
    end    
        when button 
or info begin
            say_title
("Totes Schweigen")
            
say("Töte Tigris um die erste")
            
say("Seite zu finden.")
        
end
        when 194.kill begin
            local pct 
number(1,200)
            if 
pct==200 then
                clear_letter
                pc
.give_item2(301501)
                
chat("Hey, du hast sie gefunden!")
                
set_state(to_soon)
            
end
        end
    end
    state to_soon begin
        when letter begin
            send_letter
("Totes Schweigen")
            
local v find_npc_by_vnum(20023)
            if 
!= 0 then
                target
.vid("target2"v"Soon")
            
end
        end
    end
        when button 
or info begin
            say_title
("Totes Schweigen")
            
say("Du hast etwas gefunden. Gehe zu Soon")
            
say("und berichte ihm davon.")
        
end
        when target2
.target.click or 20023.chat."Totes Schweigen" begin    
            target
.delete("target2")
            
say_title("Soon")
            
say("Hallo, viel zutun?...Was hast du da?")
            
say("Du hast sie tatsächlich gefunden, dann ist es wahr!")
            
say("Ich werde sie sofort untersuchen, ganz vorsichtig.")
            
say("Das letzte Mal, als ich so viel Freude an etwas hatte,")
            
say("war beim letzten Betriebsausflug, als ich ein Stock")
            
say("ins Auge bekommen habe. Ulkig, oder?")
            
clear_letter()
                
set_state(to_soon2)
            
end    
        end
    state to_soon2 begin
        when letter begin
            send_letter
("Tagebuchseite 1")
            
local v find_npc_by_vnum(20023)
            if 
!= 0 then
                target
.vid("target3"v"Soon")
            
end
        end
    end    
        when button 
or info begin
            say_title
("Tagebuchseite 1")
            
say("Gehe zu Soon,")
            
say("er möchte dir etwas bekannt geben.")
        
end
        when target3
.target.click or 20023.chat."Tagebuchseite 1" begin    
            target
.delete("target3")
            
say_title("Soon")
            
say("Gut, das du gekommen bist.")
            
say("Gib mir nochmal die Seite zum genaueren Betrachten.")
            if 
pc.count_item(30150)<or pc.count_item(30150)<0 then
                say
("")
                
say("Augenblick mal, du hast sie nicht bei dir?")
                
say("Geh und hole sie bitte für mich.")
                return
            else
                
pc.remove_item(301501)
            
end
            say
("So, ich denke ich hab es entziffern können.")
            
say("Leider ist es noch zu früh, um überhaupt etwas")
            
say("deuten zu können und ich möchte ja auch die Spannung erhalten.")
            
say("Von daher muss ich dich noch etwas foltern.")
            
clear_letter()
            
set_state(to_soon3)
        
end
    end
    state to_soon3 begin
        when letter begin
            send_letter
("Tagebuchseite 1")
            
local v find_npc_by_vnum(20023)
            if 
!= 0 then
                target
.vid("target4"v"Soon")
            
end
        end
    end    
        when button 
or info begin
            say_title
("Tagebuchseite 1")
            
say("Du kannst nicht mehr länger warten.")
            
say("Gehe zu Soon.")
        
end
        when target4
.target.click or 20023.chat."Tagebuchseite 1" begin    
            target
.delete("target4")
            
say_title("Soon")
            
say("Was ist los?")
            
say("Ich verstehe, doch leider ist das mein Ernst!")
            
say("Egal, wie sehr ich mich bemühe, ich bekomme nur")
            
say("sehr wenig voran und ich möchte nicht falsches daraus")
            
say("deuten. Später komme ich auf dich zurück und")
            
say("erkläre dir, was ich gelesen habe.")
            
say("Möge dein Abenteuer gerade erst angefangen haben.")
            
say("Deine Belohnung kann sich auf deiner Reise als nützlich erweisen.")
            
pc.give_item2(70038100)
            
pc.give_item2(710322)
            
pc.give_item2(250401)
            
clear_letter()
        
end
    end
end 


Ich brauche noch immer Hilfe - Welche/r Fehler wurde noch nicht beseitigt?
Danke im Voraus! ##Kontrolle dieser Quest##
Niklas18 is offline  
Old 07/26/2015, 20:09   #11800
 
Resqu's Avatar
 
elite*gold: 110
Join Date: Jun 2015
Posts: 85
Received Thanks: 22
Hilfe bitte

Hallo brauche euere hilfe wenn ich die metine kapput mache spawnt er mir denn NPC nicht nicht bitte helfen die zeile fängt ab 8040 an

PHP Code:
quest devildown begin
    state start begin
        when 30123chat
."Sky Run" begin
            
if pc.get_level() < 85 then
                say 
("You have not enough experience.Come back when you're level 85!!"
            else
                
say_title("Dungeon Guard")
                
say("This run is abounds with monsters killers.")
                
say("Only the strongest can reach the top.")
                
say("It is said, that nobody who enters")
                
say("the run has left it alive.")
                
say("Do you still want to enter the Sky Run?")
                
local s select("Yes""No")
                    if 
== 1 then
                        pc
.warp(17622003535700)
                    else
                        return
                    
end
                end
            end

        when 8041.kill with pc
.get_map_index()==240 begin
            local jump1 
number(120)
            if 
jump1 <= 10 then
                chat
("This is ring.")
                
chat("Bring it to Sky Man.")
                
game.drop_item(400011)
            else
                
chat("That was not ring..")
            
end
        end
        
        when 30121.chat
."Part of ring" begin
            
if pc.count_item(40001) >= 1 then
                say_title
("Sky Man:")
                
say("You have found a ring?")
                
say("Let me see ring.")
                
say("Yes, it is really the ring.")
                
pc.removeitem("40001"1)
                
wait()
                
say_title("Sky Man:")
                
say("Okay, I think it's now good.")
                
say("I will teleport you.")
                
wait()                
                
d.new_jump_all(2401717435233)
                
d.setf("devillevel"1)
                
local boxto7pc.count_item(40001)  
                
pc.remove_item(40001boxto7)

                
local vid d.spawn_mob(8008111156)
                
d.set_unique("real"vid)
                
d.notice("Fight through the monsters through and reach the legendary fire-power.");
                
d.notice("You have to destroy the power of the fire to rise.");
            else
                
say_title("Sky Man:")
                
say("I've heard that one of the Metin Stone,")
                
say("is somewhere around there,")
                
say("if you destroyed metin. If you give me such a")
                
say("part, and i will teleport you in next area")
            
end
        end

        when 8008.kill with pc
.in_dungeon() begin
            
if d.is_unique_dead("real"then
                d
.setf("devillevel"2)
                
d.clear_regen()
                
d.jump_all(1762135636)
                
d.regen_file("data/dungeon/sky_run/metins.txt")
            
end
        end

        when 8040.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"3)    
            
d.spawn_mob(8023613609)
        
end

        when 8023.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"4)    
            
d.spawn_mob(8024621586)
        
end

        when 8024.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"5)    
            
d.spawn_mob(8025588609)
        
end
        
        when 8025.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"6)    
            
d.spawn_mob(8026569636)
        
end
        
        when 8026.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"7)    
            
d.spawn_mob(8031588665)
        
end
        
        when 8031.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"8)    
            
d.spawn_mob(8054622686)
        
end
        
        when 8054.kill with pc
.in_dungeon() begin
            d
.setf("devillevel"9)    
            
d.spawn_mob(8055659668)
        
end
        
        when 8055.kill with pc
.in_dungeon() begin
            
if d.is_unique_dead("real"then
                d
.notice("The last Metin is killed,go to Guard.");
                
d.spawn_mob(20355619635)
                
d.setf("devillevel"10)
            
end
        end
        
        when 20355.chat
."Last floor" begin 
            npc
.purge()
            
say_reward("Guard:")
            
say("Go to last floor,good luck!!")
            
wait()
            
d.jump_all(1720135623)
            
d.regen_file("data/dungeon/sky_run/end.txt")
            
d.set_unique("real"vid)
        
end
        
        when 2493.kill with pc
.in_dungeon() begin
            local level 
pc.get_level()            
            
chat("You defeated the Sky King and you saved the Sky Run.")
            
chat("du wirst in 2 minuten raus Teleportiert!")
            
d.kill_all()
            
d.kill_all()
            
notice_all("Der Spieler "..pc.get_name().." hat denn Skyrun Boss getötet!")
            
timer("goout_from_dc"120)
        
end
        
        when dc6
.timer begin
            chat
("Time has Expired!")
            
warp_all_to_villagepc.get_map_index() , )
            
end
        when goout_from_dc
.timer begin
            warp_all_to_village
pc.get_map_index() , )
        
end
    end
end 
Resqu is offline  
Old 07/27/2015, 12:45   #11801
 
elite*gold: 0
Join Date: May 2009
Posts: 33
Received Thanks: 4
Moin, habe ein anderes Problem:
Die Quest funktioniert, keine Frage(auch wenn es komisch reinkopiert worden ist.)
Mein Problem ist nur, wenn ich die Belohnung von Yu-Hwan bekomme und ihn dann entweder erneut anklicke, oder einen Relog mache, erscheint der Pfeil wieder - will sagen, dass ich unendlich viel Belohnung von dem bekomme.

Man soll bei dieser Mini-Quest aber nur einmal eine Belohnung erhalten, mehr nicht. Wie kann ich das einstellen? Bitte um Hilfe.


PHP Code:
quest jagdaufgabe begin  

    
----------------------------------  
    -- 
LvL 10 /   Erste Seite
    
----------------------------------  
    
state start begin  
        when login 
or levelup with pc.level>9 begin  
            set_state
(talk_to_disciple_lv10)  
        
end      
    end  
    state talk_to_disciple_lv10 begin  
        when letter begin  
            local v 
find_npc_by_vnum(20011)  
            if 
!= 0 then target.vid("__TARGET__"v"Uriel")  
            
end  
            send_letter
("Das Buch des Drachengottes")  
        
end  
        when button 
or info begin  
            say_title
("Das Buch des Drachengottes")  
            
say("")  
            
say("Uriel sucht nach dir.")  
            
say("Sprich mit ihm.")  
            
say("")  
            
say_reward("Sprich mit Uriel")  
            
say("")  
        
end  
        when __TARGET__
.target.click or 20011.chat."Drachengott" begin  
            target
.delete("__TARGET__")  
            
say("Uriel:")  
            
say("")  
            
say("Wer bist du denn?")  
            
say("Oh, du scheinst neu hier zu sein.")  
            
say("Ich bin übrigens Uriel. Mir wird nachgesagt,")  
            
say("ich sei besessen auf Mythen.")  
            
say("In gewisser Weise schon, denn ich lasse mich")
            
say("davon gerne fesseln. Ich bräuchte deine Hilfe.")
            
say("Es geht um ein altes Buch welches ich gefunden"
            
say("habe, doch es fehlen einige Seiten.")
            
wait()
            
say("Die ersten Seiten besagen folgendes:")
            
say("Vor vielen Jahren, als die drei Kaiserreiche im")
            
say("friedlichen Einklang miteinander lebten, fielen")
            
say("abertausende Steine vom Himmel. Diese Steine")
            
say("hatten starke, magnetische Wellen ausgesendet, die")
            
say("lebten, fielen abertausende Steine vom Himmel.")
            
say("Diese Steine, die die Tiere in freier Wildbahn")
            
say("zu Monstern, sogenannte MOBS, werden liesen.")
            
wait()
            
say("Uriel:")
            
say("Das ist total spannend, doch es geht weiter:")
            
say("Das Unheimliche daran war, dass,nachdem diese")
            
say("Steine das Land erreicht hatten, seltsame")
            
say("Kreaturen auftauchten und sich vermehrt überallhin ")
            
say("verteilten. Nirgends waren wir vor ihnen sicher.")
            
say("Wir mussten ständig damit rechnen, dass wir")
            
say("angegriffen werden.")
            
wait()
            
say("Wir wappneten uns mit starken Armeen und dann kam")
            
say("der Tag an dem sich die Klingen der Monster mit")
            
say("unseren kreuzten. Wir hatten diese Schlacht")
            
say("gewonnen, aber nicht den Krieg!Wir dachten wir")
            
say("hätten das Schlimmste überstanden, doch wie aus")
            
say("heiterem Himmel kam ein gigantischer Drache mit")
            
say("übergroßen, mächtigen Kriegern daher um uns das")
            
say("Fürchten zu lehren.")
            
wait()
            
say("Viele unserer Krieger starben")
            
say("an Ort und Stelle und die Schlacht sowie der Krieg")
            
say("schien verloren, doch vier Fremde mit")
            
say("übermenschlichen Kräften gaben Widerstand und")
            
say("durch sie gewannen wir den Krieg.")
            
wait()
            
say("Gott selbst schicktediese vier Fremde zu uns und")
            
say("wir ehrten sie mit einem großen Fest. Seitdem ist")
            
say("es Tradition junge Krieger ab einer bestimmten")
            
say("Grenze diese Fertigkeiten zu lehren, um das Dorf")
            
say("vor weiteren Angriffen zu schützen.")
            
say("Die heutigen Rassen:")
            
say("Krieger, Schamane, Sura und Ninja!")
            
wait()
            
say("Uriel")
            
say("Hier endet die Geschichte.")
            
say("Doch leider zerstritten sich die drei Kaiserreiche.")
            
say("Warum dies so ist, weiß ich nicht.")
            
say("Es könnte viele Gründe haben: Der Krieg, die")
            
say("Versorgung, das Aufbauen und neuziehen der Grenzen")
            
say("oder gar die Steine!")
            
wait() 
            
say("Diese Legende soll mit der Wahrheit verbunden sein.")  
            
say("Leider bin ich nicht so stark und auch")  
            
say("schon ziemlich alt und gebrechlich. Die Seiten,")  
            
say("so die Legende, sollen überall auf dem Kontinent ")
            
say("verteilt sein und diese werden von wilden Monstern")
            
say("jeglicher Art verteidigt. Du musst sie finden!")
            
say("Wenn wir es schaffen sollten, könnte man erneut")
            
say("versuchen, die drei Reiche zum Frieden zu bringen.")
            
wait()
            
say("Eine Möglichkeit und eine Chance, die wir nutzen")
            
say("sollten. Eventuell stehen auf diesen Seiten etwas")
            
say("über die Reiche und über die Grenzen usw. - Ich")
            
say("hoffe ich kann auf deine Hilfe zählen.")
            
say("Was meinst du dazu?")
                        
wait()
            
say("Wirklich? Vielen Dank!")
            
say("Dann vertraue ich dir diese Aufgabe an!")
            
wait()
            
say("Uriel:")  
            
say("Laut alten Schriften sei die erste Seite.")  
            
say("bei den Weißen Eid. Soldaten gelandet.")  
            
say("Vorsicht ist geboten. Sie sind nicht zu")  
            
say("unterschätzen. Pass auf,denn die Seiten.")  
            
say("können auch zerreißen. Sonst brauche ich")  
            
say("eine neue, um weiter zu forschen!")  
            
say("")  
            
set_state(collect_tagebuchseite)  
            
pc.setqf("duration",0)  
            
pc.setqf("collect_count",0)  
        
end  
    end  
   state collect_tagebuchseite begin  
        when letter begin  
            send_letter
("Die erste Seite")  
        
end  
        when button 
or info begin  
            say_title
("Das Geheimnis des Drachengottes")  
            
say("")  
            
say("Finde die Seite und bringe sie Uriel.")  
            
say("Zu finden ist diese bei den Weißen-Eid Clan")  
            
say("")
            
say("Uriel zählt auf deine Hilfe!")
            
say_item_vnum(30150)  
            
say("Ob diese Seite tatsächlich zu dem Buch gehört?")  
            
say("")  
        
end  
        when 301.kill 
or 302.kill or 333.kill begin  
            
if pc.count_item(30150)<1 then  
                local rand 
number(0,99)  
                if 
rand<5 then pc.give_item2(301501)  
                
end  
            end      
        end  
        when 20011.chat
."Die verlorene Seite" begin  
            
if pc.count_item(30150)>0 then  
                say
("Uriel:")  
                
say("Dank deiner Hilfe verstehe ich nun")  
                
say("langsam die Legende um dieses Buch.")  
                
say("Du hast hart gekämpft.")  
                
say("Sprich mit Yu-Hwan, er wird dir helfen,")  
                
say("deine inneren Kräfte zu steigern.")  
                
say("")  
                
say("Komm wieder, wenn du etwas stärker geworden bist.")
                
pc.remove_item(30150,1)  
                
set_state(tagebuch_reward)  
            else  
                
say("Uriel:")  
                
say("Bringe mir bitte die Seite...")  
                
say("Zu finden bei dem Weißen-Eid Clan.")  
                
say("Vorsicht, sie sind nicht zu unterschätzen.")  
                
say("Sei gewappnet! ...")       
                
say("")          
            
end  
        end  
    end      
    state tagebuch_reward begin  
        when letter begin  
            send_letter
("Sprich mit Yu-Hwan")  
            
local v find_npc_by_vnum(20017)  
            
ifv != 0 then target.vid("__TARGET__"v"Doktor")  
            
end  
        end  
        when button 
or info begin  
            say
("Um die Belohnung von Uriel zu erhalten")  
            
say("suche mit den Informationen der")  
            
say("Seite Yu-Hwan in Map2 auf.")  
            
say("")  
        
end  
        when __TARGET__
.target.click  or 20017.chat."Belohnung Yu-Hwan" begin  
            target
.delete("__TARGET__")  
            
say_title("Yu-Hwan:")  
            
say("Ich sehe ...")  
            
say("Uriel hat dich zu mir geschickt.")  
            
say("Hier ist deine Belohnung:")  
            
say("")  
            
say_reward("Du erhälst:")  
            
say_reward(" 100 Tapferkeitsumhänge und 10 Millionen Yang")  
            
say("")  
            
pc.give_item2(70038100)
            
pc.change_money(10000000
        
end  
    end  
end 
Niklas18 is offline  
Old 07/27/2015, 12:56   #11802

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by Niklas18 View Post
Moin, habe ein anderes Problem:
Die Quest funktioniert, keine Frage(auch wenn es komisch reinkopiert worden ist.)
Mein Problem ist nur, wenn ich die Belohnung von Yu-Hwan bekomme und ihn dann entweder erneut anklicke, oder einen Relog mache, erscheint der Pfeil wieder - will sagen, dass ich unendlich viel Belohnung von dem bekomme.

Man soll bei dieser Mini-Quest aber nur einmal eine Belohnung erhalten, mehr nicht. Wie kann ich das einstellen? Bitte um Hilfe.


PHP Code:
quest jagdaufgabe begin  

    
----------------------------------  
    -- 
LvL 10 /   Erste Seite
    
----------------------------------  
    
state start begin  
        when login 
or levelup with pc.level>9 begin  
            set_state
(talk_to_disciple_lv10)  
        
end      
    end  
    state talk_to_disciple_lv10 begin  
        when letter begin  
            local v 
find_npc_by_vnum(20011)  
            if 
!= 0 then target.vid("__TARGET__"v"Uriel")  
            
end  
            send_letter
("Das Buch des Drachengottes")  
        
end  
        when button 
or info begin  
            say_title
("Das Buch des Drachengottes")  
            
say("")  
            
say("Uriel sucht nach dir.")  
            
say("Sprich mit ihm.")  
            
say("")  
            
say_reward("Sprich mit Uriel")  
            
say("")  
        
end  
        when __TARGET__
.target.click or 20011.chat."Drachengott" begin  
            target
.delete("__TARGET__")  
            
say("Uriel:")  
            
say("")  
            
say("Wer bist du denn?")  
            
say("Oh, du scheinst neu hier zu sein.")  
            
say("Ich bin übrigens Uriel. Mir wird nachgesagt,")  
            
say("ich sei besessen auf Mythen.")  
            
say("In gewisser Weise schon, denn ich lasse mich")
            
say("davon gerne fesseln. Ich bräuchte deine Hilfe.")
            
say("Es geht um ein altes Buch welches ich gefunden"
            
say("habe, doch es fehlen einige Seiten.")
            
wait()
            
say("Die ersten Seiten besagen folgendes:")
            
say("Vor vielen Jahren, als die drei Kaiserreiche im")
            
say("friedlichen Einklang miteinander lebten, fielen")
            
say("abertausende Steine vom Himmel. Diese Steine")
            
say("hatten starke, magnetische Wellen ausgesendet, die")
            
say("lebten, fielen abertausende Steine vom Himmel.")
            
say("Diese Steine, die die Tiere in freier Wildbahn")
            
say("zu Monstern, sogenannte MOBS, werden liesen.")
            
wait()
            
say("Uriel:")
            
say("Das ist total spannend, doch es geht weiter:")
            
say("Das Unheimliche daran war, dass,nachdem diese")
            
say("Steine das Land erreicht hatten, seltsame")
            
say("Kreaturen auftauchten und sich vermehrt überallhin ")
            
say("verteilten. Nirgends waren wir vor ihnen sicher.")
            
say("Wir mussten ständig damit rechnen, dass wir")
            
say("angegriffen werden.")
            
wait()
            
say("Wir wappneten uns mit starken Armeen und dann kam")
            
say("der Tag an dem sich die Klingen der Monster mit")
            
say("unseren kreuzten. Wir hatten diese Schlacht")
            
say("gewonnen, aber nicht den Krieg!Wir dachten wir")
            
say("hätten das Schlimmste überstanden, doch wie aus")
            
say("heiterem Himmel kam ein gigantischer Drache mit")
            
say("übergroßen, mächtigen Kriegern daher um uns das")
            
say("Fürchten zu lehren.")
            
wait()
            
say("Viele unserer Krieger starben")
            
say("an Ort und Stelle und die Schlacht sowie der Krieg")
            
say("schien verloren, doch vier Fremde mit")
            
say("übermenschlichen Kräften gaben Widerstand und")
            
say("durch sie gewannen wir den Krieg.")
            
wait()
            
say("Gott selbst schicktediese vier Fremde zu uns und")
            
say("wir ehrten sie mit einem großen Fest. Seitdem ist")
            
say("es Tradition junge Krieger ab einer bestimmten")
            
say("Grenze diese Fertigkeiten zu lehren, um das Dorf")
            
say("vor weiteren Angriffen zu schützen.")
            
say("Die heutigen Rassen:")
            
say("Krieger, Schamane, Sura und Ninja!")
            
wait()
            
say("Uriel")
            
say("Hier endet die Geschichte.")
            
say("Doch leider zerstritten sich die drei Kaiserreiche.")
            
say("Warum dies so ist, weiß ich nicht.")
            
say("Es könnte viele Gründe haben: Der Krieg, die")
            
say("Versorgung, das Aufbauen und neuziehen der Grenzen")
            
say("oder gar die Steine!")
            
wait() 
            
say("Diese Legende soll mit der Wahrheit verbunden sein.")  
            
say("Leider bin ich nicht so stark und auch")  
            
say("schon ziemlich alt und gebrechlich. Die Seiten,")  
            
say("so die Legende, sollen überall auf dem Kontinent ")
            
say("verteilt sein und diese werden von wilden Monstern")
            
say("jeglicher Art verteidigt. Du musst sie finden!")
            
say("Wenn wir es schaffen sollten, könnte man erneut")
            
say("versuchen, die drei Reiche zum Frieden zu bringen.")
            
wait()
            
say("Eine Möglichkeit und eine Chance, die wir nutzen")
            
say("sollten. Eventuell stehen auf diesen Seiten etwas")
            
say("über die Reiche und über die Grenzen usw. - Ich")
            
say("hoffe ich kann auf deine Hilfe zählen.")
            
say("Was meinst du dazu?")
                        
wait()
            
say("Wirklich? Vielen Dank!")
            
say("Dann vertraue ich dir diese Aufgabe an!")
            
wait()
            
say("Uriel:")  
            
say("Laut alten Schriften sei die erste Seite.")  
            
say("bei den Weißen Eid. Soldaten gelandet.")  
            
say("Vorsicht ist geboten. Sie sind nicht zu")  
            
say("unterschätzen. Pass auf,denn die Seiten.")  
            
say("können auch zerreißen. Sonst brauche ich")  
            
say("eine neue, um weiter zu forschen!")  
            
say("")  
            
set_state(collect_tagebuchseite)  
            
pc.setqf("duration",0)  
            
pc.setqf("collect_count",0)  
        
end  
    end  
   state collect_tagebuchseite begin  
        when letter begin  
            send_letter
("Die erste Seite")  
        
end  
        when button 
or info begin  
            say_title
("Das Geheimnis des Drachengottes")  
            
say("")  
            
say("Finde die Seite und bringe sie Uriel.")  
            
say("Zu finden ist diese bei den Weißen-Eid Clan")  
            
say("")
            
say("Uriel zählt auf deine Hilfe!")
            
say_item_vnum(30150)  
            
say("Ob diese Seite tatsächlich zu dem Buch gehört?")  
            
say("")  
        
end  
        when 301.kill 
or 302.kill or 333.kill begin  
            
if pc.count_item(30150)<1 then  
                local rand 
number(0,99)  
                if 
rand<5 then pc.give_item2(301501)  
                
end  
            end      
        end  
        when 20011.chat
."Die verlorene Seite" begin  
            
if pc.count_item(30150)>0 then  
                say
("Uriel:")  
                
say("Dank deiner Hilfe verstehe ich nun")  
                
say("langsam die Legende um dieses Buch.")  
                
say("Du hast hart gekämpft.")  
                
say("Sprich mit Yu-Hwan, er wird dir helfen,")  
                
say("deine inneren Kräfte zu steigern.")  
                
say("")  
                
say("Komm wieder, wenn du etwas stärker geworden bist.")
                
pc.remove_item(30150,1)  
                
set_state(tagebuch_reward)  
            else  
                
say("Uriel:")  
                
say("Bringe mir bitte die Seite...")  
                
say("Zu finden bei dem Weißen-Eid Clan.")  
                
say("Vorsicht, sie sind nicht zu unterschätzen.")  
                
say("Sei gewappnet! ...")       
                
say("")          
            
end  
        end  
    end      
    state tagebuch_reward begin  
        when letter begin  
            send_letter
("Sprich mit Yu-Hwan")  
            
local v find_npc_by_vnum(20017)  
            
ifv != 0 then target.vid("__TARGET__"v"Doktor")  
            
end  
        end  
        when button 
or info begin  
            say
("Um die Belohnung von Uriel zu erhalten")  
            
say("suche mit den Informationen der")  
            
say("Seite Yu-Hwan in Map2 auf.")  
            
say("")  
        
end  
        when __TARGET__
.target.click  or 20017.chat."Belohnung Yu-Hwan" begin  
            target
.delete("__TARGET__")  
            
say_title("Yu-Hwan:")  
            
say("Ich sehe ...")  
            
say("Uriel hat dich zu mir geschickt.")  
            
say("Hier ist deine Belohnung:")  
            
say("")  
            
say_reward("Du erhälst:")  
            
say_reward(" 100 Tapferkeitsumhänge und 10 Millionen Yang")  
            
say("")  
            
pc.give_item2(70038100)
            
pc.change_money(10000000
        
end  
    end  
end 
Stell dir die states als den Speicherstand des Spielers vor. Du bist also mit deinem Spieler am Speicherstand "tabebuch_reward".
Jetzt musst du natürlich auch nach abholen der Belohnung sagen, dass dieser Speicherstand nun abgeschlossen ist und er in den letzten (abgeschlossen) kommt. Schau dir bei anderen Quests einfach mal an wie es da gemacht wurde
rollback is offline  
Thanks
1 User
Old 07/27/2015, 13:41   #11803
 
elite*gold: 0
Join Date: May 2009
Posts: 33
Received Thanks: 4
Thumbs up

Quote:
Originally Posted by Seחsi View Post
Stell dir die states als den Speicherstand des Spielers vor. Du bist also mit deinem Spieler am Speicherstand "tabebuch_reward".
Jetzt musst du natürlich auch nach abholen der Belohnung sagen, dass dieser Speicherstand nun abgeschlossen ist und er in den letzten (abgeschlossen) kommt. Schau dir bei anderen Quests einfach mal an wie es da gemacht wurde
Ah super, danke - habe es wohl hinbekommen.
In meinem Fall nach den Rewards einfach "complete_quest(jagdaufgabe)", 3x dieses "end" und fertig
Niklas18 is offline  
Old 07/28/2015, 17:56   #11804
 
elite*gold: 0
Join Date: Oct 2009
Posts: 13
Received Thanks: 0
Abend,
mein Problem ist das in der 3. Ebene der Metin des Teufels unterhalb der "karte" spawnt.
Wie kann ich den auf die richtige Position bringen, was genau muss ich ändern?
Ich sposte noch unten den Screen.
/edit als ich Schwertschlag auf metin des Teufel gemacht habe ist er wieder oben gespawnt.
Wie kann ich einstellen das er sofort auf seiner Position bleibt ?

Deviltower4_regen.txd

PHP Code:
quest deviltower_zone begin
    state start begin
        when login begin
            
if pc.get_map_index() == 66 then            
                
if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
                    pc
.warp((5376+532)*100, (512+596+4)*10065)
                
end
                pc
.set_warp_location(655376+532512+596+4)
            elseif 
pc.get_map_index() >  660000 and pc.get_map_index() < 670000 then
                pc
.set_warp_location(655376+532512+596+4)
            
end
        end
    when 20348.click begin
        
if pc.get_level() < 30 then 
            say_title
("Wächter des Dämonenturmes")
            
say("")
            
say("Du hast noch nicht genügend Kampferfahrung")
            
say("gesammelt!")
            
say("")
            
say_reward("Komme wieder wenn du Level 30 erreicht hast.")
            return
        
end
        
if pc.get_level() > 29 then
            say_title
("Wächter des Dämonenturmes")
            
say("")
            
say("Der Dämonenturm ist die Heimat von schrecklichen")
            
say("Kreaturen, die nichts lieber tun, als dich zu töten.")
            
say("Die Boni 'Stark gegen Untote' und 'Pfeilwiderstand'")
            
say("könnten dir sehr hilfreich sein!")
            
say("")
            
say_reward("Ab Level 75 hast du die Möglichkeit den Dämonenturm")
            
say_reward("mit einer Gruppe zu betreten.")
            
local betreten select("Dämonenturm normal betreten""Dämonenturm als Gruppe betreten""Abbrechen"
            if 
betreten == 1 then 
                pc
.warp(216500727000)                 
            
end
            
if betreten == and pc.get_level() > 74 then
                
if party.is_party() then
                    say_title
("Wächter des Dämonenturmes")
                    
say("")
                    
say("Bitte achte darauf, dass sich alle Gruppenmitglieder")
                    
say("im Tempel befinden!")
                    
say("")
                    
say_reward("Möchtest du den Dungeon wirklich mit deiner Gruppe")
                    
say_reward("betreten?")
                    
local gruppe_betreten select("Dämonenturm als Gruppe betreten""Abbrechen")
                    if 
gruppe_betreten == 1 then
                        d
.join(66special.devil_tower[1][1], special.devil_tower[1][2])
                        
d.spawn_mob(8015120615)
                    
end
                    
if gruppe_betreten == 2 then
                        
return
                    
end
                end
                
if not party.is_party() then
                    say_title
("Wächter des Dämonenturmes")
                    
say("")
                    
say("Du kannst diese Option nur ausführen wenn du dich")
                    
say("in einer Gruppe befindest.")
                    
say("")
                    
say_reward("Du befindest dich in keiner Gruppe.")
                    return
                
end
            end
            
if betreten == and pc.get_level() < 75 then
                say_title
("Wächter des Dämonenturmes")
                
say("")
                
say_reward("Du kannst diese Option erst mit Level 75 nutzen.")
                return
            
end
            
if betreten == 3 then
                
return
            
end
        end
    end
    when 8015.kill begin
        timer
("zeit_bis_port"10)
        
d.notice("Ihr habt den Metin der Härte zerstört!")
        
d.notice("In 10 Sekunden werdet ihr in die erste Ebene teleportiert.")
    
end
    when zeit_bis_port
.timer begin
        d
.new_jump_all(66special.devil_tower[1][1], special.devil_tower[1][2])
        
d.regen_file("data/dungeon/deviltower2_regen.txt")
        
d.set_warp_at_eliminate(4d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
    
end
    
--when devil_stone2.kill begin
    
--d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
    --
end
    when devil_stone3
.kill begin
        
--d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2])
        --
d.set_exit_all_at_eliminate(6)
        --
d.set_warp_at_eliminate(6d.get_map_index(), 100100)
        --
d.set_warp_at_eliminate(4655376+532512+596+4)
        
d.set_warp_at_eliminate(4d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
        
d.check_eliminated()
        --
d.exit_all()
    
end
    
function get_4floor_stone_pos()
        
local positions = {
        {
368629},
        {
419630},
        {
428653},
        {
422679},
        {
395689},
        {
369679},
        {
361658},
        }
        for 
1do
        
local j number(i7)
        if 
!= j then
            local t 
positions[i];
            
positions[i] = positions[j];
            
positions[j] = t;
        
end
        end
        
--for 1do
    --    
positions[i][1] = positions[i][1] * 100
    
--    positions[i][2] = positions[i][2] * 100
     
--   end
        
return positions
    end
    when 8016.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        d
.setf("level"4)
        -- 
¦A²{¤j¶q©Çª«¤Î»s³y¯u¥ÛÀY©M°²¥ÛÀY
        
--d.regen_file("data/dungeon/deviltower4_regen.txt")
        
local positions deviltower_zone.get_4floor_stone_pos()
        for 
1do
        
chat(positions[i][1], positions[i][2])
        
d.set_unique("fake" .. d.spawn_mob(8017positions[i][1], positions[i][2]))
        
end
        chat
(positions[7][1], positions[7][2])
        
local vid d.spawn_mob(8017positions[7][1], positions[7][2])
        
chat(vid)
        
d.set_unique("real"vid)
        
server_loop_timer('devil_stone4_update'10pc.get_map_index())
        
server_timer('devil_stone4_fail1'5*60pc.get_map_index())

        
d.notice("Findet den richtigen Metinstein und zerstört ihn.");
        
d.notice("Die falschen Metinsteine werden verschwinden!");
        
d.notice("Ihr habt 15 Minuten zeit!");
    
end

    when devil_stone4_fail1
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 10 Minuten")
        
server_timer('devil_stone4_fail2'5*60get_server_timer_arg())
        
end
    end

    when devil_stone4_fail2
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 5 Minuten")
        
server_timer('devil_stone4_fail'5*60get_server_timer_arg())
        
end
    end

    when devil_stone4_fail
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Die Zeit ist abgelaufen")
        
d.notice("Ihr werdet nun nach draußen teleportiert")
        
d.exit_all()
        
clear_server_timer('devil_stone4_update'get_server_timer_arg())
        
end
    end

    when devil_stone4_update
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        
if not d.is_unique_dead("real"then
            
for 1do
            if 
d.getf("fakedead" .. i) == 0 then
                
if d.unique_get_hp_perc("fake" .. i) < 50 then
                d
.purge_unique("fake" .. i)
                
d.setf("fakedead" .. i1)
                
d.notice("Der falsche Metinstein ist verschwunden..");
                
end
            end
            end
        
else
            --
d.clear_regen()
            --
d.regen_file("data/dungeon/deviltower5_regen.txt")
            
server_timer("devil_stone4_end"5get_server_timer_arg())
            
d.notice("Ihr habt den richtigen Metinstein zerstört.");
            
d.notice("Ihr werdet nun in die nächste Ebene teleportiert")
            
clear_server_timer('devil_stone4_fail1'get_server_timer_arg())
            
clear_server_timer('devil_stone4_fail2'get_server_timer_arg())
            
clear_server_timer('devil_stone4_fail'get_server_timer_arg())
        
end
        
else
        
server_timer('devil_stone4_stop_timer'1get_server_timer_arg())
        
end
    end

    when devil_stone4_stop_timer
.server_timer begin
        clear_server_timer
('devil_stone4_update'get_server_timer_arg())
    
end

    when devil_stone4_end
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.setf("level"5)
        
d.setf("stone_count"5)
        
d.notice("Du bist nun in der 5. Ebene")
        
d.notice("Öffne alle Alten Siegel um in die nächste Ebene zu gelangen.")
        
d.notice("Du hast 20 Minuten Zeit um alle Siegel zu öffnen.")
        
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
        
server_timer('devil_stone5_fail1'5*60get_server_timer_arg())
        
clear_server_timer('devil_stone4_update'get_server_timer_arg())

        
d.set_regen_file("data/dungeon/deviltower5_regen.txt")

        
d.spawn_mob(20073421452)
        
d.spawn_mob(20073380460)
        
d.spawn_mob(20073428414)
        
d.spawn_mob(20073398392)
        
d.spawn_mob(20073359426)
        
end
    end
    when devil_stone5_fail1
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 15 Minuten")
        
server_timer('devil_stone5_fail2'5*60get_server_timer_arg())
        
end
    end

    when devil_stone5_fail2
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 10 Minuten")
        
server_timer('devil_stone5_fail3'5*60get_server_timer_arg())
        
end
    end

    when devil_stone5_fail3
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 5 Minuten")
        
server_timer('devil_stone5_fail'5*60get_server_timer_arg())
        
end
    end

    when devil_stone5_fail
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Die Zeit ist abgelaufen")
        
d.notice("Ihr werdet nun nach draußen teleportiert")
        
d.exit_all()
        
end
    end

    
--when devil_stone4.kill begin
        
--d.setf("level"5)
        --
d.setf("stone_count"4)
        --
d.clear_regen()
        --
d.regen_file("data/dungeon/deviltower5_regen.txt")
        --
d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2])
    --
end

    when 1062.kill with pc
.in_dungeon() and d.getf("level") == 5 begin
        local KILL_COUNT_FOR_DROP_KEY 
5
        
--if is_test_server() then
        
--KILL_COUNT_FOR_DROP_KEY 1
        
--end
        local n 
=d.getf("count") + 1
        d
.setf("count"n
        if 
== KILL_COUNT_FOR_DROP_KEY then
        
-- bla bla 3
        game
.drop_item(500841)
        
d.setf("count"0)
        
end
    end
    when devil_stone5
.take with item.vnum == 50084 begin
        npc
.purge()
        
item.remove()
        
d.setf("stone_count"d.getf("stone_count") - 1)
        if 
d.getf("stone_count") <= 0 then
        d
.setf("level"6)
        
d.clear_regen()
        
d.regen_file("data/dungeon/deviltower6_regen.txt")

        
d.notice("Ihr habt alle alten Siegel geöffnet. Ihr werdet nun")
        
d.notice("in die 6. Ebene teleportiert.")
        
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
        
clear_server_timer('devil_stone5_fail1'get_server_timer_arg())
        
clear_server_timer('devil_stone5_fail2'get_server_timer_arg())
        
clear_server_timer('devil_stone5_fail3'get_server_timer_arg())
        
clear_server_timer('devil_stone5_fail'get_server_timer_arg())
        else
        
d.notice("Es verbleibt eine Anzahl von "..d.getf("stone_count").." Siegeln")
        
end
    end

    when devil_stone6
.kill begin
        
--d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
        
d.kill_all()
       -- 
d.set_warp_at_eliminate(3*60655376+532512+596+4)
        
d.check_eliminated()
        
timer("stolzerking_killed"5)
    
end
    when stolzerking_killed
.timer begin
        cmdchat
("CMD1")
        
d.spawn_mob(9012395200)
        
d.spawn_mob(20074392209)
        
d.spawn_mob(20075405209)
        
d.spawn_mob(20076399209)
        
d.spawn_mob(9003402200)
        
d.setqf("can_refine"1)
        
d.notice("Du hast den Stolzen Dämonenkönig getötet und damit den 1. Teil des Dungeons abgeschlossen.")
        
d.notice("Als Belohnung darfst du einen Gegenstand bei den dämonischen Schmieden verbessern.")
        
d.notice("Falls du für den 2. Teil des Dungeons etwas benötigst kannst du es bei der Gemischtwarenhändlerin kaufen.")
        
d.notice("Du wirst in 2 Minuten automatisch auf die nächste Ebene teleportiert.")
        
timer("zeit_zum_uppen"110)
    
end
    when zeit_zum_uppen
.timer begin
        d
.notice("In 10 Sekunden wirst du auf die nächste Ebene teleportiert.")
        
timer("zeit_bis_mordesebene"10)
    
end

    when zeit_bis_mordesebene
.timer begin
        d
.clear_regen()

        
d.spawn_mob(8018639658)
        
d.spawn_mob(8018611637)
        
d.spawn_mob(8018596674)
        
d.spawn_mob(8018629670)

        
d.setf("level"7)

        
d.jump_all(2048+5906656+638)
    
end
    
    when 8018.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        local cont 
d.getf("7_stone_kill") + 1
        d
.setf("7_stone_kill"cont)

        if 
cont >= 4 then
            d
.setf("7_stone_kill"0)
            
d.set_regen_file("data/dungeon/deviltower7_regen.txt")
        
end    
    end

    when 8019.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        game
.drop_item(303001)
    
end

    when 30300.
use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        pc
.remove_item("30300"1)

        
local pct number(1,10)

        if 
pct == 1 then
            
-- bla bla 7
            game
.drop_item(303021)
            
d.clear_regen()
        else
            -- 
bla bla 8
            game
.drop_item(303011)
            
        
end
    end

    when 30302.
use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        
-- bla bla 9
        say_title
("Karte der Zin-Grotte")
        
say("")
        
say("Herzlichen Glückwunsch! Du hast die richtige Karte")
        
say("gefunden.")
        
say("")
        
say_reward("Du wirst jetzt in die nächste Ebene teleportiert.")
        
pc.remove_item("30302"1)
        
timer("devil_jump_8"6)
        
d.clear_regen()
    
end
    when devil_jump_8
.timer begin
        d
.setf("level"8)
        
d.jump_all(2048+5906656+403)
        
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
        
d.spawn_mob(20366640460)
        
local _countpc.count_item(30302)-- bla bla 11
        pc
.remove_item(30302,_count)
        
    
end

    when 1040.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        local pct1 
number(15)
        if 
pct1 == 1 then
            local pct2 
number(110)
            if 
pct2 == 1 then
                
-- bla bla 12
                game
.drop_item(303041)
            else
                -- 
bla bla 13
                game
.drop_item(303041)
            
end
        
else
            return
        
end
    end

    when 20366.take with item
.vnum == 30304 begin
        
-- bla bla 14
        npc
.purge()
        
item.remove()
        
d.kill_all()
        
timer("devil_jump_9"6)
        
    
end
    when devil_jump_9
.timer begin
        d
.setf("level"9)
        
d.jump_all(2048+5906656+155)
        
d.regen_file("data/dungeon/deviltower9_regen.txt")
    
end
    when 1093.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        d
.kill_all()
        
timer("sensi_killed"5)
    
end
    when sensi_killed
.timer begin
        cmdchat
("CMD1")
        
d.kill_all()
        
d.spawn_mob(9012618187)
        
d.spawn_mob(20074611179)
        
d.spawn_mob(20075620170)
        
d.spawn_mob(20076628179)
        
d.spawn_mob(9003621187)
        
d.setqf("can_refine"1)
        
d.notice("Du hast den Sensenmann getötet und damit den 2. Teil des Dungeons abgeschlossen.")
        
d.notice("Als Belohnung darfst du einen Gegenstand bei den dämonischen Schmieden verbessern.")
        
d.notice("Falls du den Dungeon fortführen möchtest, kannst du dir bei der Gemischtwarenhändlerin")
        
d.notice("erneut Tränke kaufen. Du wirst in 2 Minuten automatisch auf die nächste Ebene teleportiert.")
        
timer("zeit_nach_sensi"110)
    
end
    when zeit_nach_sensi
.timer begin
        d
.notice("In 10 Sekunden wirst du auf die nächste Ebene teleportiert.")
        
timer("zeit_bis_gemeinerking"10)
    
end
    when zeit_bis_gemeinerking
.timer begin
        d
.jump_all(2048+5906656+155)
        
d.kill_all()
        
d.spawn_mob(1094620170)
        
d.notice("Der Gemeine Dämonenkönig treibt hier sein Unwesen.")
        
d.notice("Töte ihn, um auf die nächste Ebene zu gelangen.")
    
end
    when 1094.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        timer
("zeit_bis_bt"10)
        
d.notice("Du hast den Gemeinen Dämonenkönig getötet.")
        
d.notice("In 10 Sekunden wirst du auf die letzte Ebene teleportiert.")
    
end
    when zeit_bis_bt
.timer begin
        d
.jump_all(2048+5906656+155)
        
d.kill_all()
        
d.spawn_mob(1095620170)
        
d.notice("Du befindest dich auf der letzten Ebene des Dämonenturmes.")
        
d.notice("Töte den Blauen Tod und du wirst reich belohnt!")
    
end
    when 1095.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        cmdchat
("CMD1")
        
d.kill_all()
        
d.spawn_mob(9012618187)
        
d.spawn_mob(20074611179)
        
d.spawn_mob(20075620170)
        
d.spawn_mob(20076628179)
        
d.spawn_mob(9003621187)
        
d.setqf("can_refine"1)
        
d.notice("Du hast den Blauen Tod getötet und damit den Dämonenturm abgeschlossen.")
        
d.notice("Herzlichen Glückwunsch!")
        
d.notice("Du darfst erneut einen Gegenstand bei den dämonischen Schmieden verbessern. Viel Glück!")
        
notice_all("".. pc.get_name() .." hat den Blauen Tod getötet und damit den Dämonenturm abgeschlossen.")
    
end
end
end 
38momo38 is offline  
Old 07/28/2015, 18:16   #11805

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by 38momo38 View Post
Abend,
mein Problem ist das in der 3. Ebene der Metin des Teufels unterhalb der "karte" spawnt.
Wie kann ich den auf die richtige Position bringen, was genau muss ich ändern?
Ich sposte noch unten den Screen.
/edit als ich Schwertschlag auf metin des Teufel gemacht habe ist er wieder oben gespawnt.
Wie kann ich einstellen das er sofort auf seiner Position bleibt ?

Deviltower4_regen.txd

PHP Code:
quest deviltower_zone begin
    state start begin
        when login begin
            
if pc.get_map_index() == 66 then            
                
if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
                    pc
.warp((5376+532)*100, (512+596+4)*10065)
                
end
                pc
.set_warp_location(655376+532512+596+4)
            elseif 
pc.get_map_index() >  660000 and pc.get_map_index() < 670000 then
                pc
.set_warp_location(655376+532512+596+4)
            
end
        end
    when 20348.click begin
        
if pc.get_level() < 30 then 
            say_title
("Wächter des Dämonenturmes")
            
say("")
            
say("Du hast noch nicht genügend Kampferfahrung")
            
say("gesammelt!")
            
say("")
            
say_reward("Komme wieder wenn du Level 30 erreicht hast.")
            return
        
end
        
if pc.get_level() > 29 then
            say_title
("Wächter des Dämonenturmes")
            
say("")
            
say("Der Dämonenturm ist die Heimat von schrecklichen")
            
say("Kreaturen, die nichts lieber tun, als dich zu töten.")
            
say("Die Boni 'Stark gegen Untote' und 'Pfeilwiderstand'")
            
say("könnten dir sehr hilfreich sein!")
            
say("")
            
say_reward("Ab Level 75 hast du die Möglichkeit den Dämonenturm")
            
say_reward("mit einer Gruppe zu betreten.")
            
local betreten select("Dämonenturm normal betreten""Dämonenturm als Gruppe betreten""Abbrechen"
            if 
betreten == 1 then 
                pc
.warp(216500727000)                 
            
end
            
if betreten == and pc.get_level() > 74 then
                
if party.is_party() then
                    say_title
("Wächter des Dämonenturmes")
                    
say("")
                    
say("Bitte achte darauf, dass sich alle Gruppenmitglieder")
                    
say("im Tempel befinden!")
                    
say("")
                    
say_reward("Möchtest du den Dungeon wirklich mit deiner Gruppe")
                    
say_reward("betreten?")
                    
local gruppe_betreten select("Dämonenturm als Gruppe betreten""Abbrechen")
                    if 
gruppe_betreten == 1 then
                        d
.join(66special.devil_tower[1][1], special.devil_tower[1][2])
                        
d.spawn_mob(8015120615)
                    
end
                    
if gruppe_betreten == 2 then
                        
return
                    
end
                end
                
if not party.is_party() then
                    say_title
("Wächter des Dämonenturmes")
                    
say("")
                    
say("Du kannst diese Option nur ausführen wenn du dich")
                    
say("in einer Gruppe befindest.")
                    
say("")
                    
say_reward("Du befindest dich in keiner Gruppe.")
                    return
                
end
            end
            
if betreten == and pc.get_level() < 75 then
                say_title
("Wächter des Dämonenturmes")
                
say("")
                
say_reward("Du kannst diese Option erst mit Level 75 nutzen.")
                return
            
end
            
if betreten == 3 then
                
return
            
end
        end
    end
    when 8015.kill begin
        timer
("zeit_bis_port"10)
        
d.notice("Ihr habt den Metin der Härte zerstört!")
        
d.notice("In 10 Sekunden werdet ihr in die erste Ebene teleportiert.")
    
end
    when zeit_bis_port
.timer begin
        d
.new_jump_all(66special.devil_tower[1][1], special.devil_tower[1][2])
        
d.regen_file("data/dungeon/deviltower2_regen.txt")
        
d.set_warp_at_eliminate(4d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
    
end
    
--when devil_stone2.kill begin
    
--d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
    --
end
    when devil_stone3
.kill begin
        
--d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2])
        --
d.set_exit_all_at_eliminate(6)
        --
d.set_warp_at_eliminate(6d.get_map_index(), 100100)
        --
d.set_warp_at_eliminate(4655376+532512+596+4)
        
d.set_warp_at_eliminate(4d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
        
d.check_eliminated()
        --
d.exit_all()
    
end
    
function get_4floor_stone_pos()
        
local positions = {
        {
368629},
        {
419630},
        {
428653},
        {
422679},
        {
395689},
        {
369679},
        {
361658},
        }
        for 
1do
        
local j number(i7)
        if 
!= j then
            local t 
positions[i];
            
positions[i] = positions[j];
            
positions[j] = t;
        
end
        end
        
--for 1do
    --    
positions[i][1] = positions[i][1] * 100
    
--    positions[i][2] = positions[i][2] * 100
     
--   end
        
return positions
    end
    when 8016.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        d
.setf("level"4)
        -- 
¦A²{¤j¶q©Çª«¤Î»s³y¯u¥ÛÀY©M°²¥ÛÀY
        
--d.regen_file("data/dungeon/deviltower4_regen.txt")
        
local positions deviltower_zone.get_4floor_stone_pos()
        for 
1do
        
chat(positions[i][1], positions[i][2])
        
d.set_unique("fake" .. d.spawn_mob(8017positions[i][1], positions[i][2]))
        
end
        chat
(positions[7][1], positions[7][2])
        
local vid d.spawn_mob(8017positions[7][1], positions[7][2])
        
chat(vid)
        
d.set_unique("real"vid)
        
server_loop_timer('devil_stone4_update'10pc.get_map_index())
        
server_timer('devil_stone4_fail1'5*60pc.get_map_index())

        
d.notice("Findet den richtigen Metinstein und zerstört ihn.");
        
d.notice("Die falschen Metinsteine werden verschwinden!");
        
d.notice("Ihr habt 15 Minuten zeit!");
    
end

    when devil_stone4_fail1
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 10 Minuten")
        
server_timer('devil_stone4_fail2'5*60get_server_timer_arg())
        
end
    end

    when devil_stone4_fail2
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 5 Minuten")
        
server_timer('devil_stone4_fail'5*60get_server_timer_arg())
        
end
    end

    when devil_stone4_fail
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Die Zeit ist abgelaufen")
        
d.notice("Ihr werdet nun nach draußen teleportiert")
        
d.exit_all()
        
clear_server_timer('devil_stone4_update'get_server_timer_arg())
        
end
    end

    when devil_stone4_update
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        
if not d.is_unique_dead("real"then
            
for 1do
            if 
d.getf("fakedead" .. i) == 0 then
                
if d.unique_get_hp_perc("fake" .. i) < 50 then
                d
.purge_unique("fake" .. i)
                
d.setf("fakedead" .. i1)
                
d.notice("Der falsche Metinstein ist verschwunden..");
                
end
            end
            end
        
else
            --
d.clear_regen()
            --
d.regen_file("data/dungeon/deviltower5_regen.txt")
            
server_timer("devil_stone4_end"5get_server_timer_arg())
            
d.notice("Ihr habt den richtigen Metinstein zerstört.");
            
d.notice("Ihr werdet nun in die nächste Ebene teleportiert")
            
clear_server_timer('devil_stone4_fail1'get_server_timer_arg())
            
clear_server_timer('devil_stone4_fail2'get_server_timer_arg())
            
clear_server_timer('devil_stone4_fail'get_server_timer_arg())
        
end
        
else
        
server_timer('devil_stone4_stop_timer'1get_server_timer_arg())
        
end
    end

    when devil_stone4_stop_timer
.server_timer begin
        clear_server_timer
('devil_stone4_update'get_server_timer_arg())
    
end

    when devil_stone4_end
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.setf("level"5)
        
d.setf("stone_count"5)
        
d.notice("Du bist nun in der 5. Ebene")
        
d.notice("Öffne alle Alten Siegel um in die nächste Ebene zu gelangen.")
        
d.notice("Du hast 20 Minuten Zeit um alle Siegel zu öffnen.")
        
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
        
server_timer('devil_stone5_fail1'5*60get_server_timer_arg())
        
clear_server_timer('devil_stone4_update'get_server_timer_arg())

        
d.set_regen_file("data/dungeon/deviltower5_regen.txt")

        
d.spawn_mob(20073421452)
        
d.spawn_mob(20073380460)
        
d.spawn_mob(20073428414)
        
d.spawn_mob(20073398392)
        
d.spawn_mob(20073359426)
        
end
    end
    when devil_stone5_fail1
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 15 Minuten")
        
server_timer('devil_stone5_fail2'5*60get_server_timer_arg())
        
end
    end

    when devil_stone5_fail2
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 10 Minuten")
        
server_timer('devil_stone5_fail3'5*60get_server_timer_arg())
        
end
    end

    when devil_stone5_fail3
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Verbleibende Zeit: 5 Minuten")
        
server_timer('devil_stone5_fail'5*60get_server_timer_arg())
        
end
    end

    when devil_stone5_fail
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Die Zeit ist abgelaufen")
        
d.notice("Ihr werdet nun nach draußen teleportiert")
        
d.exit_all()
        
end
    end

    
--when devil_stone4.kill begin
        
--d.setf("level"5)
        --
d.setf("stone_count"4)
        --
d.clear_regen()
        --
d.regen_file("data/dungeon/deviltower5_regen.txt")
        --
d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2])
    --
end

    when 1062.kill with pc
.in_dungeon() and d.getf("level") == 5 begin
        local KILL_COUNT_FOR_DROP_KEY 
5
        
--if is_test_server() then
        
--KILL_COUNT_FOR_DROP_KEY 1
        
--end
        local n 
=d.getf("count") + 1
        d
.setf("count"n
        if 
== KILL_COUNT_FOR_DROP_KEY then
        
-- bla bla 3
        game
.drop_item(500841)
        
d.setf("count"0)
        
end
    end
    when devil_stone5
.take with item.vnum == 50084 begin
        npc
.purge()
        
item.remove()
        
d.setf("stone_count"d.getf("stone_count") - 1)
        if 
d.getf("stone_count") <= 0 then
        d
.setf("level"6)
        
d.clear_regen()
        
d.regen_file("data/dungeon/deviltower6_regen.txt")

        
d.notice("Ihr habt alle alten Siegel geöffnet. Ihr werdet nun")
        
d.notice("in die 6. Ebene teleportiert.")
        
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
        
clear_server_timer('devil_stone5_fail1'get_server_timer_arg())
        
clear_server_timer('devil_stone5_fail2'get_server_timer_arg())
        
clear_server_timer('devil_stone5_fail3'get_server_timer_arg())
        
clear_server_timer('devil_stone5_fail'get_server_timer_arg())
        else
        
d.notice("Es verbleibt eine Anzahl von "..d.getf("stone_count").." Siegeln")
        
end
    end

    when devil_stone6
.kill begin
        
--d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
        
d.kill_all()
       -- 
d.set_warp_at_eliminate(3*60655376+532512+596+4)
        
d.check_eliminated()
        
timer("stolzerking_killed"5)
    
end
    when stolzerking_killed
.timer begin
        cmdchat
("CMD1")
        
d.spawn_mob(9012395200)
        
d.spawn_mob(20074392209)
        
d.spawn_mob(20075405209)
        
d.spawn_mob(20076399209)
        
d.spawn_mob(9003402200)
        
d.setqf("can_refine"1)
        
d.notice("Du hast den Stolzen Dämonenkönig getötet und damit den 1. Teil des Dungeons abgeschlossen.")
        
d.notice("Als Belohnung darfst du einen Gegenstand bei den dämonischen Schmieden verbessern.")
        
d.notice("Falls du für den 2. Teil des Dungeons etwas benötigst kannst du es bei der Gemischtwarenhändlerin kaufen.")
        
d.notice("Du wirst in 2 Minuten automatisch auf die nächste Ebene teleportiert.")
        
timer("zeit_zum_uppen"110)
    
end
    when zeit_zum_uppen
.timer begin
        d
.notice("In 10 Sekunden wirst du auf die nächste Ebene teleportiert.")
        
timer("zeit_bis_mordesebene"10)
    
end

    when zeit_bis_mordesebene
.timer begin
        d
.clear_regen()

        
d.spawn_mob(8018639658)
        
d.spawn_mob(8018611637)
        
d.spawn_mob(8018596674)
        
d.spawn_mob(8018629670)

        
d.setf("level"7)

        
d.jump_all(2048+5906656+638)
    
end
    
    when 8018.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        local cont 
d.getf("7_stone_kill") + 1
        d
.setf("7_stone_kill"cont)

        if 
cont >= 4 then
            d
.setf("7_stone_kill"0)
            
d.set_regen_file("data/dungeon/deviltower7_regen.txt")
        
end    
    end

    when 8019.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        game
.drop_item(303001)
    
end

    when 30300.
use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        pc
.remove_item("30300"1)

        
local pct number(1,10)

        if 
pct == 1 then
            
-- bla bla 7
            game
.drop_item(303021)
            
d.clear_regen()
        else
            -- 
bla bla 8
            game
.drop_item(303011)
            
        
end
    end

    when 30302.
use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        
-- bla bla 9
        say_title
("Karte der Zin-Grotte")
        
say("")
        
say("Herzlichen Glückwunsch! Du hast die richtige Karte")
        
say("gefunden.")
        
say("")
        
say_reward("Du wirst jetzt in die nächste Ebene teleportiert.")
        
pc.remove_item("30302"1)
        
timer("devil_jump_8"6)
        
d.clear_regen()
    
end
    when devil_jump_8
.timer begin
        d
.setf("level"8)
        
d.jump_all(2048+5906656+403)
        
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
        
d.spawn_mob(20366640460)
        
local _countpc.count_item(30302)-- bla bla 11
        pc
.remove_item(30302,_count)
        
    
end

    when 1040.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        local pct1 
number(15)
        if 
pct1 == 1 then
            local pct2 
number(110)
            if 
pct2 == 1 then
                
-- bla bla 12
                game
.drop_item(303041)
            else
                -- 
bla bla 13
                game
.drop_item(303041)
            
end
        
else
            return
        
end
    end

    when 20366.take with item
.vnum == 30304 begin
        
-- bla bla 14
        npc
.purge()
        
item.remove()
        
d.kill_all()
        
timer("devil_jump_9"6)
        
    
end
    when devil_jump_9
.timer begin
        d
.setf("level"9)
        
d.jump_all(2048+5906656+155)
        
d.regen_file("data/dungeon/deviltower9_regen.txt")
    
end
    when 1093.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        d
.kill_all()
        
timer("sensi_killed"5)
    
end
    when sensi_killed
.timer begin
        cmdchat
("CMD1")
        
d.kill_all()
        
d.spawn_mob(9012618187)
        
d.spawn_mob(20074611179)
        
d.spawn_mob(20075620170)
        
d.spawn_mob(20076628179)
        
d.spawn_mob(9003621187)
        
d.setqf("can_refine"1)
        
d.notice("Du hast den Sensenmann getötet und damit den 2. Teil des Dungeons abgeschlossen.")
        
d.notice("Als Belohnung darfst du einen Gegenstand bei den dämonischen Schmieden verbessern.")
        
d.notice("Falls du den Dungeon fortführen möchtest, kannst du dir bei der Gemischtwarenhändlerin")
        
d.notice("erneut Tränke kaufen. Du wirst in 2 Minuten automatisch auf die nächste Ebene teleportiert.")
        
timer("zeit_nach_sensi"110)
    
end
    when zeit_nach_sensi
.timer begin
        d
.notice("In 10 Sekunden wirst du auf die nächste Ebene teleportiert.")
        
timer("zeit_bis_gemeinerking"10)
    
end
    when zeit_bis_gemeinerking
.timer begin
        d
.jump_all(2048+5906656+155)
        
d.kill_all()
        
d.spawn_mob(1094620170)
        
d.notice("Der Gemeine Dämonenkönig treibt hier sein Unwesen.")
        
d.notice("Töte ihn, um auf die nächste Ebene zu gelangen.")
    
end
    when 1094.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        timer
("zeit_bis_bt"10)
        
d.notice("Du hast den Gemeinen Dämonenkönig getötet.")
        
d.notice("In 10 Sekunden wirst du auf die letzte Ebene teleportiert.")
    
end
    when zeit_bis_bt
.timer begin
        d
.jump_all(2048+5906656+155)
        
d.kill_all()
        
d.spawn_mob(1095620170)
        
d.notice("Du befindest dich auf der letzten Ebene des Dämonenturmes.")
        
d.notice("Töte den Blauen Tod und du wirst reich belohnt!")
    
end
    when 1095.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        cmdchat
("CMD1")
        
d.kill_all()
        
d.spawn_mob(9012618187)
        
d.spawn_mob(20074611179)
        
d.spawn_mob(20075620170)
        
d.spawn_mob(20076628179)
        
d.spawn_mob(9003621187)
        
d.setqf("can_refine"1)
        
d.notice("Du hast den Blauen Tod getötet und damit den Dämonenturm abgeschlossen.")
        
d.notice("Herzlichen Glückwunsch!")
        
d.notice("Du darfst erneut einen Gegenstand bei den dämonischen Schmieden verbessern. Viel Glück!")
        
notice_all("".. pc.get_name() .." hat den Blauen Tod getötet und damit den Dämonenturm abgeschlossen.")
    
end
end
end 
Das ist auf jedem Server so, sogar auf DE. Du musst einfach aufs Pferd steigen bzw absteigen 1x
rollback is offline  
Reply




All times are GMT +1. The time now is 20:44.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.