Register for your free account! | Forgot your password?

You last visited: Today at 06:31

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

Advertisement



[Service] Quest-Scripting

Discussion on [Service] Quest-Scripting within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Closed Thread
 
Old 11/11/2011, 15:44   #151
 
elite*gold: 0
Join Date: Jan 2011
Posts: 2,903
Received Thanks: 1,262
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 deviltower_man
.chat.locale.deviltower_man_chat begin
        
if pc.get_level() < 65 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 
== 1 then
            
-- warp into!
            
pc.warp(216500,727000)
        
end
        end
    end
    when devil_stone1
.kill begin
        timer
("devil_stone1_1"5)
    
end
    when 30121.take with item
.vnum == 30185 begin
        item
.remove()
        
d.new_jump_all(66special.devil_tower[1][1], special.devil_tower[1][2])
        
d.regen_file("data/dungeon/deviltower2_2_regen.txt")
        
d.set_warp_at_eliminate(4d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_2_regen.txt")
    
end
    when 30121.chat
."Wer bist du?" begin
        say
("Sei gegrüßt Fremder!")
        
say("Ich bin der Wächter der zweiten, geheimem Ebne")
        
say("Um sie zu betreten, musst du mir")
        
say("ein spezeilles Item bringen")
        
say("Dies kriegst du nur vom Blauen Tod!")
        
say_item("Schwarzes Eis"30185"")
        
wait()
        
say("Zieh es einfach auf mich,")
        
say("und ich werde dir und deinen Gefährten")
        
say("den Weg in die geheime Ebne zeigen...")
    
end
    when devil_stone1_1
.timer begin
        local mapto7
pc.count_item(30302)  -- ®ø·À¤£ª¾¬O§_¦s¦bªº¯u¤`ÆF¶ð
        pc.remove_item(30302,mapto7)

        local boxto7= pc.count_item(30300)  -- ®ø·À¤£ª¾¬O§_¦s¦bªº¤£ª¾¦Wªº½c¤l
        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)
        -- ¦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 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("Du hast den Metin des Teufels");
        d.notice("Zerstört!");
        d.notice("Du hast nun 15Min Zeit, den Richtigen");
        d.notice("Metin des Sturzes zu zerstören!");
d.notice("Nur duch Zerstörung ddes Richtigen kommtst du weiter!");
    end

    when devil_stone4_fail1.server_timer begin
        if d.select(get_server_timer_arg()) then
        d.notice("Es verbleiben noch 10min!")
        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("Es verbleiben noch 5min!")
        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("Die falschen Metinsteine Verschwinden...");
                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("Du hast den Richtigen Metin des Sturzes zerstört!");
            d.notice("Du wirst in den 5ten Stock 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', 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("Du bist nun im 5ten Stock")
        d.notice("Auf dieser Ebene ist viel Können gefragt!")
        d.notice("Einige Monster droppen einen 'Schlüsselsein'")
        d.notice("Ziehe diesen Stein auf die Säulen,")
d.notice("und komme auf Ebene6!")

        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¼ÓÄ~Äò¦A²{
        d.set_regen_file("data/dungeon/deviltower5_regen.txt")

        -- 5¼Ó«Ê¦L¥Û¦A²{
        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("³Es verbleiben noch 15min!")
        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("Es verbleiben noch 10min!")
        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("³Es verbleiben noch 5min!")
        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
        -- ±¼¤UÂê°Í
        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("Du hast das Siegel geöffnet!")
        d.notice("Du wirst nun auf die 6te Ebene zu dem Dämonenkönig geportet!")
        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("Du hast ein Siegel geöffnet! "..d.getf("stone_count").." verbleiben noch!")
        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.notice("Der Dämonenkönig wurde getötet. In wenigen Sekunden")
        d.notice("wird dich ein Schmied belohnen.")
        
        timer("schmied_spawn",10)
        
        --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
    
    when schmied_spawn.timer begin
        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
    --------------------------------------
    -- ¥Ñ¶i¤J7¼Ó¦Ü¨ì¹F8¼Ó¤§«e
    --------------------------------------

    when 20074.chat."Zu den Höheren Stockwerken.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000begin
        npc.lock()
        say(""..mob_name(20074).."")
        say("In den Höheren Ebenen des Turms")
        say("wartet der Sensenmann auf dich!")
        say("Du musst mindestens LV80 sein!")
        say("Bist du sicher das du voranschreiten willst?")
        wait()
        if pc.level >=80 then
        say("Du bist mutig..")
        say("Ich werde dich Teleportieren...")
        say("")
        npc.purge()
            timer("devil_jump_7", 6)
            return
        end
            say("Du bist unter Level80!")
            say("Du wirst weiter oben nur Grausame Qualen zuspüren bekommen...")
            say("Ich Teleportiere dich jetzt runter...zu deiner Sicherheit...")
        say("")
        wait()
        pc.warp(590500, 110500)
        return
    end
    when 20075.chat."Zu den Höheren Stockwerken.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        npc.lock()
        say(""..mob_name(20075).."")
        say("In den Höheren Ebenen des Turms")
        say("wartet der Sensenmann auf dich!")
        say("Du musst mindestens LV80 sein!")
        say("Bist du sicher das du voranschreiten willst?")
        wait()
        if pc.level >=80 then
        say("Du bist mutig..")
        say("Ich werde dich Teleportieren...")
        say("")
        npc.purge()
            timer("devil_jump_7", 6)
            return
        end
            say("Du bistt unter Level80!")
            say("Du wirst weiter oben nur Grausame Qualen zuspüren bekommen...")
            say("Ich Teleportiere dich jetzt runter...zu deiner Sicherheit...")
        say("")
        wait()
        pc.warp(590500, 110500)
        return
    end
    when 20076.chat."Zu den Höheren Stockwerken.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        npc.lock()
        say(""..mob_name(20076).."")
        say("In den Höheren Ebenen des Turms")
        say("wartet der Sensenmann auf dich!")
        say("Du musst mindestens LV80 sein!")
        say("Bist du sicher das du voranschreiten willst?")
        wait()
        if pc.level >=80 then
        say("Du bist mutig..")
        say("Ich werde dich Teleportieren...")
        say("")
        npc.purge()
            timer("devil_jump_7", 6)
            return
        end
            say("Du bist unter Level80!")
            say("Du wirst weiter oben nur Grausame Qualen zuspüren bekommen...")
            say("Ich Teleportiere dich jetzt runter...zu deiner Sicherheit...")
        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
            -- ±¼¤U¯u¦a¹Ï
            game.drop_item(30302, 1)
            d.clear_regen()
        else
            -- ±¼¤U°²¦a¹Ï
            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
        -- ¶Ç°e¨ì8¼Ó
        say("Du wirst in den 7ten Stock Teleportiert..")
        pc.remove_item("30302", 1)
        timer("devil_jump_8", 6)
        d.clear_regen()
    end
                        
    --------------------------------------------
    -- ¥Ñ¶i¤J8¼Ó¦Ü¨ì¹F9¼Ó¤§«e
    --------------------------------------------
    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)-- ®ø·À¯u¤
`ÆF¶ð
        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
                
-- ±¼¤U¯uÂê°Í
                game
.drop_item(303041)
            else
                -- 
±¼¤U°²Âê°Í
                game
.drop_item(303031)
            
end
        
else
            return
        
end
    end

    when 20366.take with item
.vnum == 30304 begin
        
-- 9¼Ó«Ê¦L¸Ñ°£
        npc
.purge()
        
item.remove()
d.kill_all()
        
timer("devil_jump_9"6)
    
end

    
---------------------------------------------
    -- 
¥Ñ¶i¤J9¼Ó¦Üµ²§ô
    
---------------------------------------------
    
when devil_jump_9.timer begin
        d
.setf("level"9)
        
d.jump_all(2048+5906656+155)
d.clear_regen()
        
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
.notice("Du hast das Oberhaupt der Dämonen getötet...")
d.notice("Du bist wahrhaft ein mächtiger kämpfer...")    
d.kill_all()
        
timer("devil_jump_10"6)
    
end
    
---------------------------------------------
    -- 
¥Ñ¶i¤J9¼Ó¦Üµ²§ô
    
---------------------------------------------
    
when devil_jump_10.timer begin
        d
.setf("level"10)
d.clear_regen()
        
d.jump_all(2048+5906656+403)
d.regen_file("data/dungeon/deviltower10_regen.txt")
d.spawn_mob(1094602442)
    
end

    when 1094.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d
.check_eliminated()
        
timer("devil_jump_11"6)
    
end
    
---------------------------------------------
    -- 
¥Ñ¶i¤J9¼Ó¦Üµ²§ô
    
---------------------------------------------
    
when devil_jump_11.timer begin
        d
.setf("level"11)
d.clear_regen()
        
d.jump_all(2048+5906656+155)
d.regen_file("data/dungeon/deviltower11_regen.txt")
d.spawn_mob(1095610194)
    
end


    when 1095.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
    d
.kill_all()
    
d.kill_all()
d.notice("Du hast das geschafft, was keiner gedacht hat...")
d.notice("Du hast den Blauten Tod getötet...")
d.notice("Nun erscheinen 3 Schmiede...")
d.notice("In 2min wirst du herraus telepotiert!")
        
d.check_eliminated()
--
d.spawn_mob(20366690158);
d.spawn_mob(20074,600,168,0,0,1);
d.spawn_mob(20075,605,178,0,0,1);
d.spawn_mob(20076,610,188,0,0,1);
d.setqf("can_refine"3)
timer("lolbai"120)

end
when lolbai
.timer begin
    d
.exit_all()
end

    when 2591.kill begin
        d
.kill_all()
        --
d.clear_regen()
        --
d.regen_file("data/dungeon/deviltower4_2_regen.txt")
        
d.set_warp_at_eliminate(4d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_2_regen.txt")
        
d.check_eliminated()
    
end
    
    when 8024.kill with pc
.in_dungeon() begin
        d
.setf("level"4)
        -- 
¦A²{¤j¶q©Çª«¤Î»s³y¯u¥ÛÀY©M°²¥ÛÀY
        
--d.regen_file("data/dungeon/deviltower4_regen2.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(8025positions[i][1], positions[i][2]))
        
end
        chat
(positions[7][1], positions[7][2])
        
local vid d.spawn_mob(8025positions[7][1], positions[7][2])
        
chat(vid)
        
d.set_unique("real"vid)
        
server_loop_timer('devil_stone4_update2'10pc.get_map_index())
        
server_timer('devil_stone4_fail1'5*60pc.get_map_index())

        
d.notice("Du hast den Metin Zerstört!");
        
d.notice("Du hast nun 15Min Zeit, den Richtigen");
        
d.notice("Metin zu zerstören!");
        
d.notice("Nur duch Zerstörung des richtigen kommtst du weiter!");
    
end

    when devil_stone4_update2
.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("Die falschen Metinsteine verschwinden...");
                
end
            end
            end
        
else
            
server_timer("devil_stone4_end2"5get_server_timer_arg())
            
d.notice("Du hast den Richtigen Metin zerstört!");
            
d.notice("Du wirst in den 5ten Stock 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_end2
.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 im 5ten Stock")
        
d.notice("Auf dieser Ebene ist viel können gefragt!")
        
d.notice("Einige Monster droppen einen 'Scharfen Stein'")
        
d.notice("Ziehe diese Stein auf die Kisten")

        
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_update2'get_server_timer_arg())

        -- 
5¼ÓÄ~Äò¦A²{
        
d.set_regen_file("data/dungeon/deviltower5_2_regen.txt")

        -- 
5¼Ó«Ê¦L¥Û¦A²{
        
d.spawn_mob(20359421452)
        
d.spawn_mob(20359380460)
        
d.spawn_mob(20359428414)
        
d.spawn_mob(20359398392)
        
d.spawn_mob(20359359426)
        
end
    end

    when 2542.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 
== KILL_COUNT_FOR_DROP_KEY then
        
-- ±¼¤UÂê°Í
        game
.drop_item(500841)
        
d.setf("count"0)
        
end
    end
    when 20359.take with item
.vnum == 30064 and pc.in_dungeon() 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_2_regen.txt")
        
d.notice("Du hast alle Kisten geöffnet!")
        
d.notice("Du wirst nun auf die 6te Ebene zum Geisterkönig geportet!")
        
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("Du hast eine Kiste geöffnet! "..d.getf("stone_count").." verbleiben noch!")
        
end
    end

    when 2592.kill begin
        d
.kill_all()
        
d.check_eliminated()
        
local reward_alchemist = {202002020020200}
        
d.spawn_mob(reward_alchemist[number(1,3)], 425216);
        --
d.setqf("can_refine"1)
    
end
end
end 
so müsste es gehen also Deutsch

€:
@Ocelot2606
Danke aber die von SoNiice geht auch gut
£αšεℜ™ is offline  
Old 11/11/2011, 15:54   #152
 
elite*gold: 0
Join Date: Sep 2011
Posts: 205
Received Thanks: 175
Quote:
Originally Posted by Ocelot2606 View Post
hier bitte sehr

PHP Code:
quest shop22 begin
    state start begin
        when login with pc
.getqf("shop")==1 begin
            pc
.remove_polymorph()
            
pc.setqf("shop"0)
        
end
        when 50200.
use begin
            
if pc.get_map_index() == 230 then
                
if pc.getqf("spam")==0 then
                    pc
.polymorph("30000"time_hour_to_sec(24))
                    
cmdchat("OpenPrivateShop")
                    
pc.setqf("shop"1)
                    
pc.remove_item("50200"1)
                    
send_letter("Shop schließen")
                    
pc.setqf("spam"1)
                    
timer("spam"5)
                
end
            
else
                
say_title("Shop öffnen")
                
say("Du befindest dich nicht auf der")
                
say("Handelsmap. Möchtest du dorthin")
                
say("teleportiert werden?")
                
local s select("Ja""Nein")
                if 
s==2 then
                    
return
                
end
                pc
.warp(91238459491246594)
            
end
        end
        when button 
or info begin
            pc
.remove_polymorph()
            
cmdchat("ClosePrivateShop")
            
pc.setqf("shop"0)
        
end
        when spam
.timer begin
            pc
.setqf("spam"0)
        
end
    end
end 

PHP Code:
quest shoptable begin
    state start begin
        when 50200.
use or 71049.use begin
            
if pc.get_map_index() == 113 and not pc.is_gm() or not pc.count_item(80041then
                say
("Du kannst während des OX keinen Laden eröffnen.")
                return
            
end
            
if pc.get_map_index() == xxx then
                cmdchat
("OpenPrivateShop")
            else
                
say_title(item_name(item.get_vnum())..":")
                
say("Du willst einen Laden außerhalb der Handelsmap öffnen?")
                
say("Dies geht leider nicht.")
                
say("")
                
say_reward("Willst du nun zur Handelsmap gebracht werden?")
                
local s select("Ja, vielen Dank.""Abrechen")
                if 
== 1 then
                    say_title
(""..item_name(""..item.get_vnum().."").."")
                    
say("Alles klar ich bringe dich Kostenlos dorthin")
                    
wait()
                    
pc.warp(xxx,xxx)
                
end
            end
        end    
    end
end 
Wo liegt der Unterschied zwischen den Questen ?
ChacKii™ is offline  
Thanks
1 User
Old 11/11/2011, 16:11   #153


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,220
Received Thanks: 6,758
Die obere Quest ist nicht für 2010 Files, wenn ich's richtig sehe.
#SoNiice is offline  
Old 11/11/2011, 16:21   #154

 
xXKimariXx's Avatar
 
elite*gold: 5
Join Date: Aug 2011
Posts: 1,130
Received Thanks: 512
will immer noch eine quest , wenn man ein typen anklickt und auf "Top 10" klickt dass da die top 10 steht also ne rangliste
xXKimariXx is offline  
Old 11/11/2011, 16:22   #155
 
elite*gold: 0
Join Date: Jan 2011
Posts: 2,903
Received Thanks: 1,262
wenn du meine meinst dann siehst du es falsch oder ich habe die falsche quest
denn in den daroo files ist das standert drinne

€:
kann man das nicht so machen mit der top 10?
Quote:
will immer noch eine quest , wenn man ein typen anklickt und auf "Top 10" klickt dass da die top 10 steht also ne rangliste
PHP Code:
quest guild_ranking begin
    state start begin
    when guild_man1
.chat.locale.show_guild_ranking_around with pc.hasguild() begin
        say
(locale.guild_around_rank_msg)
        
say(locale.guild_rank_head);
        
say(guild.around_ranking_string().."[/DELAY]")
    
end
    when guild_man1
.chat.locale.show_guild_ranking_top with pc.hasguild() begin
        say
(locale.guild_top_rank_msg)
        
say(locale.guild_rank_head);
        
say(guild.high_ranking_string().."[/DELAY]")
    
end
    when guild_man1
.chat.locale.show_guild_cur_score with pc.hasguild() begin
        say
(locale.guild_your_rank1..guild.get_rank()..locale.guild_your_rank2..guild.get_ladder_point()..locale.guild_your_rank3)
    
end
    
--------------------------------------------------------------------------------
    
when guild_man2.chat.locale.show_guild_ranking_around with pc.hasguild() begin
        say
(locale.guild_around_rank_msg)
        
say(locale.guild_rank_head);
        
say(guild.around_ranking_string().."[/DELAY]")
    
end
    when guild_man2
.chat.locale.show_guild_ranking_top with pc.hasguild() begin
        say
(locale.guild_top_rank_msg)
        
say(locale.guild_rank_head);
        
say(guild.high_ranking_string().."[/DELAY]")
    
end
    when guild_man2
.chat.locale.show_guild_cur_score with pc.hasguild() begin
        say
(locale.guild_your_rank1..guild.get_rank()..locale.guild_your_rank2..guild.get_ladder_point()..locale.guild_your_rank3)
    
end
    
--------------------------------------------------------------------------------
    
when guild_man3.chat.locale.show_guild_ranking_around with pc.hasguild() begin
        say
(locale.guild_around_rank_msg)
        
say(locale.guild_rank_head);
        
say(guild.around_ranking_string().."[/DELAY]")
    
end
    when guild_man3
.chat.locale.show_guild_ranking_top with pc.hasguild() begin
        say
(locale.guild_top_rank_msg)
        
say(locale.guild_rank_head);
        
say(guild.high_ranking_string().."[/DELAY]")
    
end
    when guild_man3
.chat.locale.show_guild_cur_score with pc.hasguild() begin
        say
(locale.guild_your_rank1..guild.get_rank()..locale.guild_your_rank2..guild.get_ladder_point()..locale.guild_your_rank3)
    
end
    end
end 
und einfach dann so umbearbeiten das halt player satts gilden rang ist? geht das
£αšεℜ™ is offline  
Old 11/11/2011, 16:25   #156
 
maarczor's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 233
Received Thanks: 66
Quote:
Originally Posted by £αšεℜ™ View Post
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 deviltower_man
.chat.locale.deviltower_man_chat begin
        
if pc.get_level() < 65 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 
== 1 then
            
-- warp into!
            
pc.warp(216500,727000)
        
end
        end
    end
    when devil_stone1
.kill begin
        timer
("devil_stone1_1"5)
    
end
    when 30121.take with item
.vnum == 30185 begin
        item
.remove()
        
d.new_jump_all(66special.devil_tower[1][1], special.devil_tower[1][2])
        
d.regen_file("data/dungeon/deviltower2_2_regen.txt")
        
d.set_warp_at_eliminate(4d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_2_regen.txt")
    
end
    when 30121.chat
."Wer bist du?" begin
        say
("Sei gegrüßt Fremder!")
        
say("Ich bin der Wächter der zweiten, geheimem Ebne")
        
say("Um sie zu betreten, musst du mir")
        
say("ein spezeilles Item bringen")
        
say("Dies kriegst du nur vom Blauen Tod!")
        
say_item("Schwarzes Eis"30185"")
        
wait()
        
say("Zieh es einfach auf mich,")
        
say("und ich werde dir und deinen Gefährten")
        
say("den Weg in die geheime Ebne zeigen...")
    
end
    when devil_stone1_1
.timer begin
        local mapto7
pc.count_item(30302)  -- ®ø·À¤£ª¾¬O§_¦s¦bªº¯u¤`ÆF¶ð
        pc.remove_item(30302,mapto7)

        local boxto7= pc.count_item(30300)  -- ®ø·À¤£ª¾¬O§_¦s¦bªº¤£ª¾¦Wªº½c¤l
        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)
        -- ¦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 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("Du hast den Metin des Teufels");
        d.notice("Zerstört!");
        d.notice("Du hast nun 15Min Zeit, den Richtigen");
        d.notice("Metin des Sturzes zu zerstören!");
d.notice("Nur duch Zerstörung ddes Richtigen kommtst du weiter!");
    end

    when devil_stone4_fail1.server_timer begin
        if d.select(get_server_timer_arg()) then
        d.notice("Es verbleiben noch 10min!")
        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("Es verbleiben noch 5min!")
        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("Die falschen Metinsteine Verschwinden...");
                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("Du hast den Richtigen Metin des Sturzes zerstört!");
            d.notice("Du wirst in den 5ten Stock 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', 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("Du bist nun im 5ten Stock")
        d.notice("Auf dieser Ebene ist viel Können gefragt!")
        d.notice("Einige Monster droppen einen 'Schlüsselsein'")
        d.notice("Ziehe diesen Stein auf die Säulen,")
d.notice("und komme auf Ebene6!")

        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¼ÓÄ~Äò¦A²{
        d.set_regen_file("data/dungeon/deviltower5_regen.txt")

        -- 5¼Ó«Ê¦L¥Û¦A²{
        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("³Es verbleiben noch 15min!")
        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("Es verbleiben noch 10min!")
        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("³Es verbleiben noch 5min!")
        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
        -- ±¼¤UÂê°Í
        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("Du hast das Siegel geöffnet!")
        d.notice("Du wirst nun auf die 6te Ebene zu dem Dämonenkönig geportet!")
        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("Du hast ein Siegel geöffnet! "..d.getf("stone_count").." verbleiben noch!")
        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.notice("Der Dämonenkönig wurde getötet. In wenigen Sekunden")
        d.notice("wird dich ein Schmied belohnen.")
        
        timer("schmied_spawn",10)
        
        --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
    
    when schmied_spawn.timer begin
        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
    --------------------------------------
    -- ¥Ñ¶i¤J7¼Ó¦Ü¨ì¹F8¼Ó¤§«e
    --------------------------------------

    when 20074.chat."Zu den Höheren Stockwerken.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000begin
        npc.lock()
        say(""..mob_name(20074).."")
        say("In den Höheren Ebenen des Turms")
        say("wartet der Sensenmann auf dich!")
        say("Du musst mindestens LV80 sein!")
        say("Bist du sicher das du voranschreiten willst?")
        wait()
        if pc.level >=80 then
        say("Du bist mutig..")
        say("Ich werde dich Teleportieren...")
        say("")
        npc.purge()
            timer("devil_jump_7", 6)
            return
        end
            say("Du bist unter Level80!")
            say("Du wirst weiter oben nur Grausame Qualen zuspüren bekommen...")
            say("Ich Teleportiere dich jetzt runter...zu deiner Sicherheit...")
        say("")
        wait()
        pc.warp(590500, 110500)
        return
    end
    when 20075.chat."Zu den Höheren Stockwerken.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        npc.lock()
        say(""..mob_name(20075).."")
        say("In den Höheren Ebenen des Turms")
        say("wartet der Sensenmann auf dich!")
        say("Du musst mindestens LV80 sein!")
        say("Bist du sicher das du voranschreiten willst?")
        wait()
        if pc.level >=80 then
        say("Du bist mutig..")
        say("Ich werde dich Teleportieren...")
        say("")
        npc.purge()
            timer("devil_jump_7", 6)
            return
        end
            say("Du bistt unter Level80!")
            say("Du wirst weiter oben nur Grausame Qualen zuspüren bekommen...")
            say("Ich Teleportiere dich jetzt runter...zu deiner Sicherheit...")
        say("")
        wait()
        pc.warp(590500, 110500)
        return
    end
    when 20076.chat."Zu den Höheren Stockwerken.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
        npc.lock()
        say(""..mob_name(20076).."")
        say("In den Höheren Ebenen des Turms")
        say("wartet der Sensenmann auf dich!")
        say("Du musst mindestens LV80 sein!")
        say("Bist du sicher das du voranschreiten willst?")
        wait()
        if pc.level >=80 then
        say("Du bist mutig..")
        say("Ich werde dich Teleportieren...")
        say("")
        npc.purge()
            timer("devil_jump_7", 6)
            return
        end
            say("Du bist unter Level80!")
            say("Du wirst weiter oben nur Grausame Qualen zuspüren bekommen...")
            say("Ich Teleportiere dich jetzt runter...zu deiner Sicherheit...")
        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
            -- ±¼¤U¯u¦a¹Ï
            game.drop_item(30302, 1)
            d.clear_regen()
        else
            -- ±¼¤U°²¦a¹Ï
            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
        -- ¶Ç°e¨ì8¼Ó
        say("Du wirst in den 7ten Stock Teleportiert..")
        pc.remove_item("30302", 1)
        timer("devil_jump_8", 6)
        d.clear_regen()
    end
                        
    --------------------------------------------
    -- ¥Ñ¶i¤J8¼Ó¦Ü¨ì¹F9¼Ó¤§«e
    --------------------------------------------
    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)-- ®ø·À¯u¤
`ÆF¶ð
        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
                
-- ±¼¤U¯uÂê°Í
                game
.drop_item(303041)
            else
                -- 
±¼¤U°²Âê°Í
                game
.drop_item(303031)
            
end
        
else
            return
        
end
    end

    when 20366.take with item
.vnum == 30304 begin
        
-- 9¼Ó«Ê¦L¸Ñ°£
        npc
.purge()
        
item.remove()
d.kill_all()
        
timer("devil_jump_9"6)
    
end

    
---------------------------------------------
    -- 
¥Ñ¶i¤J9¼Ó¦Üµ²§ô
    
---------------------------------------------
    
when devil_jump_9.timer begin
        d
.setf("level"9)
        
d.jump_all(2048+5906656+155)
d.clear_regen()
        
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
.notice("Du hast das Oberhaupt der Dämonen getötet...")
d.notice("Du bist wahrhaft ein mächtiger kämpfer...")    
d.kill_all()
        
timer("devil_jump_10"6)
    
end
    
---------------------------------------------
    -- 
¥Ñ¶i¤J9¼Ó¦Üµ²§ô
    
---------------------------------------------
    
when devil_jump_10.timer begin
        d
.setf("level"10)
d.clear_regen()
        
d.jump_all(2048+5906656+403)
d.regen_file("data/dungeon/deviltower10_regen.txt")
d.spawn_mob(1094602442)
    
end

    when 1094.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d
.check_eliminated()
        
timer("devil_jump_11"6)
    
end
    
---------------------------------------------
    -- 
¥Ñ¶i¤J9¼Ó¦Üµ²§ô
    
---------------------------------------------
    
when devil_jump_11.timer begin
        d
.setf("level"11)
d.clear_regen()
        
d.jump_all(2048+5906656+155)
d.regen_file("data/dungeon/deviltower11_regen.txt")
d.spawn_mob(1095610194)
    
end


    when 1095.kill with pc
.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
    d
.kill_all()
    
d.kill_all()
d.notice("Du hast das geschafft, was keiner gedacht hat...")
d.notice("Du hast den Blauten Tod getötet...")
d.notice("Nun erscheinen 3 Schmiede...")
d.notice("In 2min wirst du herraus telepotiert!")
        
d.check_eliminated()
--
d.spawn_mob(20366690158);
d.spawn_mob(20074,600,168,0,0,1);
d.spawn_mob(20075,605,178,0,0,1);
d.spawn_mob(20076,610,188,0,0,1);
d.setqf("can_refine"3)
timer("lolbai"120)

end
when lolbai
.timer begin
    d
.exit_all()
end

    when 2591.kill begin
        d
.kill_all()
        --
d.clear_regen()
        --
d.regen_file("data/dungeon/deviltower4_2_regen.txt")
        
d.set_warp_at_eliminate(4d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_2_regen.txt")
        
d.check_eliminated()
    
end
    
    when 8024.kill with pc
.in_dungeon() begin
        d
.setf("level"4)
        -- 
¦A²{¤j¶q©Çª«¤Î»s³y¯u¥ÛÀY©M°²¥ÛÀY
        
--d.regen_file("data/dungeon/deviltower4_regen2.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(8025positions[i][1], positions[i][2]))
        
end
        chat
(positions[7][1], positions[7][2])
        
local vid d.spawn_mob(8025positions[7][1], positions[7][2])
        
chat(vid)
        
d.set_unique("real"vid)
        
server_loop_timer('devil_stone4_update2'10pc.get_map_index())
        
server_timer('devil_stone4_fail1'5*60pc.get_map_index())

        
d.notice("Du hast den Metin Zerstört!");
        
d.notice("Du hast nun 15Min Zeit, den Richtigen");
        
d.notice("Metin zu zerstören!");
        
d.notice("Nur duch Zerstörung des richtigen kommtst du weiter!");
    
end

    when devil_stone4_update2
.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("Die falschen Metinsteine verschwinden...");
                
end
            end
            end
        
else
            
server_timer("devil_stone4_end2"5get_server_timer_arg())
            
d.notice("Du hast den Richtigen Metin zerstört!");
            
d.notice("Du wirst in den 5ten Stock 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_end2
.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 im 5ten Stock")
        
d.notice("Auf dieser Ebene ist viel können gefragt!")
        
d.notice("Einige Monster droppen einen 'Scharfen Stein'")
        
d.notice("Ziehe diese Stein auf die Kisten")

        
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_update2'get_server_timer_arg())

        -- 
5¼ÓÄ~Äò¦A²{
        
d.set_regen_file("data/dungeon/deviltower5_2_regen.txt")

        -- 
5¼Ó«Ê¦L¥Û¦A²{
        
d.spawn_mob(20359421452)
        
d.spawn_mob(20359380460)
        
d.spawn_mob(20359428414)
        
d.spawn_mob(20359398392)
        
d.spawn_mob(20359359426)
        
end
    end

    when 2542.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 
== KILL_COUNT_FOR_DROP_KEY then
        
-- ±¼¤UÂê°Í
        game
.drop_item(500841)
        
d.setf("count"0)
        
end
    end
    when 20359.take with item
.vnum == 30064 and pc.in_dungeon() 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_2_regen.txt")
        
d.notice("Du hast alle Kisten geöffnet!")
        
d.notice("Du wirst nun auf die 6te Ebene zum Geisterkönig geportet!")
        
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("Du hast eine Kiste geöffnet! "..d.getf("stone_count").." verbleiben noch!")
        
end
    end

    when 2592.kill begin
        d
.kill_all()
        
d.check_eliminated()
        
local reward_alchemist = {202002020020200}
        
d.spawn_mob(reward_alchemist[number(1,3)], 425216);
        --
d.setqf("can_refine"1)
    
end
end
end 
so müsste es gehen also Deutsch

€:
@Ocelot2606
Danke aber die von SoNiice geht auch gut
Hi, danke!
Kannst du mir sagen, was da nun eingebaut ist?

Kommen nun 2 neue Etagen mit 2 neuen Bossen nach dem Dämonenkönig oder was?
maarczor is offline  
Old 11/11/2011, 16:28   #157
 
elite*gold: 0
Join Date: Jan 2011
Posts: 2,903
Received Thanks: 1,262
richtig das isr der dt run biss BT also eig Standert daroo sf quest
£αšεℜ™ is offline  
Old 11/11/2011, 16:31   #158
 
maarczor's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 233
Received Thanks: 66
Quote:
Originally Posted by £αšεℜ™ View Post
richtig das isr der dt run biss BT also eig Standert daroo sf quest
Also nur bis zum Blauen Tod?
Ich dachte, es kommen 2 Bosse? Also, Blauer Tod und noch einer?
maarczor is offline  
Old 11/11/2011, 16:35   #159
 
elite*gold: 0
Join Date: Jan 2011
Posts: 2,903
Received Thanks: 1,262
Ja erst sensi dann irgend ein Dämonenking wieder son blauer dann BT sind 2 bosse
£αšεℜ™ is offline  
Old 11/11/2011, 16:37   #160

 
xXKimariXx's Avatar
 
elite*gold: 5
Join Date: Aug 2011
Posts: 1,130
Received Thanks: 512
@Laser dass geht bestimmt nicht
xXKimariXx is offline  
Old 11/11/2011, 16:38   #161
 
elite*gold: 0
Join Date: Jan 2011
Posts: 2,903
Received Thanks: 1,262
Kann ja sein denn die quest ist ja eig nicht anderes nur das halt eine andere Tabelle benuzt wird oder nicht
£αšεℜ™ is offline  
Old 11/11/2011, 17:07   #162


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,220
Received Thanks: 6,758
Und das man den Shop via Questrolle beendet.
#SoNiice is offline  
Old 11/11/2011, 18:10   #163

 
iSouli~'s Avatar
 
elite*gold: 258
Join Date: Feb 2011
Posts: 1,405
Received Thanks: 3,502
Falls du mal wd Zeit dafür findest , wäre es nett wenn du mein zweiten Wunsch auch realisieren würdest.


mfg
iSouli~ is offline  
Old 11/12/2011, 15:28   #164
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1
Received Thanks: 0
Halli hallo ich hab die ganzen Seiten hier jetz schon x mal durchsucht finde aber die quest nicht das beim einloggen die tp automatisch voll wird nicht soll angeblich irgentwo sein wie gesagt vllt bin ich auch blind wäre nett wenn es nochmal wer posten könnte oder mir einfach den link gibt

Ich hab dann auch noch ne kleine quest ich brauch ein Userpanel vorne sind schon welche sind mir aber zuviele funktionen und wenn ich da anfange was zu löschen geht bestimmt nix mehr wie ich mich kenne brauch eine dir nur in jedes map 1 ported zugang zum lager verschafft und ne gm liste anzeigt. oder wie oben einfach nen link hab da per sufu auch keine passende gefunden.

Vielen dank
Judgement071188 is offline  
Old 11/12/2011, 15:51   #165
 
elite*gold: 0
Join Date: Mar 2009
Posts: 142
Received Thanks: 72
hallo zusammen,

Hier habe ich zwei Quests. Die make.py führt es problemlos aus aber funktionieren ingame tut es nicht. habe es in der quest_list eingetragen.

1 Quest:

PHP Code:
quest money_to_bar begin
    state start begin
        when login begin
            timer
("money"10)
        
end
        
        when money
.timer with pc.get_gold >= 1500000000 begin
            pc
.changegold(-1000000000)
            
pc.give_item2(800072)
            
timer("money1"10)
        
end
        
        when money1
.timer with pc.get_gold >= 1500000000 begin
            pc
.changegold(-1000000000)
            
pc.give_item2(800072)
            
timer("money"10)
        
end
    end
end 
2te Quest

PHP Code:
quest bar_to_money begin
    state start begin
        when 80007.
use begin
            
if pc.get_gold >= 1500000000 then
                chat
("Du trägst zu viel Yang bei dir!")
            else
                
pc.remove_item(800071)
                
pc.change_gold(500000000)
                
chat("Du hast 500 Millionen Yang erhalten!")
            
end
        end
    end
end 
die 1. Quest sollte sobald man mehr als 1,5kkk hat einem 2 Goldbarren geben und dies alle 10 sek abfragen.

die 2. quest sollte einem beim rechtsklick auf einen Barren 500kk geben, aber nur wenn man weniger oder gleich 1,5kkk yang besitzt.

in der item_proto habe ich die Goldbarren bereits angepasst also type auf 18 gestellt antiflag auf 0 und flag auf 4 (damit stapelbar)

funktionieren tut trotzdem keine der quests

hoffentlich weiss einer ne lösung oder kann mir sogar eine neue bessere quest scripten, die funktioniert

vielen dank

mit freundlichen grüssen
antimask
AntiMask is offline  
Closed Thread


Similar Threads Similar Threads
[Service] PAWNO Scripting
02/28/2012 - Grand Theft Auto - 11 Replies
http://img801.imageshack.us/img801/4903/unbenannt3 o.jpg Hey, Da ich jetzt längere Zeit weg war, fang ich jetzt mal den Service wieder an. Mein Angebot: http://www.elitepvpers.com/forum/images/misc/im_s kype.gif chris00984
[SERVICE]Homepage Scripting in PHP & MySQL
05/07/2011 - Metin2 Trading - 14 Replies
http://socalwebguys.com/php-mysql.gif Hallo Community, Mit dem folgendem Thread biete Ich Euch meine Programmierkenntnisse, was dem Web Development angeht, an. Ihr habt etwa einen reinen Website Design ohne Scripts, wollt es jedoch als Homepage für Euren Server benutzen? Dann seit Ihr hier genau richtig.
[Biete] Webspace, Teamspeak Server und Scripting Service
11/22/2010 - elite*gold Trading - 3 Replies
Hallo miteinander! Angebot 1: Webspace - Speicherplatz: 1 GB* - 10x des Speicherplatzes, bei 1GB wären das 10 GB Traffic - 1 MySQL Datenbank pro 1 GB Speicherplatz, bei 3 GB wären das 3 MySQL Datenbanken - 1 weiterer FTP Nutzer pro 1 GB Speicherplatz, bei 3GB wären das 3 weitere FTP Nutzer - FTP, PHP, PHP-Upload, CGI/perl, SSI, WAP, Verzeichnisliste, AWStats, Passwort geschütze Verzeichnisse, Fehlerseiten, WebFTP, Webinterface, phpMyAdmin
[Biete] PHP-Scripting-service
08/18/2010 - Web Development - 3 Replies
Hi Elite! Ich möchte einmal ein von mir ins Leben gerufene Projekt vorstellen. Es handelt sich um einen kleinen Service den ich anbiete. Ich scripte für euch KOSTENLOS alles was ihr für eure Serverhomepage braucht. Sei es ein Statusscript, Accounterstellung, oder whatever. Vorteile die ich biete: -Ich werde es so arrangieren, falls notwendig, dass alles aber auch wirklich alles über ein Konfigurationsmenü zu bearbeiten ist. -Absolut kostenfrei



All times are GMT +1. The time now is 06:31.


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.