[SERVICE] Die Questkontrolle

07/19/2011 12:33 Muco53#2821
PHP Code:
quest ads begin
    state start begin
        when login 
or levelup or enter with pc.get_level() >= 80 begin
            setstate
( gotolv2 )
        
end
                when 20092.click with pc
.get_level() < 80 begin
                    say_title
("Hwa-Hee Görevi:")
                    
say("Merhaba "..pc.get_name().." .")
                    
say("Senden bir görev isteğim olacak.")
                    
say("Bana akrep kıskacı getir!")
                
end
        end
    state gotolv2 begin
        when letter begin
            send_letter
("Hwa-Hee'nin Isteği")

            
local v=find_npc_by_vnum(20092)
            if 
0==v then
            
else
                
target.vid("__TARGET__", v, "¥h§ä·s§L±g©x")
            
end
        end
        when button 
or info begin
            say_title
("Hwa-Hee'nin Isteği")
            
say("80.Levele geldiğin için yeni görev aldın.")
            
say("Görevini öğrenmek istiyorsan hwa-hee'ye git.")
            
say("Kendisini 1.köyde bulabilirsin.")
            
say("")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")

            
say_title("Hwa-Hee:")
            
say("Ooooo "..pc.get_name.."
            say("
Sonunda 80 level olmu&#351;sun.")
            
say("Bu level geldiğine göre.")
            
say("gelişmiş sayılırsın.")
            
say("Sana görev vereceğim.")
            
wait()
            
say_title("Hwa-Hee:")
            
say("Görevin sonunda kalıcı") 
            
say("özellikler kazanacaksın!")
            
wait()
            
say_title("Hwa-Hee:")
            
say("Bana 5 tane akrep kıskacı getir!")
            
say("Görevin kolay.Hade yola koyul!")
            
say("Alacağın ödül;")
            
say_reward("Saldırı hızı +10")
            
say_reward("Hareket hızı +10")
            
pc.setqf("collect_count",0)    
            
set_state(go_to_disciple)
            
pc.setqf("duration",0)
                        
end
        end
        
            state go_to_disciple begin
                when letter begin
                        send_letter
("Hwa-Hee Isteği")

                
end
                when button 
or info begin
                        say_title
("Istek")
                        ---                                                   
l
                        say
("")
                        
say("Hwa-Hee Örümcek Zindanı")
                        
say("2.Kattaki örümceklerden düşen")
                        
say("akrep kıskacı aramakta.")
                        
say("Git onun için bu görevi yap,")
                        
say("karşılığını alacaksın..")
                        
say("")
                        
say_item_vnum(30055)
                        
say_reward("şu anda senin toplanmış".." "..pc.getqf("collect_count").."kıskacın oldu.")
                        
say("")
                
end
                
                 when 601.kill begin
                        local s 
= number(1, 100)
                        if 
s <= 5 then
                                pc
.give_item2(30055, 1)
                        
end
                end
            
            when 20092.chat
."Akrep Kıskacı" with pc.count_item(30055) >0   begin
                                say_title
("Hwa-Hee")
                                ---                                                   
l
                                say
("")
                                
say("Ah!! Bana bir kıskaç getiriyorsun...")
                                
say("Önce denemem lazım...")
                                
say("Bu biraz zaman alabilir. Bir saat gibi.")
                                
say("Daha sonra yine gel.")
                                
say("")
                                
pc.remove_item("30055", 1)
                                
pc.setqf("duration",get_time()+60*60*1) ---22Stunden
                                end
                                
                                
if pc.getqf("collect_count")< 9 then
                                                local index 
=pc.getqf("collect_count")+1
                                                pc
.setqf("collect_count",index)
                                                
say_title("Hwa-Hee")
                                                
say("")
                                                
say("Müthiş!! Sen bir harikasın...")
                                                
say("Şimdi bana bu araştırma için ".."tane "..10-pc.getqf("collect_count").. "tane ")
                                                
say("daha kıskaç lazım.")
                                                
say("Tamamlamak için")
                                                
say("Bol Şanslar!")
                                                
say("")
                                                return
                                        
end
                                         say_title
("Hwa-Hee:")
                                        
say("")
                                        
say("xxxxxxxxx !!")
                                        
say("xxxxxxxxxxxxxx ")
                                        
say("xxxxxxxxx")
                                        
say("xxxxxxxxxxxx?")
                                        
say("xxxxxxxx ")
                                        
say("")
                        
say_reward("Sana ödüll olarak Hwa-Hee")
                        
say_reward("xxxxxx")
                        
say_reward("xxxxxxxxxl.")

                        
affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60) --60Jahre
                        set_state
(__COMPLETE__)
                
end

        end
            state __COMPLETE__ begin
                when enter begin
                        q
.done()
                
end
        end
end 
This quest is work but in game it not comming.
07/19/2011 12:50 .Delta#2822
@ ellaluizse
try

@ .Fam0uZz
probiers mal mit weniger exp bitte

@ Muco53
try pls
07/19/2011 13:07 Deathmachinex3#2823
@. Delta:

habe jetzt die erste zeile klein geschrieben nun kommt folgender fehler:

syntax error : [string "start"]:12: `)`expected near ´50`
starterset.quest:62:Abort trap (core dumped)

pls helfen.... hie rnochmal meine quest:

PHP Code:
quest starterset begin
    state start begin
        when login begin
            
if pc.getqf("starterset") == 0 then
                pc
.setqf("starterset", 1)
                
                if 
pc.job == 0 then
                    pc
.give_item2(19)
                    
pc.give_item2(11209)
                    
pc.give_item2(12209)
                    
pc.give_item2(13009)
                    
pc.give_item2(14009)
                    
pc.give_item2(16009)
                    
pc.give_item2(17009)
                    
pc.give_item2(15049)
                    
pc.give_item2(70038 50)
                    
pc.give_item2(27003 200)
                    
pc.give_item2(72702)
                    
pc.give_item2(71015)
                elseif 
pc.job == 1 then
                    pc
.give_item2(1009)
                    
pc.give_item2(11409)
                    
pc.give_item2(12349)
                    
pc.give_item2(13009)
                    
pc.give_item2(14009)
                    
pc.give_item2(16009)
                    
pc.give_item2(17009)
                    
pc.give_item2(15049)
                    
pc.give_item2(70038 50)
                    
pc.give_item2(27003 200)
                    
pc.give_item2(72702)
                    
pc.give_item2(71015)
                elseif 
pc.job == 2 then
                    pc
.give_item2(19)
                    
pc.give_item2(11609)
                    
pc.give_item2(12489)
                    
pc.give_item2(13009)
                    
pc.give_item2(14009)
                    
pc.give_item2(16009)
                    
pc.give_item2(17009)
                    
pc.give_item2(15049)
                    
pc.give_item2(70038 50)
                    
pc.give_item2(27003 200)
                    
pc.give_item2(72702)
                    
pc.give_item2(71015)
                elseif 
pc.job == 3 then
                    pc
.give_item2(7009)
                    
pc.give_item2(11809)
                    
pc.give_item2(12629)
                    
pc.give_item2(13009)
                    
pc.give_item2(14009)
                    
pc.give_item2(16009)
                    
pc.give_item2(17009)
                    
pc.give_item2(15049)
                    
pc.give_item2(70038 50)
                    
pc.give_item2(27003 200)
                    
pc.give_item2(72702)
                    
pc.give_item2(71015)
                
end
            
        end
    end
end 
danke im vorraus

liebe grüße
07/19/2011 13:10 .Delta#2824
probiers mal so
PHP Code:
quest starterset begin
    state start begin
        when login begin
            
if pc.getqf("starterset") == 0 then
                pc
.setqf("starterset", 1)
                
                if 
pc.job == 0 then
                    pc
.give_item2(19)
                    
pc.give_item2(11209)
                    
pc.give_item2(12209)
                    
pc.give_item2(13009)
                    
pc.give_item2(14009)
                    
pc.give_item2(16009)
                    
pc.give_item2(17009)
                    
pc.give_item2(15049)
                    
pc.give_item2(70038, 50)
                    
pc.give_item2(27003, 200)
                    
pc.give_item2(72702)
                    
pc.give_item2(71015)
                elseif 
pc.job == 1 then
                    pc
.give_item2(1009)
                    
pc.give_item2(11409)
                    
pc.give_item2(12349)
                    
pc.give_item2(13009)
                    
pc.give_item2(14009)
                    
pc.give_item2(16009)
                    
pc.give_item2(17009)
                    
pc.give_item2(15049)
                    
pc.give_item2(70038, 50)
                    
pc.give_item2(27003, 200)
                    
pc.give_item2(72702)
                    
pc.give_item2(71015)
                elseif 
pc.job == 2 then
                    pc
.give_item2(19)
                    
pc.give_item2(11609)
                    
pc.give_item2(12489)
                    
pc.give_item2(13009)
                    
pc.give_item2(14009)
                    
pc.give_item2(16009)
                    
pc.give_item2(17009)
                    
pc.give_item2(15049)
                    
pc.give_item2(70038, 50)
                    
pc.give_item2(27003, 200)
                    
pc.give_item2(72702)
                    
pc.give_item2(71015)
                elseif 
pc.job == 3 then
                    pc
.give_item2(7009)
                    
pc.give_item2(11809)
                    
pc.give_item2(12629)
                    
pc.give_item2(13009)
                    
pc.give_item2(14009)
                    
pc.give_item2(16009)
                    
pc.give_item2(17009)
                    
pc.give_item2(15049)
                    
pc.give_item2(70038, 50)
                    
pc.give_item2(27003, 200)
                    
pc.give_item2(72702)
                    
pc.give_item2(71015)
                
end
            end          
        end
    end
end 
07/19/2011 13:16 Muco53#2825
Quote:
Originally Posted by .Delta View Post
@ ellaluizse
try

@ .Fam0uZz
probiers mal mit weniger exp bitte

@ Muco53
try pls
Yes its work but what is the problem?
07/19/2011 13:17 .Delta#2826
this row
PHP Code:
say("Ooooo "..pc.get_name()) 
in your version it was
PHP Code:
say("Ooooo "..pc.get_name" 
07/19/2011 13:29 Deathmachinex3#2827
nope geht immernoch nicht =S (habs auch IG ausprobiert)

jetzt kommt folgendes:

Segmentation fault (core dumped)
QUEST : starterset
STATE : start
WHEN : login
07/19/2011 13:34 .Delta#2828
bei mir läuft sie fehlerfrei durch :)
07/19/2011 13:35 Deathmachinex3#2829
oh :OO
wtf...wieso bei net?! *cry* xD
wo könnte mein ehler liegen? xP
07/19/2011 13:38 .Delta#2830
Quote:
Originally Posted by Deathmachinex3 View Post
oh :OO
wtf...wieso bei net?! *cry* xD
wo könnte mein ehler liegen? xP
Beim einfügen? :)
hast du denn in der locale_list / hongkong_list ganz unten eine Freizeile?
07/19/2011 13:40 Deathmachinex3#2831
jo hatte ich
hab reboot gemacht dann gings einwandfrei :)
vielen dank für deine hilfe :)
07/19/2011 15:32 Event150#2832
PHP Code:
quest deviltower_zone begin
    state start begin
    when login begin
        
if pc.get_map_index() == 66 then
        
-- Nicht in einer Etage, die wieder nach drau¡¼n .
        -- 
Layer Range 
        
-- 1F   88  577  236 737
        
-- 2F   91  343  238 504
        
-- 3F  104  107  248 269
        
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)*100, 65)
        
end
        pc
.set_warp_location(65, 5376+532, 512+596+4)
        elseif 
pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
        pc
.set_warp_location(65, 5376+532, 512+596+4)
        
end
    end
    when deviltower_man
.chat.locale.deviltower_man_chat begin
        
if pc.get_level() < 40 then
        say
(locale.deviltower_man_say_you_cant)
        else
        
say(locale.deviltower_man_say)
        
local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
        if 
s == 1 then
            
-- warp into!
            
pc.warp(216500,727000)
        
end
        end
    end
    when devil_stone1
.kill begin
        timer
("devil_stone1_1", 6)
    
end
    when devil_stone1_1
.timer begin
        local mapto7
= pc.count_item(30302)  -- Ich weiß nicht, das wahre Tilgung der die Existenz der Seele des Turms 
        pc
.remove_item(30302,mapto7)

        
local boxto7= pc.count_item(30300)  -- Beseitigung des unbekannten weiß nicht, ob es sich um ein Feld 
        pc
.remove_item(30300,boxto7)

        
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
        
d.regen_file("data/dungeon/deviltower2_regen.txt")
        
d.set_warp_at_eliminate(4, d.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(6, d.get_map_index(), 100, 100)
        --
d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)
        
d.set_warp_at_eliminate(4, d.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 = {
        {
368, 629},
        {
419, 630},
        {
428, 653},
        {
422, 679},
        {
395, 689},
        {
369, 679},
        {
361, 658},
        }
        for 
i = 1, 6 do
        
local j = number(i, 7)
        if 
i != j then
            local t 
= positions[i];
            
positions[i] = positions[j];
            
positions[j] = t;
        
end
        end
        
--for i = 1, 7 do
    --    
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)
        -- 
Reproduzieren eine gro¡¼ Anzahl von Monstern und Herstellung von wahr und falsch Steine Steine 
        
--d.regen_file("data/dungeon/deviltower4_regen.txt")
        
local positions = deviltower_zone.get_4floor_stone_pos()
        for 
i = 1, 6 do
        
chat(positions[i][1], positions[i][2])
        
d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
        
end
        chat
(positions[7][1], positions[7][2])
        
local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
        
chat(vid)
        
d.set_unique("real", vid)
        
server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
        
server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())

        
d.notice("Hier ist die 4. Etage,");
        
d.notice("findet den Echten Metinstein");
        
d.notice("innerhalb von 15 Minuten,");
        
d.notice("Sonst werdet ihr vor die Tür gesetzt.");
    
end

    when devil_stone4_fail1
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Noch 10 Minuten!")
        
server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
        
end
    end

    when devil_stone4_fail2
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Noch 5 Minuten!")
        
server_timer('devil_stone4_fail', 5*60, get_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.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 i = 1, 6 do
            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" .. i, 1)
                
d.notice("Ein Falscher Metinstein verschwindet.");
                
end
            end
            end
        
else
            --
d.clear_regen()
            --
d.regen_file("data/dungeon/deviltower5_regen.txt")
            
server_timer("devil_stone4_end", 5, get_server_timer_arg())
            
d.notice("Glückwunsch Euch ist es geglückt den Echten Metinstein");
            
d.notice("zu finden... Auf in die nächste Etage.")
            
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', 1, get_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("Willkommen auf der 5.ten Etage")
        
d.notice("Tötet alle Monster denn manche Tragen den Schlüssel")
        
d.notice("für die nächste Etage mit sich")
        
d.notice("Öffnet alle Säulen mit hilfe der Schlüsselsteine (Ihr habt 20 Minuten Zeit)")
        
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
        
server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
        
clear_server_timer('devil_stone4_update', get_server_timer_arg())

        -- 
5. Stock, weiter zu reproduzieren 
        d
.set_regen_file("data/dungeon/deviltower5_regen.txt")

        -- 
5. Stock, Seal Stone Reproduktion 
        d
.spawn_mob(20073, 421, 452)
        
d.spawn_mob(20073, 380, 460)
        
d.spawn_mob(20073, 428, 414)
        
d.spawn_mob(20073, 398, 392)
        
d.spawn_mob(20073, 359, 426)
        
end
    end
    when devil_stone5_fail1
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Noch 15 Minuten.")
        
server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
        
end
    end

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

    when devil_stone5_fail3
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Noch 5 Minuten.")
        
server_timer('devil_stone5_fail', 5*60, get_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.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 
= 50
        
--if is_test_server() then
        
--KILL_COUNT_FOR_DROP_KEY = 1
        
--end
        local n 
=d.getf("count") + 1
        d
.setf("count", n) 
        if 
n == KILL_COUNT_FOR_DROP_KEY then
        
-- Falling Tasten 
        game
.drop_item(50084, 1)
        
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("Glückwunsch ihr habt alle Säulen Geöffnet")
        
d.notice("Ihr werdet in die nächste Etage aufsteigen.")
        
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("Säule entfernt... Noch "..d.getf("stone_count").."Viel Glück")
        
end
    end

    when devil_stone6
.kill begin
        
-- Geschickt, um eine Karte, wo die Verfeinerung St. 
        -- 
Ansonsten ¡¼fnen Sie ein neues Lian Sheng 
        
--d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
        
d.kill_all()
       -- 
d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4)
        
d.check_eliminated()
        
local reward_alchemist = {20074, 20075, 20076}
        
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
        
d.setqf("can_refine", 1)
    
end

    
--------------------------------------
    -- 
7 D kommt man aus dem Zugriff vor dem 8. Stock 
    
--------------------------------------

    
when 20074.chat."Die Oberen Stockwerke" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        say
(""..mob_name(20074).."")
        
say("Möchtet ihr Weiter herrauf")
        
say("und euer können weiterhin unter Beweiss stellen?")
        
say("Ich jedenfalls bleibe hier")
        
say("")
        
wait()
        if 
pc.level >=75 then
            say
("Ihr seid zumindest gross genug.")
            
say("Doch seid ihr auch Tapfer genug?")
            
say("Es gibt nur eine möglichkeit das festzustellen.")
            
timer("devil_jump_7", 6)
            return
        
end
        say
("Ihr seid leider noch nicht ")
        
say("gross genug um weiter aufzusteigen")
        
say("Übt noch ein wenig und kommt dann wieder.")
        
say("Viel Glück auf eurer Reise.")
        
say("")
        
wait()
        
pc.warp(590500, 110500)
        return
    
end
    when 20075.chat
."Mit Bezug auf den oberen Turm .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        say
(""..mob_name(20075).."")
        
say("Möchtet ihr Weiter herrauf")
        
say("und euer können weiterhin unter Beweiss stellen?")
        
say("Ich jedenfalls bleibe hier")
        
say("")
        
wait()
        if 
pc.level >=75 then
            say
("Ihr seid zumindest gross genug.")
            
say("Doch seid ihr auch Tapfer genug?")
            
say("Es gibt nur eine möglichkeit das festzustellen.")
            
timer("devil_jump_7", 6)
            return
        
end
        say
("Ihr seid leider noch nicht ")
        
say("gross genug um weiter aufzusteigen")
        
say("Übt noch ein wenig und kommt dann wieder.")
        
say("Viel Glück auf eurer Reise.")
        
say("")
        
wait()
        
pc.warp(590500, 110500)
        return
    
end
    when 20076.chat
."Mit Bezug auf den oberen Turm .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        say
(""..mob_name(20076).."")
        
say("Möchtet ihr Weiter herrauf")
        
say("und euer können weiterhin unter Beweiss stellen?")
        
say("Ich jedenfalls bleibe hier")
        
say("")
        
wait()
        if 
pc.level >=75 then
            say
("Ihr seid zumindest gross genug.")
            
say("Doch seid ihr auch Tapfer genug?")
            
say("Es gibt nur eine möglichkeit das festzustellen.")
            
timer("devil_jump_7", 6)
            return
        
end
        say
("Ihr seid leider noch nicht ")
        
say("gross genug um weiter aufzusteigen")
        
say("Übt noch ein wenig und kommt dann wieder.")
        
say("Viel Glück auf eurer Reise.")
        
say("")
        
wait()
        
pc.warp(590500, 110500)
        return
    
end

   when devil_jump_7
.timer begin
        d
.clear_regen()

        
d.spawn_mob(8018, 639, 658)
        
d.spawn_mob(8018, 611, 637)
        
d.spawn_mob(8018, 596, 674)
        
d.spawn_mob(8018, 629, 670)

        
d.setf("level", 7)

        
d.jump_all(2048+590, 6656+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(30300, 1)
    
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
            
-- Fall wahr Karte
            game
.drop_item(30302, 1)
            
d.clear_regen()
        else
            -- 
Fall wahr Karte
            game
.drop_item(30301, 1)
            
        
end
    end

    when 30302.
use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        
-- An der 8th Floor 
        say
("Du wirst in die Zin Grotte teleportiert. Viel Glück.")
        
pc.remove_item("30302", 1)
        
timer("devil_jump_8", 6)
        
d.clear_regen()
    
end
                        
    
--------------------------------------------
    -- 
Von 8 F vor der Ankunft geben Sie die 9 F 
    
--------------------------------------------
    
when devil_jump_8.timer begin
        d
.setf("level", 8)
        
d.jump_all(2048+590, 6656+403)
        
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
        
d.spawn_mob(20366, 640, 460)
        
local _count= pc.count_item(30302)-- True Tilgung Dead Turm 
        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(1, 5)
        if 
pct1 == 1 then
            local pct2 
= number(1, 10)
            if 
pct2 == 1 then
                
-- Fall wahre Schl¡¼sel 
                game
.drop_item(30304, 1)
            else
                -- 
Keys fiel 
                game
.drop_item(30303, 1)
            
end
        
else
            return
        
end
    end

    when 20366.take with item
.vnum == 30304 begin
        
-- 9 F-Zeichen aufgehoben 
        npc
.purge()
        
item.remove()
        
timer("devil_jump_9", 6)
    
end

    
---------------------------------------------
    -- 
9 F ein Ende, indem Sie 
    
---------------------------------------------
    
when devil_jump_9.timer begin
        d
.setf("level", 9)
        
d.jump_all(2048+590, 6656+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
        timer
("devil_end_jump", 10)
    
end

    when devil_end_jump
.timer begin
        d
.clear_regen()
        
d.notice("Glückwunsch!!!")
        
d.notice("Du hast den Sensenmann getötet!!!")
        
d.notice("Nun musst du nurnoch den Blauen Tod besiegen")
        
d.notice("und du wirst eine große Belohnung bekommmen!!!")
        
d.spawn_mob(1095, 605, 178)
    
end
    
    when 1095.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        d
.kill_all()
        
notice_all(pc.get_name().." hat den Blauen Tod besiegt!")
        
notice_all("Herzlichen Glückwunsch!!!")
        
timer("devil_end_jump", 10)
        
d.exit_all()
    
end
end
end 
kann mir jemand die quest so schreiben das man wenn man den bt gekillt hat 10sekunden zum aufheben der items hat und dann automatisch rausgeportet wird?
07/19/2011 15:48 .Delta#2833
try :D
PHP Code:
quest deviltower_zone begin
    state start begin
    when login begin
        
if pc.get_map_index() == 66 then
        
-- Nicht in einer Etage, die wieder nach drau¡¼n .
        -- 
Layer Range 
        
-- 1F   88  577  236 737
        
-- 2F   91  343  238 504
        
-- 3F  104  107  248 269
        
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)*100, 65)
        
end
        pc
.set_warp_location(65, 5376+532, 512+596+4)
        elseif 
pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
        pc
.set_warp_location(65, 5376+532, 512+596+4)
        
end
    end
    when deviltower_man
.chat.locale.deviltower_man_chat begin
        
if pc.get_level() < 40 then
        say
(locale.deviltower_man_say_you_cant)
        else
        
say(locale.deviltower_man_say)
        
local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
        if 
s == 1 then
            
-- warp into!
            
pc.warp(216500,727000)
        
end
        end
    end
    when devil_stone1
.kill begin
        timer
("devil_stone1_1", 6)
    
end
    when devil_stone1_1
.timer begin
        local mapto7
= pc.count_item(30302)  -- Ich weiß nicht, das wahre Tilgung der die Existenz der Seele des Turms 
        pc
.remove_item(30302,mapto7)

        
local boxto7= pc.count_item(30300)  -- Beseitigung des unbekannten weiß nicht, ob es sich um ein Feld 
        pc
.remove_item(30300,boxto7)

        
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
        
d.regen_file("data/dungeon/deviltower2_regen.txt")
        
d.set_warp_at_eliminate(4, d.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(6, d.get_map_index(), 100, 100)
        --
d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)
        
d.set_warp_at_eliminate(4, d.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 = {
        {
368, 629},
        {
419, 630},
        {
428, 653},
        {
422, 679},
        {
395, 689},
        {
369, 679},
        {
361, 658},
        }
        for 
i = 1, 6 do
        
local j = number(i, 7)
        if 
i != j then
            local t 
= positions[i];
            
positions[i] = positions[j];
            
positions[j] = t;
        
end
        end
        
--for i = 1, 7 do
    --    
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)
        -- 
Reproduzieren eine gro¡¼ Anzahl von Monstern und Herstellung von wahr und falsch Steine Steine 
        
--d.regen_file("data/dungeon/deviltower4_regen.txt")
        
local positions = deviltower_zone.get_4floor_stone_pos()
        for 
i = 1, 6 do
        
chat(positions[i][1], positions[i][2])
        
d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
        
end
        chat
(positions[7][1], positions[7][2])
        
local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
        
chat(vid)
        
d.set_unique("real", vid)
        
server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
        
server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())

        
d.notice("Hier ist die 4. Etage,");
        
d.notice("findet den Echten Metinstein");
        
d.notice("innerhalb von 15 Minuten,");
        
d.notice("Sonst werdet ihr vor die Tür gesetzt.");
    
end

    when devil_stone4_fail1
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Noch 10 Minuten!")
        
server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
        
end
    end

    when devil_stone4_fail2
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Noch 5 Minuten!")
        
server_timer('devil_stone4_fail', 5*60, get_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.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 i = 1, 6 do
            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" .. i, 1)
                
d.notice("Ein Falscher Metinstein verschwindet.");
                
end
            end
            end
        
else
            --
d.clear_regen()
            --
d.regen_file("data/dungeon/deviltower5_regen.txt")
            
server_timer("devil_stone4_end", 5, get_server_timer_arg())
            
d.notice("Glückwunsch Euch ist es geglückt den Echten Metinstein");
            
d.notice("zu finden... Auf in die nächste Etage.")
            
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', 1, get_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("Willkommen auf der 5.ten Etage")
        
d.notice("Tötet alle Monster denn manche Tragen den Schlüssel")
        
d.notice("für die nächste Etage mit sich")
        
d.notice("Öffnet alle Säulen mit hilfe der Schlüsselsteine (Ihr habt 20 Minuten Zeit)")
        
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
        
server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
        
clear_server_timer('devil_stone4_update', get_server_timer_arg())

        -- 
5. Stock, weiter zu reproduzieren 
        d
.set_regen_file("data/dungeon/deviltower5_regen.txt")

        -- 
5. Stock, Seal Stone Reproduktion 
        d
.spawn_mob(20073, 421, 452)
        
d.spawn_mob(20073, 380, 460)
        
d.spawn_mob(20073, 428, 414)
        
d.spawn_mob(20073, 398, 392)
        
d.spawn_mob(20073, 359, 426)
        
end
    end
    when devil_stone5_fail1
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Noch 15 Minuten.")
        
server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
        
end
    end

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

    when devil_stone5_fail3
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Noch 5 Minuten.")
        
server_timer('devil_stone5_fail', 5*60, get_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.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 
= 50
        
--if is_test_server() then
        
--KILL_COUNT_FOR_DROP_KEY = 1
        
--end
        local n 
=d.getf("count") + 1
        d
.setf("count", n) 
        if 
n == KILL_COUNT_FOR_DROP_KEY then
        
-- Falling Tasten 
        game
.drop_item(50084, 1)
        
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("Glückwunsch ihr habt alle Säulen Geöffnet")
        
d.notice("Ihr werdet in die nächste Etage aufsteigen.")
        
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("Säule entfernt... Noch "..d.getf("stone_count").."Viel Glück")
        
end
    end

    when devil_stone6
.kill begin
        
-- Geschickt, um eine Karte, wo die Verfeinerung St. 
        -- 
Ansonsten ¡¼fnen Sie ein neues Lian Sheng 
        
--d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
        
d.kill_all()
       -- 
d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4)
        
d.check_eliminated()
        
local reward_alchemist = {20074, 20075, 20076}
        
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
        
d.setqf("can_refine", 1)
    
end

    
--------------------------------------
    -- 
7 D kommt man aus dem Zugriff vor dem 8. Stock 
    
--------------------------------------

    
when 20074.chat."Die Oberen Stockwerke" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        say
(""..mob_name(20074).."")
        
say("Möchtet ihr Weiter herrauf")
        
say("und euer können weiterhin unter Beweiss stellen?")
        
say("Ich jedenfalls bleibe hier")
        
say("")
        
wait()
        if 
pc.level >=75 then
            say
("Ihr seid zumindest gross genug.")
            
say("Doch seid ihr auch Tapfer genug?")
            
say("Es gibt nur eine möglichkeit das festzustellen.")
            
timer("devil_jump_7", 6)
            return
        
end
        say
("Ihr seid leider noch nicht ")
        
say("gross genug um weiter aufzusteigen")
        
say("Übt noch ein wenig und kommt dann wieder.")
        
say("Viel Glück auf eurer Reise.")
        
say("")
        
wait()
        
pc.warp(590500, 110500)
        return
    
end
    when 20075.chat
."Mit Bezug auf den oberen Turm .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        say
(""..mob_name(20075).."")
        
say("Möchtet ihr Weiter herrauf")
        
say("und euer können weiterhin unter Beweiss stellen?")
        
say("Ich jedenfalls bleibe hier")
        
say("")
        
wait()
        if 
pc.level >=75 then
            say
("Ihr seid zumindest gross genug.")
            
say("Doch seid ihr auch Tapfer genug?")
            
say("Es gibt nur eine möglichkeit das festzustellen.")
            
timer("devil_jump_7", 6)
            return
        
end
        say
("Ihr seid leider noch nicht ")
        
say("gross genug um weiter aufzusteigen")
        
say("Übt noch ein wenig und kommt dann wieder.")
        
say("Viel Glück auf eurer Reise.")
        
say("")
        
wait()
        
pc.warp(590500, 110500)
        return
    
end
    when 20076.chat
."Mit Bezug auf den oberen Turm .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        say
(""..mob_name(20076).."")
        
say("Möchtet ihr Weiter herrauf")
        
say("und euer können weiterhin unter Beweiss stellen?")
        
say("Ich jedenfalls bleibe hier")
        
say("")
        
wait()
        if 
pc.level >=75 then
            say
("Ihr seid zumindest gross genug.")
            
say("Doch seid ihr auch Tapfer genug?")
            
say("Es gibt nur eine möglichkeit das festzustellen.")
            
timer("devil_jump_7", 6)
            return
        
end
        say
("Ihr seid leider noch nicht ")
        
say("gross genug um weiter aufzusteigen")
        
say("Übt noch ein wenig und kommt dann wieder.")
        
say("Viel Glück auf eurer Reise.")
        
say("")
        
wait()
        
pc.warp(590500, 110500)
        return
    
end

   when devil_jump_7
.timer begin
        d
.clear_regen()

        
d.spawn_mob(8018, 639, 658)
        
d.spawn_mob(8018, 611, 637)
        
d.spawn_mob(8018, 596, 674)
        
d.spawn_mob(8018, 629, 670)

        
d.setf("level", 7)

        
d.jump_all(2048+590, 6656+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(30300, 1)
    
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
            
-- Fall wahr Karte
            game
.drop_item(30302, 1)
            
d.clear_regen()
        else
            -- 
Fall wahr Karte
            game
.drop_item(30301, 1)
            
        
end
    end

    when 30302.
use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        
-- An der 8th Floor 
        say
("Du wirst in die Zin Grotte teleportiert. Viel Glück.")
        
pc.remove_item("30302", 1)
        
timer("devil_jump_8", 6)
        
d.clear_regen()
    
end
                        
    
--------------------------------------------
    -- 
Von 8 F vor der Ankunft geben Sie die 9 F 
    
--------------------------------------------
    
when devil_jump_8.timer begin
        d
.setf("level", 8)
        
d.jump_all(2048+590, 6656+403)
        
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
        
d.spawn_mob(20366, 640, 460)
        
local _count= pc.count_item(30302)-- True Tilgung Dead Turm 
        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(1, 5)
        if 
pct1 == 1 then
            local pct2 
= number(1, 10)
            if 
pct2 == 1 then
                
-- Fall wahre Schl¡¼sel 
                game
.drop_item(30304, 1)
            else
                -- 
Keys fiel 
                game
.drop_item(30303, 1)
            
end
        
else
            return
        
end
    end

    when 20366.take with item
.vnum == 30304 begin
        
-- 9 F-Zeichen aufgehoben 
        npc
.purge()
        
item.remove()
        
timer("devil_jump_9", 6)
    
end

    
---------------------------------------------
    -- 
9 F ein Ende, indem Sie 
    
---------------------------------------------
    
when devil_jump_9.timer begin
        d
.setf("level", 9)
        
d.jump_all(2048+590, 6656+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
        timer
("devil_end_jump", 10)
    
end

    when devil_end_jump
.timer begin
        d
.clear_regen()
        
d.notice("Glückwunsch!!!")
        
d.notice("Du hast den Sensenmann getötet!!!")
        
d.notice("Nun musst du nurnoch den Blauen Tod besiegen")
        
d.notice("und du wirst eine große Belohnung bekommmen!!!")
        
d.spawn_mob(1095, 605, 178)
    
end
    
    when 1095.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        d
.kill_all()
        
notice_all(pc.get_name().." hat den Blauen Tod besiegt!")
        
notice_all("Herzlichen Glückwunsch!!!")
        
d.notice("Ihr habt nun 10 Sekunden bis ihr rausteleportiert werdet.")
        
timer("devil_end_jump_out", 10)
    
end
    when devil_end_jump_out
.timer with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        d
.exit_all()
    
end
end
end 
07/19/2011 16:01 Event150#2834
Quote:
Originally Posted by .Delta View Post
try :D
PHP Code:
quest deviltower_zone begin
    state start begin
    when login begin
        
if pc.get_map_index() == 66 then
        
-- Nicht in einer Etage, die wieder nach drau¡¼n .
        -- 
Layer Range 
        
-- 1F   88  577  236 737
        
-- 2F   91  343  238 504
        
-- 3F  104  107  248 269
        
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)*100, 65)
        
end
        pc
.set_warp_location(65, 5376+532, 512+596+4)
        elseif 
pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
        pc
.set_warp_location(65, 5376+532, 512+596+4)
        
end
    end
    when deviltower_man
.chat.locale.deviltower_man_chat begin
        
if pc.get_level() < 40 then
        say
(locale.deviltower_man_say_you_cant)
        else
        
say(locale.deviltower_man_say)
        
local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
        if 
s == 1 then
            
-- warp into!
            
pc.warp(216500,727000)
        
end
        end
    end
    when devil_stone1
.kill begin
        timer
("devil_stone1_1", 6)
    
end
    when devil_stone1_1
.timer begin
        local mapto7
= pc.count_item(30302)  -- Ich weiß nicht, das wahre Tilgung der die Existenz der Seele des Turms 
        pc
.remove_item(30302,mapto7)

        
local boxto7= pc.count_item(30300)  -- Beseitigung des unbekannten weiß nicht, ob es sich um ein Feld 
        pc
.remove_item(30300,boxto7)

        
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
        
d.regen_file("data/dungeon/deviltower2_regen.txt")
        
d.set_warp_at_eliminate(4, d.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(6, d.get_map_index(), 100, 100)
        --
d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)
        
d.set_warp_at_eliminate(4, d.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 = {
        {
368, 629},
        {
419, 630},
        {
428, 653},
        {
422, 679},
        {
395, 689},
        {
369, 679},
        {
361, 658},
        }
        for 
i = 1, 6 do
        
local j = number(i, 7)
        if 
i != j then
            local t 
= positions[i];
            
positions[i] = positions[j];
            
positions[j] = t;
        
end
        end
        
--for i = 1, 7 do
    --    
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)
        -- 
Reproduzieren eine gro¡¼ Anzahl von Monstern und Herstellung von wahr und falsch Steine Steine 
        
--d.regen_file("data/dungeon/deviltower4_regen.txt")
        
local positions = deviltower_zone.get_4floor_stone_pos()
        for 
i = 1, 6 do
        
chat(positions[i][1], positions[i][2])
        
d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
        
end
        chat
(positions[7][1], positions[7][2])
        
local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
        
chat(vid)
        
d.set_unique("real", vid)
        
server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
        
server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())

        
d.notice("Hier ist die 4. Etage,");
        
d.notice("findet den Echten Metinstein");
        
d.notice("innerhalb von 15 Minuten,");
        
d.notice("Sonst werdet ihr vor die Tür gesetzt.");
    
end

    when devil_stone4_fail1
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Noch 10 Minuten!")
        
server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
        
end
    end

    when devil_stone4_fail2
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Noch 5 Minuten!")
        
server_timer('devil_stone4_fail', 5*60, get_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.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 i = 1, 6 do
            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" .. i, 1)
                
d.notice("Ein Falscher Metinstein verschwindet.");
                
end
            end
            end
        
else
            --
d.clear_regen()
            --
d.regen_file("data/dungeon/deviltower5_regen.txt")
            
server_timer("devil_stone4_end", 5, get_server_timer_arg())
            
d.notice("Glückwunsch Euch ist es geglückt den Echten Metinstein");
            
d.notice("zu finden... Auf in die nächste Etage.")
            
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', 1, get_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("Willkommen auf der 5.ten Etage")
        
d.notice("Tötet alle Monster denn manche Tragen den Schlüssel")
        
d.notice("für die nächste Etage mit sich")
        
d.notice("Öffnet alle Säulen mit hilfe der Schlüsselsteine (Ihr habt 20 Minuten Zeit)")
        
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
        
server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
        
clear_server_timer('devil_stone4_update', get_server_timer_arg())

        -- 
5. Stock, weiter zu reproduzieren 
        d
.set_regen_file("data/dungeon/deviltower5_regen.txt")

        -- 
5. Stock, Seal Stone Reproduktion 
        d
.spawn_mob(20073, 421, 452)
        
d.spawn_mob(20073, 380, 460)
        
d.spawn_mob(20073, 428, 414)
        
d.spawn_mob(20073, 398, 392)
        
d.spawn_mob(20073, 359, 426)
        
end
    end
    when devil_stone5_fail1
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Noch 15 Minuten.")
        
server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
        
end
    end

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

    when devil_stone5_fail3
.server_timer begin
        
if d.select(get_server_timer_arg()) then
        d
.notice("Noch 5 Minuten.")
        
server_timer('devil_stone5_fail', 5*60, get_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.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 
= 50
        
--if is_test_server() then
        
--KILL_COUNT_FOR_DROP_KEY = 1
        
--end
        local n 
=d.getf("count") + 1
        d
.setf("count", n) 
        if 
n == KILL_COUNT_FOR_DROP_KEY then
        
-- Falling Tasten 
        game
.drop_item(50084, 1)
        
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("Glückwunsch ihr habt alle Säulen Geöffnet")
        
d.notice("Ihr werdet in die nächste Etage aufsteigen.")
        
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("Säule entfernt... Noch "..d.getf("stone_count").."Viel Glück")
        
end
    end

    when devil_stone6
.kill begin
        
-- Geschickt, um eine Karte, wo die Verfeinerung St. 
        -- 
Ansonsten ¡¼fnen Sie ein neues Lian Sheng 
        
--d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
        
d.kill_all()
       -- 
d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4)
        
d.check_eliminated()
        
local reward_alchemist = {20074, 20075, 20076}
        
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
        
d.setqf("can_refine", 1)
    
end

    
--------------------------------------
    -- 
7 D kommt man aus dem Zugriff vor dem 8. Stock 
    
--------------------------------------

    
when 20074.chat."Die Oberen Stockwerke" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        say
(""..mob_name(20074).."")
        
say("Möchtet ihr Weiter herrauf")
        
say("und euer können weiterhin unter Beweiss stellen?")
        
say("Ich jedenfalls bleibe hier")
        
say("")
        
wait()
        if 
pc.level >=75 then
            say
("Ihr seid zumindest gross genug.")
            
say("Doch seid ihr auch Tapfer genug?")
            
say("Es gibt nur eine möglichkeit das festzustellen.")
            
timer("devil_jump_7", 6)
            return
        
end
        say
("Ihr seid leider noch nicht ")
        
say("gross genug um weiter aufzusteigen")
        
say("Übt noch ein wenig und kommt dann wieder.")
        
say("Viel Glück auf eurer Reise.")
        
say("")
        
wait()
        
pc.warp(590500, 110500)
        return
    
end
    when 20075.chat
."Mit Bezug auf den oberen Turm .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        say
(""..mob_name(20075).."")
        
say("Möchtet ihr Weiter herrauf")
        
say("und euer können weiterhin unter Beweiss stellen?")
        
say("Ich jedenfalls bleibe hier")
        
say("")
        
wait()
        if 
pc.level >=75 then
            say
("Ihr seid zumindest gross genug.")
            
say("Doch seid ihr auch Tapfer genug?")
            
say("Es gibt nur eine möglichkeit das festzustellen.")
            
timer("devil_jump_7", 6)
            return
        
end
        say
("Ihr seid leider noch nicht ")
        
say("gross genug um weiter aufzusteigen")
        
say("Übt noch ein wenig und kommt dann wieder.")
        
say("Viel Glück auf eurer Reise.")
        
say("")
        
wait()
        
pc.warp(590500, 110500)
        return
    
end
    when 20076.chat
."Mit Bezug auf den oberen Turm .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        say
(""..mob_name(20076).."")
        
say("Möchtet ihr Weiter herrauf")
        
say("und euer können weiterhin unter Beweiss stellen?")
        
say("Ich jedenfalls bleibe hier")
        
say("")
        
wait()
        if 
pc.level >=75 then
            say
("Ihr seid zumindest gross genug.")
            
say("Doch seid ihr auch Tapfer genug?")
            
say("Es gibt nur eine möglichkeit das festzustellen.")
            
timer("devil_jump_7", 6)
            return
        
end
        say
("Ihr seid leider noch nicht ")
        
say("gross genug um weiter aufzusteigen")
        
say("Übt noch ein wenig und kommt dann wieder.")
        
say("Viel Glück auf eurer Reise.")
        
say("")
        
wait()
        
pc.warp(590500, 110500)
        return
    
end

   when devil_jump_7
.timer begin
        d
.clear_regen()

        
d.spawn_mob(8018, 639, 658)
        
d.spawn_mob(8018, 611, 637)
        
d.spawn_mob(8018, 596, 674)
        
d.spawn_mob(8018, 629, 670)

        
d.setf("level", 7)

        
d.jump_all(2048+590, 6656+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(30300, 1)
    
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
            
-- Fall wahr Karte
            game
.drop_item(30302, 1)
            
d.clear_regen()
        else
            -- 
Fall wahr Karte
            game
.drop_item(30301, 1)
            
        
end
    end

    when 30302.
use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        
-- An der 8th Floor 
        say
("Du wirst in die Zin Grotte teleportiert. Viel Glück.")
        
pc.remove_item("30302", 1)
        
timer("devil_jump_8", 6)
        
d.clear_regen()
    
end
                        
    
--------------------------------------------
    -- 
Von 8 F vor der Ankunft geben Sie die 9 F 
    
--------------------------------------------
    
when devil_jump_8.timer begin
        d
.setf("level", 8)
        
d.jump_all(2048+590, 6656+403)
        
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
        
d.spawn_mob(20366, 640, 460)
        
local _count= pc.count_item(30302)-- True Tilgung Dead Turm 
        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(1, 5)
        if 
pct1 == 1 then
            local pct2 
= number(1, 10)
            if 
pct2 == 1 then
                
-- Fall wahre Schl¡¼sel 
                game
.drop_item(30304, 1)
            else
                -- 
Keys fiel 
                game
.drop_item(30303, 1)
            
end
        
else
            return
        
end
    end

    when 20366.take with item
.vnum == 30304 begin
        
-- 9 F-Zeichen aufgehoben 
        npc
.purge()
        
item.remove()
        
timer("devil_jump_9", 6)
    
end

    
---------------------------------------------
    -- 
9 F ein Ende, indem Sie 
    
---------------------------------------------
    
when devil_jump_9.timer begin
        d
.setf("level", 9)
        
d.jump_all(2048+590, 6656+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
        timer
("devil_end_jump", 10)
    
end

    when devil_end_jump
.timer begin
        d
.clear_regen()
        
d.notice("Glückwunsch!!!")
        
d.notice("Du hast den Sensenmann getötet!!!")
        
d.notice("Nun musst du nurnoch den Blauen Tod besiegen")
        
d.notice("und du wirst eine große Belohnung bekommmen!!!")
        
d.spawn_mob(1095, 605, 178)
    
end
    
    when 1095.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        d
.kill_all()
        
notice_all(pc.get_name().." hat den Blauen Tod besiegt!")
        
notice_all("Herzlichen Glückwunsch!!!")
        
d.notice("Ihr habt nun 10 Sekunden bis ihr rausteleportiert werdet.")
        
timer("devil_end_jump_out", 10)
    
end
    when devil_end_jump_out
.timer with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        d
.exit_all()
    
end
end
end 
AHA! mir hier antworten aber in skype nit :D
Nein spaß danke dir :-*
07/19/2011 18:14 spielmitmir#2835
So... nachdem ich längere Zeit überlegen habe wo der Fehler ist, habe ich es aufgegeben & hoffe das es übernatürliche Leute mal ebend sagen wo ich den Fehler eingebaut habe :D
Vorab Danke ! Hier ist sie :