Duelarena warp WTF?

09/15/2011 08:37 socressor#1
Hey leutz sorry für die vielleicht dumme Frage.

Aber warum wird mein Gegner immer weggeportet :D (auf meinem Server). Wähle Duell, geben seinen Namen ein. Werden beide geportet in diese Duelarena, dann wird er wieder weggeportet, erst map1, dann sofort map2. Ich selber(GM), habe nicht das Problem...hier meine quest:

PHP Code:
quest arena_manager begin
        state start begin
                when 20017.chat
."Duell" begin
                        
if game.get_event_flag("arena_close") > 0 then
                                say_title
("Yu-Hwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say("Die Trainingshalle wurde durch einen furchtbaren")
                                
say("Kampf zerstört! Sorry")
                                
say("")
                                return
                        
end

                        
if not npc.lock() then
                                say_title
("Yu-Hwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say("Jemand anderes ist ins Duell gegangen")
                                
say("")
                                
say("")
                                return
                        
end

                        local useMinLevel 
game.get_event_flag("arena_use_min_level")

                        if 
useMinLevel == 0 then
                                useMinLevel 
25 ;
                        
end

                        
if pc.get_level() < useMinLevel then
                                say_title
("Yuhwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say("Wenn du nicht Level "..useMinLevel.." erreicht hast")
                                
say("Kannst du dem Kampf nicht beitreten")
                                
say("")
                                
npc.unlock()
                                return
                        else
                                
say_title("Yuhwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say("Bitte wähle die Person mit der du kämpfen möchtest")
                                
say("")
                                
say("")

                                
local sname input()

                                if 
sname == "" then
                                say_title
("Yu-Hwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say(" Weißt du nicht gegen wen du kämpfen willst?")
                                
say("")
                                        
npc.unlock()
                                        return
                                else
                                
say_title("Yu-Hwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say(pc.name.." ist dem Kampf beigetreten")
                                
say(sname.." ")
                                
wait("")

                                        
local opp_vid find_pc_by_name(sname)

                                        if 
opp_vid == 0 then
                                say_title
("Yu-Hwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say(sname.." ist derzeit nicht verfügbar.")
                                
say("")
                                                
npc.unlock()
                                                return
                                        elseif 
opp_vid == pc.get_vid() then
                                say_title
("Yu-Hwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say("Möchtest du dich selbst bekämpfen?")
                                
say("")
                                
say("")
                                                
npc.unlock()
                                                return
                                        
end

                                        local old 
pc.select(opp_vid)
                                        
local opp_level pc.get_level()
                                        
pc.select(old)

                                        if 
opp_level useMinLevel then
                                say_title
("Yuhwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say("Der Status der anderen Gruppe ist niedriger als "..useMinLevel.."  .")
                                
say("")
                                                
npc.unlock()
                                                return
                                        
end
                                        
if not npc.is_near_vid(opp_vid10then
                                say_title
("Yuhwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say("Um den Kampf erfolgreich zu starten muss sich :")
                                
say(sname.."  bei mir melden")
                                
say("")
                                                
npc.unlock()
                                                return ;
                                        
end

                                        local a 
arena.is_in_arena(opp_vid)
                                        if 
== 0 then
                                say_title
("Yuhwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say(sname.."   ist derzeit in nem Training")
                                
say("")
                                                
npc.unlock()
                                                return ;
                                        
end
                                say_title
("Annehmen")
                                
say("")
                                
say(pc.name.." Warte auf die akzeptanz des Duells")
                                
say("of "..sname.." ")
                                        
local agree confirm(opp_vidsname.." Möchtest du gegen "..pc.name.." kämpfen"30)
                                        if 
agree!= CONFIRM_OK then
                                say_title
("Yuhwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say(sname.." möchte nicht kämpfen")
                                
say("")
                                
say("")
                                                
npc.unlock()
                                                return
                                        
end

                                        s 
arena.start_duel(sname3)

                                        if 
== 0 then
                                say_title
("Yu-Hwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say("Da ist ein Problem")
                                
say("Möchtest du später beitreten?")
                                
say("")
                                        elseif 
== 2 then
                                say_title
("Yu-Hwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say("Eine andere Gruppe ist derzeit im Kampf.")
                                
say("")
                                        elseif 
== 3 then
                                say_title
("Yu-Hwan:")
                                
say("")
                                ----
"12345678901234567890123456789012345678901234567890"|
                                
say("Die Kampfarena ist derzeit voll")
                                
say("Bitte komme später wieder")
                                
say("")
                                        
end
                                end
                        end
                        npc
.unlock()
                
end

                when 20017.chat
."Schaue bei einem Trainingskampf zu" begin
                        local g 
arena.get_duel_list()
                        
local arena_name = {}
                        
local arena_observer = {}

                        
table.foreachi(g,
                                function(
np)
                                        
arena_name[n] = p[1].." against "..p[2]
                                        
arena_observer[n] = { p[3], p[4], p[5] }
                                
end
                        
)

                        
table.insert(arena_name"Close")
                        
table.insert(arena_observer0)

                        
local count table.getn(g)
                        if 
count == 0 then
                        say_title
("Yu-Hwan:")
                        
say("")
                        ----
"12345678901234567890123456789012345678901234567890"|
                        
say("Derzeit kein Trainingskampf")
                        
say("")
                        return ;
                        else
                        
say_title("Yu-Hwan:")
                        
say("")
                        ----
"12345678901234567890123456789012345678901234567890"|
                        
say("Derzeit finden "..count.." Trainingskämpfe statt")
                        
say("")
                        
wait()
                        
end

                        
if table.getn(g)!= 0 then
                                local s 
select_table(arena_name)

                                if 
table.getn(arena_observer) == s then
                                        
return ;
                                
end

                                
if table.getn(arena_observer) >= s then
                                        arena
.add_observer(arena_observer[s][1], arena_observer[s][2], arena_observer[s][3])
                                
end
                        end
                end
        end
end 

dann mein 2tes anliegen. Habe ein Problem das im blauen reich bei allen npc's von denen es in der db nur einen gibt das Reich net stimmt. Die habe die roten Flaggen übern kopf. Wo wird das definiert im welchen reich sie welchen status annehmen sollen?
09/15/2011 08:46 .Muhammed#2
Hey,

[Only registered and activated users can see links. Click Here To Register...]
ich würde mal hier fragen..
09/15/2011 11:12 socressor#3
Quote:
Originally Posted by .Muhammed View Post
Hey,

[Only registered and activated users can see links. Click Here To Register...]
ich würde mal hier fragen..
jo aber ersma jez hier..
09/15/2011 15:43 Fenix1993#4
Leute hat keiner eine Ahnung ?

habe auch das Problem.
01/20/2012 08:08 Nylon'#5
Habe exakt das gleiche Problem. Dachte liegt am Map-Index, habe den mal überall gelöscht und auf game99 gepackt, Ich als GM komme drauf aber Spieler werden raus teleportiert ...
07/15/2013 12:25 9TAILS#6
deine quest ist perfekt !!! die map duellarena ( 112) muss in channel 99 und auch in den anderen channels eingetragen werden dann läuft alles.