[SERVICE] Die Questkontrolle

07/30/2012 17:55 .Capo#6421
Quote:
Originally Posted by .BonG™ View Post
eine was modifiziert? ich habe grade 0 plan was du meinst sry.
kannst du mir erklären was ich genau modifizieren muss?
Er meint deine Game Core -> [Only registered and activated users can see links. Click Here To Register...]

In deiner Quest verwendest du das Pferdelevel 28 = Dein Phönix muss die ID 20138, 20139 und 20140 haben.
07/30/2012 18:48 Kevke1996#6422
Was ist hier falsch
ich werde nach dem ich das Feuer der macht (11510) erledigt habe nicht weiter teleportiert

Die Koordinaten stimmen

PHP Code:
quest bossrun begin
state start begin

    when 30160.
use begin
        say_title
("Bossrun")
        
say("Du willst also ein starker Krieger sein?")
        
say(".....")
        
say("Das ich nicht lache...")
        
say("Sieh dich doch mal an...")
        
say("Ist das deine Vorstellung von einem")
        
say("".. pc.get_name() .." ?")
        
wait()
        
say("Nunja das tut nichts zur Sache!")
        
say("Beweise mir nur dass du ein starker Krieger bist,")
        
say("indem du einen Bossrun meisterst!")
        
wait()
        
say("Was das ist?")
        
say("Das klärt sich nun von ganz allein...")
        
say("Du wirst auf ein Gebiet teleportiert in dem nacheinander")
        
say("Bossmobs spawnen! Eins nach dem anderen!")
        
say("Sobald eins tot ist spawnt das nächste!")
        if 
pc get_level ( ) < 85 then 
            say 
("Also so lass ich dich nicht dahin!. Komme wieder, wenn du Level 85 bist!"
        else
            
say("Als erstes musst du das Feuer der Macht")
            
say("bezwingen! Dann geht es los!")
            
say("Aber gebt Acht! Nur wer das Oberhaupt tötet")
            
say("bekommt auch die Belohnung!")
                
wait()
            
say("Also gut! Was ist nun? Willst du es probieren?")
            
            
local s select("Aber klar!""Ne ich bin ein Schisser")
            if 
== 1 then
                pc
.warp(1409200,1008900)
                
pc.remove_item(30160,1)
            else
                return
            
end
        end
    end
    
    when 11510.kill with pc
.get_map_index()==190 begin
            local jump1 
number(190)
            if 
jump1<=50 then
                chat
("Du hattest Glück!")
                
chat("Du wirst gleich weiter teleportiert!")
                
timer("bossrun"10)
                else
                
chat("Du hattest leider Pech versuch es an dem nächsten")
                
chat("Feuer der Macht in 5 minuten noch einmal!")
        
end
    end
        when bossrun
.timer begin
            d
.setf("bossrunlevel"1)
            
d.new_jump_all(190211108)
        
local vid d.spawn_mob(691230108)
        
d.set_unique("real"vid)
        
d.notice("Los gehts!");
    
end
    when 691.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real"then
            d
.setf("bossrunlevel"2)
            
timer("bossrun2"10)
        
end
    end
        when bossrun2
.timer begin
            d
.jump_all(391113)
        
local vid d.spawn_mob(692408115)
        
d.set_unique("real"vid)
        
d.notice("Los gehts!");
        
end
    
    when 692.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real"then
            d
.setf("bossrunlevel"3)
            
timer("bossrun3"10)
        
end
    end
            when bossrun3
.timer begin
            d
.jump_all(423238)
        
local vid d.spawn_mob(1901427241)
        
d.set_unique("real"vid)
        
d.notice("Los gehts!");
        
end

            when 1901.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real"then
            d
.setf("bossrunlevel"4)
            
timer("bossrun4"10)
        
end
        end    
            when bossrun4
.timer begin
            d
.jump_all(92419137)
        
local vid d.spawn_mob(1903378381)
        
d.set_unique("real"vid)
        
d.notice("Los gehts!");
        
end
        
        when 1903.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real"then
            d
.setf("bossrunlevel"5)
            
timer("bossrun5"10)
        
end
        end    
            when bossrun5
.timer begin
            d
.jump_all(284380)
        
local vid d.spawn_mob(2092276383)
        
d.set_unique("real"vid)
        
d.notice("Los gehts!");
        
end
        
        when 2092.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real"then
            d
.setf("bossrunlevel"6)
            
timer("bossrun6"10)
        
end
        end    
            when bossrun6
.timer begin
            d
.jump_all(146401)
        
local vid d.spawn_mob(2093131303)
        
d.set_unique("real"vid)
        
d.notice("Los gehts!");
        
end
        
        when 2093.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real"then
            d
.setf("bossrunlevel"7)
            
timer("bossrun7"10)
        
end
        end
        when bossrun7
.timer begin
            d
.jump_all(112283)
        
local vid d.spawn_mob(2206111269)
        
d.set_unique("real"vid)
        
d.notice("Los gehts!");
        
end
        
        when 2206.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real"then
            d
.setf("bossrunlevel"8)
            
timer("bossrun8"10)
        
end
        end
        when bossrun8
.timer begin
            d
.jump_all(177192)
        
local vid d.spawn_mob(2207204169)
        
d.set_unique("real"vid)
        
d.notice("Los gehts!");
        
end
        
        when 2207.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real"then
            d
.setf("bossrunlevel"9)
            
timer("bossrun9"10)
        
end
        end
        when bossrun9
.timer begin
            d
.jump_all(300197)
        
local vid d.spawn_mob(1094311187)
        
d.set_unique("real"vid)
        
d.notice("Los gehts!");
        
end
        
        when 1094.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real"then
            d
.setf("bossrunlevel"11)
            
timer("bossrun10"10)
        
end
        end
        when bossrun10
.timer begin
        d
.jump_all(294279)
        
local vid d.spawn_mob(8023266290)
        
d.set_unique("real"vid)
        
d.notice("Los gehts!");
        
end
        
when 8023.kill with pc
.in_dungeon() begin
    
if d.is_unique_dead("real"then
        d
.setf("bossrunlevel"12)
        
say_title("Belohnung")
        
say_reward("Du erhälst 10.000.000 Yang")
        
say_reward("Du bist besser als erwartet")
        
d.notice("Du wirst in 40Sekunden herraus teleportiert!")
        
pc.change_gold(10000000)
        
d.kill_all()
        
timer("bossrun_escape_timer"40)
    
end
end
    when bossrun_escape_timer
.timer begin
        d
.setf("bossrunlevel"0)
        
warp_to_village();
        
end
    end
end 
07/30/2012 19:02 Kriegergeist^^#6423
der ist falsch
HTML Code:
d.new_jump_all(190, 211, 108)
geh auf die map, zu den kordis und gebe state ein
Die kordis sind richtig, oder du machste es z.B. so:
HTML Code:
d.new_jump_all(190, 16666+211, 16666+108)
die 16666 16666 sind die die kordis der map (die man in die Setting.txt schreibt)
das musste auch bei
HTML Code:
d.jump_all(391, 113)
machen

MfG
Kriegergeist^^
07/30/2012 19:24 Kevke1996#6424
okay habe ich gemacht
das sah dann so aus:
PHP Code:
d.new_jump_all(19014219321010941
ich wurde aber nicht geportet
07/30/2012 19:28 .CHHorny#6425
Wenn ich den Schlüssel abgegeben habe werde ich in die 2 Etage gewarpt sehe sie 1 sek und lande wieder vorm DC.
Was nach dem 1 wait() kommen soll also das

say("Hier beginnt das wahre Abenteuer! Du hast")
say("jedoch nur eine Stunde Zeit, um die Devil's")
say("Catacomb zu erforschen.")
item.remove()

Kommt bei mir gar nicht.

Die Quest

PHP Code:
quest devilscatacomb begin
    state start begin
    
        when logout begin
            pc
.remove_item(30311pc.count_item(30311))
            
pc.remove_item(30312pc.count_item(30312))
            
pc.remove_item(30313pc.count_item(30313))
        
end
        
        
        when login begin
            
if pc.get_map_index() == special.dc_map_index then
                
if devilscatacomb.getLevelByCord() > or not next_time_is_now() then
                
                    pc
.warp((5913)*100, (993)*10065) -- 5913x993  591374x
                    
                end
                
                pc
.set_warp_location(655913993)
                
                
say("Finde den Schlüssel um in die")
                
say("zweite Ebene zu gelangen.")    
                
            elseif 
pc.get_map_index() >= (special.dc_map_index 10000) and pc.get_map_index() <= (special.dc_map_index_2 10000then            
                pc
.set_warp_location(655913993)
            
end
        end
        
        
        when 20367.chat
."In die Teufelshöhle" begin  --Enter the Devil Catacomb
            
if pc.get_level() < 75 then
                say
("Der Zugang wird dir verweigert. Deine Erfahrung")
                
say("reicht noch nicht aus, um in der")
                
say("Devil's Catacomb zu überleben. Komm zurrück,")
                
say("wenn du mindestens Level 75 erreicht hast.")
                    else
                        
say_title(mob_name(npc.get_race()) ..":")
                        
say("")
                        
say("Willst du die Teufelshöhle betreten?")
                        
local s select("Betreten","Nicht betreten.")
                        if 
== 2 then
                            
return
                        elseif 
== 1 then
                            pc
.warp(3153001209200)
                        
end
                    end    
                end    
        
        
        when kill with pc
.get_map_index() == special.dc_map_index and pc.countitem(30311) < 1 begin
            local rnd 
number(1,100)
            if 
rnd == 6 then
                game
.drop_item_with_ownership(303111)
            
end
        end
        
        
        when 30101.take with item
.vnum == 30311 begin --Teleport to 2nd Stage with the passenger ticket
        
            
if party.is_party() then
            
                
if party.is_leader() then
                    say
("Das Eingangsportal wurde geöffnet.")
                    
say("Geh schnell hindurch!")
                    
wait()
                    
say("Hier beginnt das wahre Abenteuer! Du hast")
                    
say("jedoch nur eine Stunde Zeit, um die Devil's")
                    
say("Catacomb zu erforschen.")
                    
item.remove()
                    
sys_log(0"DC create try by "..pc.get_name())
                    
d.join(special.dc_map_index)
                else
                    
say("Nur der Leiter der Gruppe darf bestimmen.")
                
end
                
            
else
                
say("Ohne Gruppe kommst du nicht weiter.")
            
end
            
        end
        
        
        when login with devilscatacomb
.isInCatacomb() begin
            say
("Zerstöre das Siegel dieses Tores, um die 3. Ebene")
            
say("zu erreichen!")
            
say("Du hast noch 60 Minute(n) Zeit.")
            
d.spawn_mob(30103740227)
            
loop_timer("item_check"10)
            if 
party.is_leader() then
                d
.set_regen_file("data/dungeon/dc/dc_regen1.txt")
                
d.regen_file("data/dungeon/dc/dc_doors.txt")
                
d.setf("level"2
                
server_timer("runtime"6pc.get_map_index())
            elseif 
pc.is_gm() and not party.is_party() then
                d
.set_regen_file("data/dungeon/dc/dc_regen1.txt")
                
d.regen_file("data/dungeon/dc/dc_doors.txt")
                
d.setf("level"2)
                
server_timer("runtime"6pc.get_map_index())
            
end
        end
        
        
        when item_check
.timer with d.getf("level") == 3 begin
            
if pc.countitem(30319) >= 1 then
                say
("Du hast den Schrumpfkopf und wirst nun auf die")
                
say("3. Ebene teleportiert.")
                
pc.remove_item(303191)
                
timer("item_check_end"2)
            else
                
d.exit_all()
            
end
        end
        
        
        when item_check_end
.timer begin
            cleartimer
("item_check")
        
end
        
        
        when runtime
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.setf("time"get_time()+60*60*1)
                
devilscatacomb.getTimeLeft()
                
server_timer("runtime_end"60*60get_server_timer_arg())
            
end
        end
        
        
        when runtime_end
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice("Die Zeit ist um.")
                
d.exit_all()
            
end
        end

        
        when 30103.click with devilscatacomb
.isInCatacomb() and devilscatacomb.getLevelByCord() == and npc.lock() begin
            say
("Während du den Stein genauer untersuchst, kannst")
            
say("du eine Gravur erkennen.")
            
wait()
            
say("Lediglich der Besitzer des Schrumpfkopfes")
            
say("darf eintreten, nachdem die Siegel dreier Türen")
            
say("aufgebrochen wurden.")
            
say("Wenn du dieses Relikt nicht bei dir trägst,")
            
say("wirst du aus der Devil's Catacomb teleportiert.")
            
say("")
            
wait()
            
local s select("Ja, lass mich eintreten!""Nein, ich möchte nicht eintreten.")
            if 
== 2 then
                
return
            elseif 
== 1 then
                
if pc.count_item(30319) >= 1 then
                    npc
.purge()
                    
d.setf("level"3)
                    
d.purge()
                    
d.clear_regen()
                    
timer("dc_jump_3"6)
                else
                    
say("Du hast keinen Schrumpfkopf und wirst nun")
                    
say("aus der Höhle teleportiert ...")
                    
pc.warp(5913749932565)
                
end
            end
        end
        
        
        when dc_jump_3
.timer begin
            d
.set_regen_file("data/dungeon/dc/dc_regen2.txt")
            
d.notice("Suche den richtigen Metinstein und zerstöre ihn!")
            
devilscatacomb.getTimeLeft()
            
d.jump_all(445112282)
            
local positions devilscatacomb.get3FloorStonePositions()
            for 
1do
                
d.set_unique("fake" .. d.spawn_mob(8037positions[i][1], positions[i][2]))
            
end
            d
.set_unique("real"d.spawn_mob(8037positions[7][1], positions[7][2]))
            
server_loop_timer('dc_stone3_update'10pc.get_map_index())

        
end
        
        
        when dc_stone3_update
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                
if not d.is_unique_dead("real"then
                    
for 1do
                        if 
d.getf("fakedead" .. i) == 0 then
                            
if d.unique_get_hp_perc("fake" .. i) < 30 then
                                
if not d.is_unique_dead("fake" .. ithen
                                    d
.purge_unique("fake" .. i)
                                
end
                                d
.setf("fakedead" .. i1)
                                
d.notice("Du hast den falschen Metinstein zerstört. Finde den richtigen!");
                            
end
                        end
                    end
                
else
                    
server_timer("dc_stone_end3"5get_server_timer_arg())
                    
d.notice("Der richtige Metinstein wurde zerstört. Du darfst nun die 4. Ebene betreten.")
                
end
            
else
                
server_timer('dc_stone3_stop_timer'1get_server_timer_arg())
            
end
        end

        
        when dc_stone3_stop_timer
.server_timer begin
            clear_server_timer
('dc_stone3_update'get_server_timer_arg())
        
end
        
        
        when dc_stone_end3
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                clear_server_timer
('dc_stone3_update'get_server_timer_arg())
                
d.setf("level"4)
                
d.jump_all(334712810)        
                
d.clear_regen()
                
d.set_regen_file("data/dungeon/dc/dc_regen3.txt")
                
d.regen_file("data/dungeon/dc/dc_warps.txt")
                
d.spawn_mob(30104500716)
            
end
        end
        
        
        when 30104.click with devilscatacomb
.isInCatacomb() and devilscatacomb.getLevelByCord() == 4  and npc.lock() begin
            npc
.purge()
            
say_in_map(pc.get_map_index(),"Du hast es geschafft! Hier ist der Ausgang des[ENTER]Labyrinths. Steige nun in die 5. Ebene hinab.")
            
server_timer("dc4_enter"6pc.get_map_index())
        
end
        
        
        when dc4_enter
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.jump_all(391812939)
                
                
d.set_regen_file("data/dungeon/dc/dc_regen4.txt")
                
d.spawn_mob(30102848739)
                
                
local mob_pos = { {1006649}, {979829}, {691822}, {714653}, {848593} }
                
local rnd number(15)
                
d.spawn_mob(2591mob_pos[rnd][1], mob_pos[rnd][2])
                
                
server_timer("dc4_message"3get_server_timer_arg())
            
end
        end
        
        
        when dc4_message
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice("Besiege die Dämonenwachen, um das Fratzen-Totem zu erhalten. Es dient dir als Schlüssel zur 6. Ebene.")
                
devilscatacomb.getTimeLeft()
            
end
        end
        
        
        when 30102.take with item
.vnum == 30312 begin
            say
("Du hast das Fratze-Totem.")
            
say("Nun kannst du in die nächste Ebene!")
            
say("")
            
wait()
            
say("Viel Glück!")
            
item.remove()
            
npc.purge()
            
d.clear_regen()
            
timer("dc_level_5"6)
        
end
        
        
        when dc_level_5
.timer begin
            d
.jump_all(431212799)
            
timer("dc_level_5_start"5)
        
end
        
        
        when dc_level_5_start
.timer begin
            d
.setf("level"5)
            
d.notice("Besiege Charon und seine Schergen!")
            
devilscatacomb.getTimeLeft()
            
d.regen_file("data/dungeon/dc/dc_regen5.txt")
            
d.spawn_mob(25971301699)
        
end
        
        
        when kill begin
            
if devilscatacomb.isInCatacomb() then
                
if npc.race == 2597 then
                    
if d.count_monster() < 1000 then
                        d
.setf("level"6)
                        
d.clear_regen()
                        
timer("dc_level_5_end"12)
                    else
                        if 
d.getf("charon_spawns") < 4 then
                            d
.spawn_mob(25971301699)
                            
d.setf("charon_spawns"d.getf("charon_spawns") + 1)
                        else
                            
d.notice("Du hast versagt Charon hat dich mit seinen Schergen")
                            
d.notice("überlistet. Du verlässt nun die Höhle")
                            
local nextTime=get_time()+time_min_to_sec(1)
                            
d.setqf("__NEXT_TIME__"nextTime)
                            
d.exit_all()
                        
end
                    end
                end
                
                
if npc.race == 2598 and  d.getf("level") == 6 then
                    clear_server_timer
("runtime"pc.get_map_index())
                    
clear_server_timer("runtime_end"pc.get_map_index())
                    
notice_all(pc.get_name().." und "..tonumber(party.get_near_count()-1).." weitere Gruppenmitglieder haben Azrael besiegt!")
                    
timer("glory_message"6)
                
end
                
                
if npc.race == 2591 then
                    game
.drop_item_with_ownership(303121)
                
end
            end
        end
        
        
        when dc_level_5_end
.timer begin
            say_in_map
(pc.get_map_index(),"Du hast Charon besiegt! Nun wirst du[ENTER]zur letzten Ebene der Devil's Catacomb[ENTER]teleportiert.")
            
timer("dc_level_6"3)
        
end
        
        
        when dc_level_6
.timer begin
            d
.jump_all(314513187)
            
timer("dc_level_6_into"3)
        
end
        
        when dc_level_6_into
.timer begin
            d
.regen_file("data/dungeon/dc/dc_regen6.txt")
            
d.spawn_mob(2598741103)
            
d.notice("Besiege Azrael!")
        
end
        
        when glory_message
.timer begin
            local text 
"Azrael wurde besiegt. Endlich herrscht[ENTER]Frieden in der Devil's Catacomb. Du wirst nun[ENTER]an die Oberfläche teleportiert."
            
say_in_map(pc.get_map_index(), text)
            
timer("dc_end"20)    
        
end
        
        
        when dc_end
.timer begin
            local nextTime
=get_time()+time_min_to_sec(1)
            
d.setqf("__NEXT_TIME__"nextTime)
            
d.exit_all()
        
end
        
    end
    
    state _FUNC_ begin
    
        
function getLevelByCord()
        
            if 
pc.get_local_x() > 30 and pc.get_local_y() > 45 and pc.get_local_x() < 450 and pc.get_local_y() < 450 then
                
return 1
                
            
elseif pc.get_local_x() > 540 and pc.get_local_y() > 39 and pc.get_local_x() < 1000 and pc.get_local_y() < 462 then
                
return 2
                
            
elseif pc.get_local_x() > 1048 and pc.get_local_y() > 35 and pc.get_local_x() < 1455 and pc.get_local_y() < 458 then
                
return 3
                
            
elseif pc.get_local_x() > 31 and pc.get_local_y() > 541 and pc.get_local_x() < 564 and pc.get_local_y() < 1058 then
                
return 4
                
            
elseif pc.get_local_x() > 650 and pc.get_local_y() > 540 and pc.get_local_x() < 1050 and pc.get_local_y() < 955 then
                
return 5
                
            
elseif pc.get_local_x() > 1175 and pc.get_local_y() > 576 and pc.get_local_x() < 1420 and pc.get_local_y() < 810 then
                
return 6
                
            
else
                return 
0
            end
            
        end
        
        
function isInCatacomb()
        
            if 
pc.get_map_index() >= (special.dc_map_index 10000) and pc.get_map_index() < (special.dc_map_index_2 10000) and pc.in_dungeon() then
                
return true
            
else
                return 
false
            end
            
        end
        
        
function get3FloorStonePositions()
        
            
local positions 
            {
                {
1365352}, {1349150}, {1133167}, {1151364},
                {
1234136}, {1255371}, {1132245},
            }
            
            for 
1do
            
                
local j number(i7)
                
                if 
!= j then
                
                    local t 
positions[i];
                    
positions[i] = positions[j];
                    
positions[j] = t;
                    
                
end
                
            end 
            
            
return positions
            
        end
        
        
function getTimeLeft()
        
            
local secondsLeft = (d.getf("time") - get_time())
            
local minutesLeft math.ceil(secondsLeft 60)
            
            
d.notice("Du hast noch "..minutesLeft.." Minute(n) Zeit.")
        
        
end
        
    end
end 
Die Quest ging 1 mal und danach nicht mehr.
07/31/2012 04:31 Fever1234#6426
Quote:
Originally Posted by [SA]Horny View Post
Wenn ich den Schlüssel abgegeben habe werde ich in die 2 Etage gewarpt sehe sie 1 sek und lande wieder vorm DC.
Was nach dem 1 wait() kommen soll also das

say("Hier beginnt das wahre Abenteuer! Du hast")
say("jedoch nur eine Stunde Zeit, um die Devil's")
say("Catacomb zu erforschen.")
item.remove()

Kommt bei mir gar nicht.

Die Quest

PHP Code:
quest devilscatacomb begin
    state start begin
    
        when logout begin
            pc
.remove_item(30311pc.count_item(30311))
            
pc.remove_item(30312pc.count_item(30312))
            
pc.remove_item(30313pc.count_item(30313))
        
end
        
        
        when login begin
            
if pc.get_map_index() == special.dc_map_index then
                
if devilscatacomb.getLevelByCord() > or not next_time_is_now() then
                
                    pc
.warp((5913)*100, (993)*10065) -- 5913x993  591374x
                    
                end
                
                pc
.set_warp_location(655913993)
                
                
say("Finde den Schlüssel um in die")
                
say("zweite Ebene zu gelangen.")    
                
            elseif 
pc.get_map_index() >= (special.dc_map_index 10000) and pc.get_map_index() <= (special.dc_map_index_2 10000then            
                pc
.set_warp_location(655913993)
            
end
        end
        
        
        when 20367.chat
."In die Teufelshöhle" begin  --Enter the Devil Catacomb
            
if pc.get_level() < 75 then
                say
("Der Zugang wird dir verweigert. Deine Erfahrung")
                
say("reicht noch nicht aus, um in der")
                
say("Devil's Catacomb zu überleben. Komm zurrück,")
                
say("wenn du mindestens Level 75 erreicht hast.")
                    else
                        
say_title(mob_name(npc.get_race()) ..":")
                        
say("")
                        
say("Willst du die Teufelshöhle betreten?")
                        
local s select("Betreten","Nicht betreten.")
                        if 
== 2 then
                            
return
                        elseif 
== 1 then
                            pc
.warp(3153001209200)
                        
end
                    end    
                end    
        
        
        when kill with pc
.get_map_index() == special.dc_map_index and pc.countitem(30311) < 1 begin
            local rnd 
number(1,100)
            if 
rnd == 6 then
                game
.drop_item_with_ownership(303111)
            
end
        end
        
        
        when 30101.take with item
.vnum == 30311 begin --Teleport to 2nd Stage with the passenger ticket
        
            
if party.is_party() then
            
                
if party.is_leader() then
                    say
("Das Eingangsportal wurde geöffnet.")
                    
say("Geh schnell hindurch!")
                    
wait()
                    
say("Hier beginnt das wahre Abenteuer! Du hast")
                    
say("jedoch nur eine Stunde Zeit, um die Devil's")
                    
say("Catacomb zu erforschen.")
                    
item.remove()
                    
sys_log(0"DC create try by "..pc.get_name())
                    
d.join(special.dc_map_index)
                else
                    
say("Nur der Leiter der Gruppe darf bestimmen.")
                
end
                
            
else
                
say("Ohne Gruppe kommst du nicht weiter.")
            
end
            
        end
        
        
        when login with devilscatacomb
.isInCatacomb() begin
            say
("Zerstöre das Siegel dieses Tores, um die 3. Ebene")
            
say("zu erreichen!")
            
say("Du hast noch 60 Minute(n) Zeit.")
            
d.spawn_mob(30103740227)
            
loop_timer("item_check"10)
            if 
party.is_leader() then
                d
.set_regen_file("data/dungeon/dc/dc_regen1.txt")
                
d.regen_file("data/dungeon/dc/dc_doors.txt")
                
d.setf("level"2
                
server_timer("runtime"6pc.get_map_index())
            elseif 
pc.is_gm() and not party.is_party() then
                d
.set_regen_file("data/dungeon/dc/dc_regen1.txt")
                
d.regen_file("data/dungeon/dc/dc_doors.txt")
                
d.setf("level"2)
                
server_timer("runtime"6pc.get_map_index())
            
end
        end
        
        
        when item_check
.timer with d.getf("level") == 3 begin
            
if pc.countitem(30319) >= 1 then
                say
("Du hast den Schrumpfkopf und wirst nun auf die")
                
say("3. Ebene teleportiert.")
                
pc.remove_item(303191)
                
timer("item_check_end"2)
            else
                
d.exit_all()
            
end
        end
        
        
        when item_check_end
.timer begin
            cleartimer
("item_check")
        
end
        
        
        when runtime
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.setf("time"get_time()+60*60*1)
                
devilscatacomb.getTimeLeft()
                
server_timer("runtime_end"60*60get_server_timer_arg())
            
end
        end
        
        
        when runtime_end
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice("Die Zeit ist um.")
                
d.exit_all()
            
end
        end

        
        when 30103.click with devilscatacomb
.isInCatacomb() and devilscatacomb.getLevelByCord() == and npc.lock() begin
            say
("Während du den Stein genauer untersuchst, kannst")
            
say("du eine Gravur erkennen.")
            
wait()
            
say("Lediglich der Besitzer des Schrumpfkopfes")
            
say("darf eintreten, nachdem die Siegel dreier Türen")
            
say("aufgebrochen wurden.")
            
say("Wenn du dieses Relikt nicht bei dir trägst,")
            
say("wirst du aus der Devil's Catacomb teleportiert.")
            
say("")
            
wait()
            
local s select("Ja, lass mich eintreten!""Nein, ich möchte nicht eintreten.")
            if 
== 2 then
                
return
            elseif 
== 1 then
                
if pc.count_item(30319) >= 1 then
                    npc
.purge()
                    
d.setf("level"3)
                    
d.purge()
                    
d.clear_regen()
                    
timer("dc_jump_3"6)
                else
                    
say("Du hast keinen Schrumpfkopf und wirst nun")
                    
say("aus der Höhle teleportiert ...")
                    
pc.warp(5913749932565)
                
end
            end
        end
        
        
        when dc_jump_3
.timer begin
            d
.set_regen_file("data/dungeon/dc/dc_regen2.txt")
            
d.notice("Suche den richtigen Metinstein und zerstöre ihn!")
            
devilscatacomb.getTimeLeft()
            
d.jump_all(445112282)
            
local positions devilscatacomb.get3FloorStonePositions()
            for 
1do
                
d.set_unique("fake" .. d.spawn_mob(8037positions[i][1], positions[i][2]))
            
end
            d
.set_unique("real"d.spawn_mob(8037positions[7][1], positions[7][2]))
            
server_loop_timer('dc_stone3_update'10pc.get_map_index())

        
end
        
        
        when dc_stone3_update
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                
if not d.is_unique_dead("real"then
                    
for 1do
                        if 
d.getf("fakedead" .. i) == 0 then
                            
if d.unique_get_hp_perc("fake" .. i) < 30 then
                                
if not d.is_unique_dead("fake" .. ithen
                                    d
.purge_unique("fake" .. i)
                                
end
                                d
.setf("fakedead" .. i1)
                                
d.notice("Du hast den falschen Metinstein zerstört. Finde den richtigen!");
                            
end
                        end
                    end
                
else
                    
server_timer("dc_stone_end3"5get_server_timer_arg())
                    
d.notice("Der richtige Metinstein wurde zerstört. Du darfst nun die 4. Ebene betreten.")
                
end
            
else
                
server_timer('dc_stone3_stop_timer'1get_server_timer_arg())
            
end
        end

        
        when dc_stone3_stop_timer
.server_timer begin
            clear_server_timer
('dc_stone3_update'get_server_timer_arg())
        
end
        
        
        when dc_stone_end3
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                clear_server_timer
('dc_stone3_update'get_server_timer_arg())
                
d.setf("level"4)
                
d.jump_all(334712810)        
                
d.clear_regen()
                
d.set_regen_file("data/dungeon/dc/dc_regen3.txt")
                
d.regen_file("data/dungeon/dc/dc_warps.txt")
                
d.spawn_mob(30104500716)
            
end
        end
        
        
        when 30104.click with devilscatacomb
.isInCatacomb() and devilscatacomb.getLevelByCord() == 4  and npc.lock() begin
            npc
.purge()
            
say_in_map(pc.get_map_index(),"Du hast es geschafft! Hier ist der Ausgang des[ENTER]Labyrinths. Steige nun in die 5. Ebene hinab.")
            
server_timer("dc4_enter"6pc.get_map_index())
        
end
        
        
        when dc4_enter
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.jump_all(391812939)
                
                
d.set_regen_file("data/dungeon/dc/dc_regen4.txt")
                
d.spawn_mob(30102848739)
                
                
local mob_pos = { {1006649}, {979829}, {691822}, {714653}, {848593} }
                
local rnd number(15)
                
d.spawn_mob(2591mob_pos[rnd][1], mob_pos[rnd][2])
                
                
server_timer("dc4_message"3get_server_timer_arg())
            
end
        end
        
        
        when dc4_message
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice("Besiege die Dämonenwachen, um das Fratzen-Totem zu erhalten. Es dient dir als Schlüssel zur 6. Ebene.")
                
devilscatacomb.getTimeLeft()
            
end
        end
        
        
        when 30102.take with item
.vnum == 30312 begin
            say
("Du hast das Fratze-Totem.")
            
say("Nun kannst du in die nächste Ebene!")
            
say("")
            
wait()
            
say("Viel Glück!")
            
item.remove()
            
npc.purge()
            
d.clear_regen()
            
timer("dc_level_5"6)
        
end
        
        
        when dc_level_5
.timer begin
            d
.jump_all(431212799)
            
timer("dc_level_5_start"5)
        
end
        
        
        when dc_level_5_start
.timer begin
            d
.setf("level"5)
            
d.notice("Besiege Charon und seine Schergen!")
            
devilscatacomb.getTimeLeft()
            
d.regen_file("data/dungeon/dc/dc_regen5.txt")
            
d.spawn_mob(25971301699)
        
end
        
        
        when kill begin
            
if devilscatacomb.isInCatacomb() then
                
if npc.race == 2597 then
                    
if d.count_monster() < 1000 then
                        d
.setf("level"6)
                        
d.clear_regen()
                        
timer("dc_level_5_end"12)
                    else
                        if 
d.getf("charon_spawns") < 4 then
                            d
.spawn_mob(25971301699)
                            
d.setf("charon_spawns"d.getf("charon_spawns") + 1)
                        else
                            
d.notice("Du hast versagt Charon hat dich mit seinen Schergen")
                            
d.notice("überlistet. Du verlässt nun die Höhle")
                            
local nextTime=get_time()+time_min_to_sec(1)
                            
d.setqf("__NEXT_TIME__"nextTime)
                            
d.exit_all()
                        
end
                    end
                end
                
                
if npc.race == 2598 and  d.getf("level") == 6 then
                    clear_server_timer
("runtime"pc.get_map_index())
                    
clear_server_timer("runtime_end"pc.get_map_index())
                    
notice_all(pc.get_name().." und "..tonumber(party.get_near_count()-1).." weitere Gruppenmitglieder haben Azrael besiegt!")
                    
timer("glory_message"6)
                
end
                
                
if npc.race == 2591 then
                    game
.drop_item_with_ownership(303121)
                
end
            end
        end
        
        
        when dc_level_5_end
.timer begin
            say_in_map
(pc.get_map_index(),"Du hast Charon besiegt! Nun wirst du[ENTER]zur letzten Ebene der Devil's Catacomb[ENTER]teleportiert.")
            
timer("dc_level_6"3)
        
end
        
        
        when dc_level_6
.timer begin
            d
.jump_all(314513187)
            
timer("dc_level_6_into"3)
        
end
        
        when dc_level_6_into
.timer begin
            d
.regen_file("data/dungeon/dc/dc_regen6.txt")
            
d.spawn_mob(2598741103)
            
d.notice("Besiege Azrael!")
        
end
        
        when glory_message
.timer begin
            local text 
"Azrael wurde besiegt. Endlich herrscht[ENTER]Frieden in der Devil's Catacomb. Du wirst nun[ENTER]an die Oberfläche teleportiert."
            
say_in_map(pc.get_map_index(), text)
            
timer("dc_end"20)    
        
end
        
        
        when dc_end
.timer begin
            local nextTime
=get_time()+time_min_to_sec(1)
            
d.setqf("__NEXT_TIME__"nextTime)
            
d.exit_all()
        
end
        
    end
    
    state _FUNC_ begin
    
        
function getLevelByCord()
        
            if 
pc.get_local_x() > 30 and pc.get_local_y() > 45 and pc.get_local_x() < 450 and pc.get_local_y() < 450 then
                
return 1
                
            
elseif pc.get_local_x() > 540 and pc.get_local_y() > 39 and pc.get_local_x() < 1000 and pc.get_local_y() < 462 then
                
return 2
                
            
elseif pc.get_local_x() > 1048 and pc.get_local_y() > 35 and pc.get_local_x() < 1455 and pc.get_local_y() < 458 then
                
return 3
                
            
elseif pc.get_local_x() > 31 and pc.get_local_y() > 541 and pc.get_local_x() < 564 and pc.get_local_y() < 1058 then
                
return 4
                
            
elseif pc.get_local_x() > 650 and pc.get_local_y() > 540 and pc.get_local_x() < 1050 and pc.get_local_y() < 955 then
                
return 5
                
            
elseif pc.get_local_x() > 1175 and pc.get_local_y() > 576 and pc.get_local_x() < 1420 and pc.get_local_y() < 810 then
                
return 6
                
            
else
                return 
0
            end
            
        end
        
        
function isInCatacomb()
        
            if 
pc.get_map_index() >= (special.dc_map_index 10000) and pc.get_map_index() < (special.dc_map_index_2 10000) and pc.in_dungeon() then
                
return true
            
else
                return 
false
            end
            
        end
        
        
function get3FloorStonePositions()
        
            
local positions 
            {
                {
1365352}, {1349150}, {1133167}, {1151364},
                {
1234136}, {1255371}, {1132245},
            }
            
            for 
1do
            
                
local j number(i7)
                
                if 
!= j then
                
                    local t 
positions[i];
                    
positions[i] = positions[j];
                    
positions[j] = t;
                    
                
end
                
            end 
            
            
return positions
            
        end
        
        
function getTimeLeft()
        
            
local secondsLeft = (d.getf("time") - get_time())
            
local minutesLeft math.ceil(secondsLeft 60)
            
            
d.notice("Du hast noch "..minutesLeft.." Minute(n) Zeit.")
        
        
end
        
    end
end 
Die Quest ging 1 mal und danach nicht mehr.

das problem hate ich auch und das besste ist du kommst mit der quest nichtmal auf die map habe bessere quest °:D°

habt ihr zwei quest für mit yang bank über das item 70015
und lager über das itme 70010

habt ihr zwei quest für mit yang bank über das item 70015
und lager über das itme 70010
07/31/2012 07:56 .CHHorny#6427
Quote:
Originally Posted by Fever1234 View Post
das problem hate ich auch und das besste ist du kommst mit der quest nichtmal auf die map habe bessere quest °:D°

habt ihr zwei quest für mit yang bank über das item 70015
und lager über das itme 70010
03524900
habt ihr zwei quest für mit yang bank über das item 70015
und lager über das itme 70010
Bitte nur schreiben wenn du Ahnung hast.
07/31/2012 10:18 Tentos123#6428
Quote:
Originally Posted by Tentos123 View Post
Hey ihr Quester,

Könntet ihr eventuell so eine Quest machen?
[Only registered and activated users can see links. Click Here To Register...]

mfg
Kann das keiner machen?
07/31/2012 12:02 Flammini#6429
quest Der Sensenmann begin
state start begin
when login or levelup with pc.get_level() >=85 begin
set_state(information)
end
end

state information begin
when letter begin
local v = find_npc_by_vnum(Value)
if v != 0 then
target.vid("__TARGET__", v, "Quest")
end
send_letter("Der Sensenmann")
end

when button or info begin
say_title("Der Sensenmann")
say("")
say("Der Alte Mann")
say("Braucht deine Hilfe,")
say("für sein Bier!")
say("Geh zu ihn um mehr zu Erfahren.")
say(".....")
say("......")
say("")
end

when __TARGET__.target.click or
Value.chat."Quest" begin
target.delete("__TARGET__")
say("Name:")
--- l
say("Hallo "..pc.get_name().."")
say("Der Sensenmann hat ein Ganzes lager voller")
say("Gersten, dei ich brauche um mein Bier herzustellen")
say("Ich brauche 2 Gersten.")
say("Als belohnung wirst du Kräftig Belohnt")
say("Du findest den Sensenmann in der mitte der Wüste.")
say("")
set_state(go_to_disciple)
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
end
end

state go_to_disciple begin
when letter begin
send_letter("Auftrag von Name")

end
when button or info begin
say_title("Quest")
--- l
say("")
say("Name gab euch den Auftrag")
say("2 Gerste zu sammeln!")
say("Das Item bekommt ihr von Sensenmann.")
say("Viel Glueck!")
say("")
say_item_vnum(30000)
say_reward(" Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
say("")
end

when 71035.use begin --°g´bÃĤô
if pc.getqf("drink_drug")==1 then
say("")
say("Bessere Droppchance!")
say("")

return
end
if pc.count_item(30000)==0 then
say("")
say("Du hast keine!")
say("Lauf los und besorg mir welche!")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end


when 1093.kill begin
if pc.count_item(30000)<2-pc.getqf("collect_count") then
pc.give_item2(30000, 1)
end
end

when Value.chat."Quest" with pc.count_item(30000) >0 begin
say("Einen Moment!")
--- l
say("Ich werde das Item")
say("schnell mal ueberpruefen.")
say("Hoffentlich klappt alles!")
say("")
pc.remove_item(30000, 1)
wait()

local pass_percent
if pc.getqf("drink_drug")==0 then
pass_percent=Value
else
pass_percent=Value
end

local s= number(1,100)
if s<= pass_percent then
if pc.getqf("collect_count")< 1 then --5*Ó¥H¤U
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index) --¨ú±o¤@* +1
say("Name:")
say("Perfekt! Das Item ist in Ordnung")
say("Du hast bis jetzt ".." "..2-pc.getqf("collect_count").. " abgegeben!")
say("Bring mir die restlichen!")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
end
say("Name:")
say("Yuhu! Du hast mir")
say("alles gebracht!")
say("Dafür werde ich dich wie versprochen")
say("belohnen!")
say("")
say_reward("Du bekommst ein Name!")
say_reward("Du bekommst ein Name!")
say_reward("Du bekommst ein Name!")
say_reward("Du bekommst 250000000 Yang!")
say_reward("Du bekommst 1000000 Erfahrung!")
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
clear_letter()
set_state(__complete)

pc.give_item2(Value)
pc.give_item2(Value)
pc.give_item2(Value)
pc.change_money(250000000)
pc.give_exp2(1000000)
set_quest_state("levelup","run")


return
else
say("Name:")
say("Dieses Item ist von schlechter Qualität!")
say("Es kann nicht verwendet werden.")
say("Hole mir ein neues!")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
end
end
end



state __complete begin
end
end

:o
07/31/2012 15:23 √π.#6430
Quote:
Originally Posted by Tentos123 View Post
Kann das keiner machen?
Wenn es jemand macht wird er es sicherlich nicht veröffentlichen.
Quote:
Originally Posted by Flammini View Post
:o
Der Sensenmann wird schon in der DT-Quest benutzt, müsstest bei beiden
PHP Code:
when kill with npc.get_race() == 1093 begin 
Abfragen damit es gehen würde.
Und nächstes mal ein Problem dazu schreiben.
07/31/2012 16:16 .CHHorny#6431
Quote:
Originally Posted by [SA]Horny View Post
Wenn ich den Schlüssel abgegeben habe werde ich in die 2 Etage gewarpt sehe sie 1 sek und lande wieder vorm DC.
Was nach dem 1 wait() kommen soll also das

say("Hier beginnt das wahre Abenteuer! Du hast")
say("jedoch nur eine Stunde Zeit, um die Devil's")
say("Catacomb zu erforschen.")
item.remove()

Kommt bei mir gar nicht.

Die Quest

PHP Code:
quest devilscatacomb begin
    state start begin
    
        when logout begin
            pc
.remove_item(30311pc.count_item(30311))
            
pc.remove_item(30312pc.count_item(30312))
            
pc.remove_item(30313pc.count_item(30313))
        
end
        
        
        when login begin
            
if pc.get_map_index() == special.dc_map_index then
                
if devilscatacomb.getLevelByCord() > or not next_time_is_now() then
                
                    pc
.warp((5913)*100, (993)*10065) -- 5913x993  591374x
                    
                end
                
                pc
.set_warp_location(655913993)
                
                
say("Finde den Schlüssel um in die")
                
say("zweite Ebene zu gelangen.")    
                
            elseif 
pc.get_map_index() >= (special.dc_map_index 10000) and pc.get_map_index() <= (special.dc_map_index_2 10000then            
                pc
.set_warp_location(655913993)
            
end
        end
        
        
        when 20367.chat
."In die Teufelshöhle" begin  --Enter the Devil Catacomb
            
if pc.get_level() < 75 then
                say
("Der Zugang wird dir verweigert. Deine Erfahrung")
                
say("reicht noch nicht aus, um in der")
                
say("Devil's Catacomb zu überleben. Komm zurrück,")
                
say("wenn du mindestens Level 75 erreicht hast.")
                    else
                        
say_title(mob_name(npc.get_race()) ..":")
                        
say("")
                        
say("Willst du die Teufelshöhle betreten?")
                        
local s select("Betreten","Nicht betreten.")
                        if 
== 2 then
                            
return
                        elseif 
== 1 then
                            pc
.warp(3153001209200)
                        
end
                    end    
                end    
        
        
        when kill with pc
.get_map_index() == special.dc_map_index and pc.countitem(30311) < 1 begin
            local rnd 
number(1,100)
            if 
rnd == 6 then
                game
.drop_item_with_ownership(303111)
            
end
        end
        
        
        when 30101.take with item
.vnum == 30311 begin --Teleport to 2nd Stage with the passenger ticket
        
            
if party.is_party() then
            
                
if party.is_leader() then
                    say
("Das Eingangsportal wurde geöffnet.")
                    
say("Geh schnell hindurch!")
                    
wait()
                    
say("Hier beginnt das wahre Abenteuer! Du hast")
                    
say("jedoch nur eine Stunde Zeit, um die Devil's")
                    
say("Catacomb zu erforschen.")
                    
item.remove()
                    
sys_log(0"DC create try by "..pc.get_name())
                    
d.join(special.dc_map_index)
                else
                    
say("Nur der Leiter der Gruppe darf bestimmen.")
                
end
                
            
else
                
say("Ohne Gruppe kommst du nicht weiter.")
            
end
            
        end
        
        
        when login with devilscatacomb
.isInCatacomb() begin
            say
("Zerstöre das Siegel dieses Tores, um die 3. Ebene")
            
say("zu erreichen!")
            
say("Du hast noch 60 Minute(n) Zeit.")
            
d.spawn_mob(30103740227)
            
loop_timer("item_check"10)
            if 
party.is_leader() then
                d
.set_regen_file("data/dungeon/dc/dc_regen1.txt")
                
d.regen_file("data/dungeon/dc/dc_doors.txt")
                
d.setf("level"2
                
server_timer("runtime"6pc.get_map_index())
            elseif 
pc.is_gm() and not party.is_party() then
                d
.set_regen_file("data/dungeon/dc/dc_regen1.txt")
                
d.regen_file("data/dungeon/dc/dc_doors.txt")
                
d.setf("level"2)
                
server_timer("runtime"6pc.get_map_index())
            
end
        end
        
        
        when item_check
.timer with d.getf("level") == 3 begin
            
if pc.countitem(30319) >= 1 then
                say
("Du hast den Schrumpfkopf und wirst nun auf die")
                
say("3. Ebene teleportiert.")
                
pc.remove_item(303191)
                
timer("item_check_end"2)
            else
                
d.exit_all()
            
end
        end
        
        
        when item_check_end
.timer begin
            cleartimer
("item_check")
        
end
        
        
        when runtime
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.setf("time"get_time()+60*60*1)
                
devilscatacomb.getTimeLeft()
                
server_timer("runtime_end"60*60get_server_timer_arg())
            
end
        end
        
        
        when runtime_end
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice("Die Zeit ist um.")
                
d.exit_all()
            
end
        end

        
        when 30103.click with devilscatacomb
.isInCatacomb() and devilscatacomb.getLevelByCord() == and npc.lock() begin
            say
("Während du den Stein genauer untersuchst, kannst")
            
say("du eine Gravur erkennen.")
            
wait()
            
say("Lediglich der Besitzer des Schrumpfkopfes")
            
say("darf eintreten, nachdem die Siegel dreier Türen")
            
say("aufgebrochen wurden.")
            
say("Wenn du dieses Relikt nicht bei dir trägst,")
            
say("wirst du aus der Devil's Catacomb teleportiert.")
            
say("")
            
wait()
            
local s select("Ja, lass mich eintreten!""Nein, ich möchte nicht eintreten.")
            if 
== 2 then
                
return
            elseif 
== 1 then
                
if pc.count_item(30319) >= 1 then
                    npc
.purge()
                    
d.setf("level"3)
                    
d.purge()
                    
d.clear_regen()
                    
timer("dc_jump_3"6)
                else
                    
say("Du hast keinen Schrumpfkopf und wirst nun")
                    
say("aus der Höhle teleportiert ...")
                    
pc.warp(5913749932565)
                
end
            end
        end
        
        
        when dc_jump_3
.timer begin
            d
.set_regen_file("data/dungeon/dc/dc_regen2.txt")
            
d.notice("Suche den richtigen Metinstein und zerstöre ihn!")
            
devilscatacomb.getTimeLeft()
            
d.jump_all(445112282)
            
local positions devilscatacomb.get3FloorStonePositions()
            for 
1do
                
d.set_unique("fake" .. d.spawn_mob(8037positions[i][1], positions[i][2]))
            
end
            d
.set_unique("real"d.spawn_mob(8037positions[7][1], positions[7][2]))
            
server_loop_timer('dc_stone3_update'10pc.get_map_index())

        
end
        
        
        when dc_stone3_update
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                
if not d.is_unique_dead("real"then
                    
for 1do
                        if 
d.getf("fakedead" .. i) == 0 then
                            
if d.unique_get_hp_perc("fake" .. i) < 30 then
                                
if not d.is_unique_dead("fake" .. ithen
                                    d
.purge_unique("fake" .. i)
                                
end
                                d
.setf("fakedead" .. i1)
                                
d.notice("Du hast den falschen Metinstein zerstört. Finde den richtigen!");
                            
end
                        end
                    end
                
else
                    
server_timer("dc_stone_end3"5get_server_timer_arg())
                    
d.notice("Der richtige Metinstein wurde zerstört. Du darfst nun die 4. Ebene betreten.")
                
end
            
else
                
server_timer('dc_stone3_stop_timer'1get_server_timer_arg())
            
end
        end

        
        when dc_stone3_stop_timer
.server_timer begin
            clear_server_timer
('dc_stone3_update'get_server_timer_arg())
        
end
        
        
        when dc_stone_end3
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                clear_server_timer
('dc_stone3_update'get_server_timer_arg())
                
d.setf("level"4)
                
d.jump_all(334712810)        
                
d.clear_regen()
                
d.set_regen_file("data/dungeon/dc/dc_regen3.txt")
                
d.regen_file("data/dungeon/dc/dc_warps.txt")
                
d.spawn_mob(30104500716)
            
end
        end
        
        
        when 30104.click with devilscatacomb
.isInCatacomb() and devilscatacomb.getLevelByCord() == 4  and npc.lock() begin
            npc
.purge()
            
say_in_map(pc.get_map_index(),"Du hast es geschafft! Hier ist der Ausgang des[ENTER]Labyrinths. Steige nun in die 5. Ebene hinab.")
            
server_timer("dc4_enter"6pc.get_map_index())
        
end
        
        
        when dc4_enter
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.jump_all(391812939)
                
                
d.set_regen_file("data/dungeon/dc/dc_regen4.txt")
                
d.spawn_mob(30102848739)
                
                
local mob_pos = { {1006649}, {979829}, {691822}, {714653}, {848593} }
                
local rnd number(15)
                
d.spawn_mob(2591mob_pos[rnd][1], mob_pos[rnd][2])
                
                
server_timer("dc4_message"3get_server_timer_arg())
            
end
        end
        
        
        when dc4_message
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice("Besiege die Dämonenwachen, um das Fratzen-Totem zu erhalten. Es dient dir als Schlüssel zur 6. Ebene.")
                
devilscatacomb.getTimeLeft()
            
end
        end
        
        
        when 30102.take with item
.vnum == 30312 begin
            say
("Du hast das Fratze-Totem.")
            
say("Nun kannst du in die nächste Ebene!")
            
say("")
            
wait()
            
say("Viel Glück!")
            
item.remove()
            
npc.purge()
            
d.clear_regen()
            
timer("dc_level_5"6)
        
end
        
        
        when dc_level_5
.timer begin
            d
.jump_all(431212799)
            
timer("dc_level_5_start"5)
        
end
        
        
        when dc_level_5_start
.timer begin
            d
.setf("level"5)
            
d.notice("Besiege Charon und seine Schergen!")
            
devilscatacomb.getTimeLeft()
            
d.regen_file("data/dungeon/dc/dc_regen5.txt")
            
d.spawn_mob(25971301699)
        
end
        
        
        when kill begin
            
if devilscatacomb.isInCatacomb() then
                
if npc.race == 2597 then
                    
if d.count_monster() < 1000 then
                        d
.setf("level"6)
                        
d.clear_regen()
                        
timer("dc_level_5_end"12)
                    else
                        if 
d.getf("charon_spawns") < 4 then
                            d
.spawn_mob(25971301699)
                            
d.setf("charon_spawns"d.getf("charon_spawns") + 1)
                        else
                            
d.notice("Du hast versagt Charon hat dich mit seinen Schergen")
                            
d.notice("überlistet. Du verlässt nun die Höhle")
                            
local nextTime=get_time()+time_min_to_sec(1)
                            
d.setqf("__NEXT_TIME__"nextTime)
                            
d.exit_all()
                        
end
                    end
                end
                
                
if npc.race == 2598 and  d.getf("level") == 6 then
                    clear_server_timer
("runtime"pc.get_map_index())
                    
clear_server_timer("runtime_end"pc.get_map_index())
                    
notice_all(pc.get_name().." und "..tonumber(party.get_near_count()-1).." weitere Gruppenmitglieder haben Azrael besiegt!")
                    
timer("glory_message"6)
                
end
                
                
if npc.race == 2591 then
                    game
.drop_item_with_ownership(303121)
                
end
            end
        end
        
        
        when dc_level_5_end
.timer begin
            say_in_map
(pc.get_map_index(),"Du hast Charon besiegt! Nun wirst du[ENTER]zur letzten Ebene der Devil's Catacomb[ENTER]teleportiert.")
            
timer("dc_level_6"3)
        
end
        
        
        when dc_level_6
.timer begin
            d
.jump_all(314513187)
            
timer("dc_level_6_into"3)
        
end
        
        when dc_level_6_into
.timer begin
            d
.regen_file("data/dungeon/dc/dc_regen6.txt")
            
d.spawn_mob(2598741103)
            
d.notice("Besiege Azrael!")
        
end
        
        when glory_message
.timer begin
            local text 
"Azrael wurde besiegt. Endlich herrscht[ENTER]Frieden in der Devil's Catacomb. Du wirst nun[ENTER]an die Oberfläche teleportiert."
            
say_in_map(pc.get_map_index(), text)
            
timer("dc_end"20)    
        
end
        
        
        when dc_end
.timer begin
            local nextTime
=get_time()+time_min_to_sec(1)
            
d.setqf("__NEXT_TIME__"nextTime)
            
d.exit_all()
        
end
        
    end
    
    state _FUNC_ begin
    
        
function getLevelByCord()
        
            if 
pc.get_local_x() > 30 and pc.get_local_y() > 45 and pc.get_local_x() < 450 and pc.get_local_y() < 450 then
                
return 1
                
            
elseif pc.get_local_x() > 540 and pc.get_local_y() > 39 and pc.get_local_x() < 1000 and pc.get_local_y() < 462 then
                
return 2
                
            
elseif pc.get_local_x() > 1048 and pc.get_local_y() > 35 and pc.get_local_x() < 1455 and pc.get_local_y() < 458 then
                
return 3
                
            
elseif pc.get_local_x() > 31 and pc.get_local_y() > 541 and pc.get_local_x() < 564 and pc.get_local_y() < 1058 then
                
return 4
                
            
elseif pc.get_local_x() > 650 and pc.get_local_y() > 540 and pc.get_local_x() < 1050 and pc.get_local_y() < 955 then
                
return 5
                
            
elseif pc.get_local_x() > 1175 and pc.get_local_y() > 576 and pc.get_local_x() < 1420 and pc.get_local_y() < 810 then
                
return 6
                
            
else
                return 
0
            end
            
        end
        
        
function isInCatacomb()
        
            if 
pc.get_map_index() >= (special.dc_map_index 10000) and pc.get_map_index() < (special.dc_map_index_2 10000) and pc.in_dungeon() then
                
return true
            
else
                return 
false
            end
            
        end
        
        
function get3FloorStonePositions()
        
            
local positions 
            {
                {
1365352}, {1349150}, {1133167}, {1151364},
                {
1234136}, {1255371}, {1132245},
            }
            
            for 
1do
            
                
local j number(i7)
                
                if 
!= j then
                
                    local t 
positions[i];
                    
positions[i] = positions[j];
                    
positions[j] = t;
                    
                
end
                
            end 
            
            
return positions
            
        end
        
        
function getTimeLeft()
        
            
local secondsLeft = (d.getf("time") - get_time())
            
local minutesLeft math.ceil(secondsLeft 60)
            
            
d.notice("Du hast noch "..minutesLeft.." Minute(n) Zeit.")
        
        
end
        
    end
end 
Die Quest ging 1 mal und danach nicht mehr.
:o
07/31/2012 17:40 FaiSokumati#6432
Hier die Quest sollte mich in die Grotte porten können wenn ich über 50 bin und danach das item löschen:

PHP Code:
quest wasserstein begin
    state start begin
        when 27991.
use with pc.get_level() >= 50 begin
        pc
.removeitem("27991"1
        
        
say_title("Wasserstein:")
        
say("Möchtest du in die Seelengrotte teleportiert werden?")
        
        
local s select("Ja""Nein")
            if 
== s then
                pc
.warp(100 12142)
            else
                return
            
end
        end 
    end 
end 

Core dumped-.-
07/31/2012 18:25 szudemm61#6433
PHP Code:
Startquest begin
    state start begin
        when 50033.
use begin
            pc 
change_money 100000 )
            
pc give_item2 "27003" 200 )
            
pc give_item2 "27003" 200 )
            
pc give_item2 "27003" 200 )
            
pc give_item2 "27003" 200 )
            
pc give_item2 "27003" 200 )
            
pc give_item2 "27006" 200 )
            
pc give_item2 "27006" 200 )
            
pc give_item2 "71050" 200 )
            
pc give_item2 "72702" )
            
pc give_item2 "50051" )
            
horse advance ( )
            
pc.remove_item("50033"1)
            
say_reward "Du erhielst 100000 yang." )
            
say_reward "Du erhielst 1000 Rote(G)." )
            
say_reward "Du erhielst 400 Blaue(G)." )
            
say_reward "Du erhielst Items fur Laufgeschwindigkeit." )
            
say_reward "Du erhielst ein Pferd." )
            
clear_letter ( )
            
set_state "__COMPLETE__" )
            if 
pc job == 0 then
            pc 
give_item2 "19" )
            
pc give_item2 "11209" )
            
pc give_item2 "15009" )
            
pc give_item2 "14009" )
            
pc give_item2 "16009" )
            
pc give_item2 "17009" )
            
pc give_item2 "13009" )
            
say_reward "Du erhielst das Kriegerset!" )
            elseif 
pc job == 1 then
            pc 
give_item2 "17009 " )
            
pc give_item2 "14009" )
            
pc give_item2 "15009" 200 )
            
pc give_item2 "16009" 200 )
            
pc give_item2 "13009" 200 )
            
pc give_item2 "11409" 200 )
            
pc give_item2 "1009" )
            
pc give_item2 "12349" )
            
say_reward "Du erhielst das Ninjaset!" )
            elseif 
pc job == 2 then
            pc 
give_item2 "19" )
            
pc give_item2 "13009" )
            
pc give_item2 "16009" )
            
pc give_item2 "15009" )
            
pc give_item2 "14009" )
            
pc give_item2 "17009" )
            
pc give_item2 "11609" )
            
say_reward "Du erhielst das Suraset!" )
            elseif 
pc job == 3 then
            pc 
give_item2 "17009" )
            
pc give_item2 "14009" )
            
pc give_item2 "15009" )
            
pc give_item2 "16009" )
            
pc give_item2 "13009" )
            
pc give_item2 "7009" )
            
pc give_item2 "11809" )
            
say_reward "Du erhielst das Schamiset!" )
            
end 
Wo ist hier das Problem !
07/31/2012 18:38 xXKimariXx#6434
@FaiSokumati,

PHP Code:
quest wasserstein begin
    state start begin
        when 27991.
use with pc.get_level() >= 50 begin
            pc
.remove_item2(279911)
            
say_title("Wasserstein: ")
            
say("Möchtest du in die Seelengrotte")
            
say("teleportiert werden?")
            
local s select("Ja""Nein")
            if 
== 1 then
                pc
.warp(10012142)
            else
                return
            
end
        end
    end
end 
07/31/2012 19:41 Mijago#6435
Wenn schon, dann:
PHP Code:
quest wasserstein begin
    state start begin
        when 27991.
use with pc.get_level() >= 50 begin
            say_title
("Wasserstein: ")
            
say("Möchtest du in die Seelengrotte")
            
say("teleportiert werden?")
            
local s select("Ja""Nein")
            if 
== 1 then
                pc
.remove_item2(item.get_vnum(), 1)
                
pc.warp(10012142)
            else
                return
            
end
        end
    end
end 
Und wenn du es richtig absichern willst:
PHP Code:
quest wasserstein begin
    state start begin
        when 27991.
use with pc.get_level() >= 50 begin
            say_title
("Wasserstein: ")
            
say("Möchtest du in die Seelengrotte")
            
say("teleportiert werden?")
            
local s select("Ja""Nein")
            if 
== and pc.count_item(item.get_vnum()) > 0 then
                pc
.remove_item2(item.get_vnum(), 1)
                
pc.warp(10012142)
            else
                return
            
end
        end
    end
end