Hilfe bei einer Dungeonquest!

01/08/2014 20:09 Way of Life#1
Hi Leute,

bräuchte Hilfe bei meiner Dungeonquest:

PHP Code:
quest hafenrun begin
    state start begin
        
function s4()    -- Droppender Mob in Ebene 4 | Koordinaten
            
return {
                {
444, 72}, {447, 94}, {425, 120}, {450, 124},
                {
438, 81}, {434, 101}, {414, 122}, {440, 105},
                {
435, 71}, {421, 111}, {438, 117}, {430, 98},
            }
        
end
        
function s5()    -- Metins in Ebene 5 | Koordinaten (20 Metins)
            return {
                {
96, 422}, {122, 373}, {112, 410}, {142, 412},
                {
71, 416}, {137, 385}, {100, 410}, {165, 439},
                {
80, 393}, {135, 404}, {90, 377}, {172, 435},
                {
102, 397}, {144, 416}, {153, 423}, {169, 420},
                {
122, 373}, {130, 440}, {143, 448}, {119, 429},
            }
        
end
    
        when 20092.chat
."Hafen-Run" with game.get_event_flag("hafenrun_avail") <= get_time() begin
            say_title
(string.format("%s", mob_name(npc.get_race())))
            
say("")
            
say("Du möchtest also den Hafen-Run betreten?")
            if 
not party.is_party() then
                say
("Du bist in keiner Gruppe.")
                
say("Du kannst nur als Gruppe den Dungeon meistern.")
                
say("")
                return
            
end
            
if not party.is_leader() then
                say
("Es tut mir leid, aber nur Gruppenanführer können")
                
say("eine Dungeonrunde erstellen.")
                
say("")
                return
            
end
            
if pc.get_level() < 35 then
                say
("Dein Level ist zu niedrig.")
                
say("")
                return
            
end
            
if pc.count_item(50008) < 1 then
                say
(string.format("Dir fehlt %s mal %s.", 1, item_name(50008)))
                
say("")
                return
            
end
            say
("Bitte lege ein Passwort fest, mit welchem deine")
            
say("Gruppenmitglieder der Runde beitreten können.")
            
say("ACHTUNG: Es sind nur Zahlen erlaubt!")
            
local pass = input()
            if 
pass == nil or tostring(pass) == "" then return end
            
if tonumber(pass) == false then
                say_title
(string.format("%s", mob_name(npc.get_race())))
                
say("")
                
say("Für das Passwort sind nur Zahlen zugelassen.")
                
say("")
                return
            
end
            
if string.len(pass) < 4 then
                say_title
(string.format("%s", mob_name(npc.get_race())))
                
say("")
                
say("Das Passwort muss mindestens 4 Zeichen lang sein!")
                
say("")
                return
            
end
            say_title
(string.format("%s", mob_name(npc.get_race())))
            
say("")
            
say("Das Passwort wurde festgelegt.")
            
say("Gebe deinen Gruppenmitgliedern das Passwort, damit")
            
say("sie der Dungeonrunde beitreten können.")
            
say("")
            
say_reward("Das Passwort: "..pass)
            
say("")
            if 
pc.count_item(50008) < 1 then
                say_title
("Dir fehlen Items")
                
say("")
                
say("Du hast Bugusing versucht.")
                
say("Schande über dich!")
                
say("")
                return
            
end
            pc
.remove_item(50008, 1)
            
game.set_event_flag("hafenrun_avail", get_time() + 60*10)
            
game.set_event_flag("hafenrun_pass", tonumber(pass))
        
end
        when 20092.chat
."X-Dungeon" with game.get_event_flag("hafenrun_avail") > get_time() begin
            say_title
(string.format("%s", mob_name(npc.get_race())))
            
say("")
            
say("Bitte gebe das Passwort ein, um der Dungeonrunde")
            
say("beizutreten.")
            
local pass = input()
            if 
pass == nil or tostring(pass) == "" then return end
            
if tonumber(pass) == false then
                say_title
(string.format("%s", mob_name(npc.get_race())))
                
say("")
                
say("Für das Passwort sind nur Zahlen zugelassen.")
                
say("")
                return
            
end
            
if game.get_event_flag("hafenrun_pass") != tonumber(pass) then
                say_title
(string.format("%s", mob_name(npc.get_race())))
                
say("")
                
say("Deine Eingabe war nicht korrekt.")
                
say("")
                return
            
end
            timer
("check_bugger", 10)
            
pc.warp(4356073, 4352495)
        
end
        when check_bugger
.timer begin
            
if not pc.in_dungeon() then
                
if pc.get_204() == 204 then
                    warp_to_village
()
                
end
            end
        end
        when 20092.chat
."Jetzt teleportieren" with party.is_leader() begin
            say_title
(string.format("%s", mob_name(npc.get_race())))
            
say("")
            if 
party.get_near_count() < 2 then
                say
("Ihr seid zu wenig!")
                
say("")
                return
            elseif 
party.get_near_count() > 8 then
                say
("Ihr seid zu viele!")
                
say("")
                return
            else
                
party.chat("Ihr werdet in Ebene 1 teleportiert.")
                
timer("stage_1_1", 5)
            
end
        end
        when stage_1_1
.timer begin
            
--chat("TesT")
            
d.new_jump_all(pc.get_map_index(), 43219+363, 43219+403)
        
end
        when login with pc
.in_dungeon() and pc.get_map_index() >= (6 * 10000) and pc.get_map_index() < (7 * 10000) and party.is_leader()begin
            d
.notice("Monsterwelle in 30 Sekunden.")
            
timer("stage_1_2", 30)
        
end
        when stage_1_2
.timer begin
            d
.regen_file("data/dungeon/havenrun/regen_1.txt")
            
d.set_warp_at_eliminate(4, d.get_map_index(), 395, 75, "data/dungeon/havenrun/regen_1.txt")
            
timer("stage_2_1", 10)
        
end
        when stage_2_1
.timer begin
            d
.set_warp_at_eliminate(4, d.get_204(), 340, 203)
            
d.check_eliminated()
            
local vid = d.spawn_mob(101, 410, 315)
            
d.set_unique("boss", vid)
            
d.notice("Hinter dem Wald erwartet euch ein Bossmonster!")
            
server_loop_timer("check_for_dead_e3_boss", 10, pc.get_204())
        
end
        when check_for_dead_e3_boss
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                
if d.revived() then
                    server_timer
("check_for_dead_e3_boss_stop", 1, get_server_timer_arg())
                
end
                
if d.is_unique_dead("boss") then
                    server_timer
("check_for_dead_e3_boss_stop", 1, get_server_timer_arg())
                
end
            end
        end
        when check_for_dead_e3_boss_stop
.server_timer begin
            clear_server_timer
("check_for_dead_e3_boss", get_server_timer_arg())
            if 
d.revived() then d.exit_all() return end
            d
.jump_all(426, 88)
            
d.regen_file("data/dungeon/havenrun/regen_5.txt")
            
local x = hafenrun.s4()
            
local p = x[number(1, table.getn(x))]
            
d.set_unique("real", d.spawn_mob(MOB_E4, p[1], p[2]))
            
server_loop_timer('e4_time_1', 60, pc.get_204())
            
d.setf('time', 5)
            
d.notice("Ihr habt 5 Minuten Zeit, das richtige Monster zu töten und das")
            
d.notice("benötigte Item zu erhalten.")
        
end
        when e4_time_1
.server_timer begin
            
if d.getf('time') == 0 then
                server_timer
("clear_me_e4", 1, get_server_timer_arg())
            
end
            d
.notice("Ihr habt noch "..d.getf('time').." Minuten.")
            
d.setf('time', d.getf('time') - 1)
        
end
        when clear_me_e4
.server_timer begin
            clear_server_timer
("e4_time_1", get_server_timer_arg())
            
d.exit_all()
        
end
        when MOB_E4
.kill with pc.in_dungeon() and pc.get_map_index >= 204*10000 and pc.get_map_index() < (204+1)*10000 begin
            
if d.is_unique_dead("real") then
                game
.drop_item(E4_ITEM, 1)
            
end
        end
        when 30123.take with item
.get_vnum() == E4_ITEM begin
            clear_server_timer
("e4_time_1", pc.get_204())
            
d.notice("Ihr habt auch diese Ebene erfolreich gemeistert.")
            
d.jump_all(178, 455)
            
local posses = hafenrun.s5()
            
local rnd = 20
            local jump 
= false
            local co 
= 1
            
for i = 1, table.getn(posses) do
                if 
not jump then
                    local k 
= number(1, rnd)
                    if 
k == 1 then
                        local vi 
= d.spawn_mob(8008, posses[i][1], posses[i][2])
                        
d.set_unique("right", vi)
                        
jump = true
                    
else
                        
d.set_unique("fake" .. c , d.spawn_mob(8008, posses[i][1], posses[i][2]))
                        
rnd = rnd - 1
                        c 
= c + 1
                    end
                
else
                    
d.set_unique("fake" .. c , d.spawn_mob(8008, posses[i][1], posses[i][2]))
                    
c = c + 1
                end
            end
        end
        when 8008.kill with pc
.in_dungeon() and pc.get_204 >= 204*10000 and pc.get_204() < (204+1)*10000 begin
            
if d.is_unique_dead("right") then
                
for i = 1, 19 do
                    if 
not d.is_unique_dead("fake"..i) then
                        d
.purge_unique("fake"..i)
                    
end
                end
            end
            d
.jump_all(96, 98)
            
d.set_unique("boss1", d.spawn_mob(101, 96, 109))
            
d.set_unique("boss2", d.spawn_mob(101, 86, 97))
            
d.set_unique("boss3", d.spawn_mob(101, 127, 94))
            
d.set_unique("boss4", d.spawn_mob(101, 111, 115))
        
end
        when BOSS_1
.kill with pc.in_dungeon() and pc.get_204 >= 204*10000 and pc.get_204() < (204+1)*10000 begin
            local x 
= true
            
for i = 1, 4 do
                if 
not d.is_unique_dead("boss"..i) then
                    x 
= false
                end
            end
            
if x then
                d
.jump_all(87, 299)
                
d.set_unique("endboss", d.spawn_mob(101, 118, 206))
            
end
        end
        when BOSS_2
.kill with pc.in_dungeon() and pc.get_204 >= 204*10000 and pc.get_204() < (204+1)*10000 begin
            local x 
= true
            
for i = 1, 4 do
                if 
not d.is_unique_dead("boss"..i) then
                    x 
= false
                end
            end
            
if x then
                d
.jump_all(87, 299)
                
d.set_unique("endboss", d.spawn_mob(101, 118, 206))
            
end
        end
        when BOSS_3
.kill with pc.in_dungeon() and pc.get_204 >= 204*10000 and pc.get_204() < (204+1)*10000 begin
            local x 
= true
            
for i = 1, 4 do
                if 
not d.is_unique_dead("boss"..i) then
                    x 
= false
                end
            end
            
if x then
                d
.jump_all(87, 299)
                
d.set_unique("endboss", d.spawn_mob(101, 118, 206))
            
end
        end
        when BOSS_4
.kill with pc.in_dungeon() and pc.get_204 >= 204*10000 and pc.get_204() < (204+1)*10000 begin
            local x 
= true
            
for i = 1, 4 do
                if 
not d.is_unique_dead("boss"..i) then
                    x 
= false
                end
            end
            
if x then
                d
.jump_all(87, 299)
                
d.set_unique("endboss", d.spawn_mob(101, 118, 206))
            
end
        end
        when 101.kill with pc
.in_dungeon() and pc.get_204 >= 204*10000 and pc.get_204() < (204+1)*10000 begin
            d
.clear_regen()
            
d.notice("Du hast es geschafft!")
            if 
party.is_leader() then
                notice_all
("Die Gruppe von "..tostring(pc.get_name()).." hat die geheimnisvollen Inseln bezwungen")
                
notice_all("und ist in der Hafenstadt eingetroffen!")
            
end
            server_timer
("warp_away", 120, pc.get_204())
        
end
        when warp_away
.server_timer begin
            d
.exit_all()
        
end
    end
end 
Nachdem ich den Run starte, geportet werde, und die "regen töte", kommt ein Fehler & man wird nicht weiter auf die Nächste Ebene geportet!

Wer Zeit & Lust hat und sich egold dazuverdienen möchte, kann mir auch gerne seine Skype-Addy via PN schreiben.

Lg
01/08/2014 20:16 Zevion#2
Hey,
bitte diesen Sammelthread beachten.
-> [Only registered and activated users can see links. Click Here To Register...]

#closerequest
01/10/2014 14:45 Nectix#3
Quote:
Originally Posted by Zevion View Post
Hey,
bitte diesen Sammelthread beachten.
-> [Only registered and activated users can see links. Click Here To Register...]
#closed