Problema Quest Arena.

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Avatar utilizator
Dyzu
Nivel 2

Nivel 2
Mesaje: 189
Membru din: 20 Feb 2014, 18:53
Server: All
Regat: Jinno
Aprecieri: 32  
Mulţumiri: 14  
Medalii

Treaba sta cam asa, arena este adaugata la map_allow in toate config-urile din ch-uri, am instalat quest-ul,totul merge bine pana dupa ce accept duelul. Dupa ce accept duelul nu se intampla nimic pentru 10 secunde (Nu ma teleporteaza) iar apoi jos in chat scrie " lupta v-a incepe in 10 secunde". Lupta incepe in map 2 iar dupa ce unul din caractere moare ramane jos cateva minute pana cand ii teleporteaza pe amandoi dinou in map 2.

Aici este quest-ul :

Cod: Selectaţi tot

quest arena_manager begin
    state start begin
        when 20017.chat."Începe o luptã de antrenament" begin
            if game.get_event_flag("arena_close") > 1 then
                say_title("Yu-Hwan:")
                say("Momentan aceastã arenã este inchisã din motive")
                say("mai mult personale.")              
                return
            end
            if not npc.lock() then
                say_title("Yu-Hwan:")
                say("Momentan alt cineva a intrat în arenã.")
                say("Revino în câteva momente.")
                return
            end
            local useMinLevel = 1
            if pc.get_level() < useMinLevel then
                say_title("Yuhwan:")
                say("Ai nevoie de nivelul "..useMinLevel.." pentru a intra.")
                say("Revino cand ai nivelul necesar.")
                npc.unlock()
                return
            else
                say_title("Yuhwan:")
                say("Doresti sa participi la o lupta de antrenament?")
                say("Atunci spune-mi numele partenerului tau.")
                local sname = input()
                if sname == "" then
                    say_title("Yu-Hwan:")
                    say("Nu stii cu cine vrei sa lupti? Daca nu imi spui")
                    say("un nume nu poti participa.")
                    npc.unlock()
                    return
                else
                    say_title("Yu-Hwan:")
                    say("Ok, "..pc.name..". Te-ai inscris la o lupta de")
                    say("antrenament impotriva lui "..sname.." ")
                    wait("")
                    local opp_vid = find_pc_by_name(sname)
                    if opp_vid == 0 then
                        say_title("Yu-Hwan:")
                        say(sname.." nu este online momentan. Incearca mai tarziu")
                        say("sau sabileste cu el o intalnire in arena.")
                        npc.unlock()
                        return
                    elseif opp_vid == pc.get_vid() then
                        say_title("Yu-Hwan:")
                        say("Du willst nicht wirklich gegen dich")
                        say("selber kämpfen oder?")
                        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("Dein Gegner ist noch nicht Level 25")
                        npc.unlock()
                        return
                    end
                    if not npc.is_near_vid(opp_vid, 10) then
                        say_title("Yuhwan")
                        say(""..sname.." ist nicht in deiner Nähe.")
                        npc.unlock()
                        return
                    end
                    local a = arena.is_in_arena(opp_vid)
                    if a == 0 then
                        say_title("Yuhwan:")
                        say(""..sname.." kämpft bereits.")
                        npc.unlock()
                        return
                    end
                    say_title("Entscheidung")
                    say(""..pc.name.." wartet darauf, dass "..sname.."")
                    say("die Herausforderung annimmt.")
                    local agree = confirm(opp_vid, "Möchtest du gegen "..pc.name.." kämpfen?", 30)
                    if agree!= CONFIRM_OK then
                        say_title("Yuhwan:")
                        say(""..sname.." hat abgelehnt.")
                        npc.unlock()
                        return
                    end
                    s = arena.start_duel(sname, 3)
                    if s == 0 then
                        say_title("Yu-Hwan:")
                        say("Es gibt ein Problem.")
                        say("Probierst du es später nochmal?")
                    elseif s == 2 then
                        say_title("Yu-Hwan:")
                        say("Jemand anderes kämpft gerade.")
                    elseif s == 3 then
                        say_title("Yu-Hwan:")
                        say("Die Trainingshalle ist inmoment voll.")
                        say("Probiert es später nochmal.")
                    end                  
                end              
            end
        end      
        when 20017.chat."Participã la o luptã de antrenament" begin
            local g = arena.get_duel_list()
            local arena_name = {}
            local arena_observer = {}
            table.foreachi(g,
                function(n, p)
                arena_name[n] = p[1].." gegen "..p[2]
                arena_observer[n] = { p[3], p[4], p[5] }
                end
            )
            table.insert(arena_name, "Schließen")
            table.insert(arena_observer, 0)
            local count = table.getn(g)
            if count == 0 then
                say_title("Yu-Hwan:")
                say("Momentan nu sunt lupte de antrenament.")
                return
            else
                say_title("Yu-Hwan:")
                say("Momentan finden "..count.." Trainingskämpfe statt.")
                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[1], arena_observer[2], arena_observer[3])
                end
            end
        end
    end
end
Cum il pot face sa ma teleporteze sau are cineva un quest functional ?
Avatar utilizator
hamasoul
Nivel 5

Nivel 5
Mesaje: 758
Membru din: 03 Iun 2015, 19:38
Server: N-am
Regat: Chunjo
Aprecieri: 31  
Mulţumiri: 59  
Medalii

Ai dat permisiuni 777 la quest ?
Avatar utilizator
Dyzu
Nivel 2

Nivel 2
Mesaje: 189
Membru din: 20 Feb 2014, 18:53
Server: All
Regat: Jinno
Aprecieri: 32  
Mulţumiri: 14  
Medalii

hamasoul scrie:Ai dat permisiuni 777 la quest ?
Da, quest-ul are permisiuni 777.
Avatar utilizator
Dyzu
Nivel 2

Nivel 2
Mesaje: 189
Membru din: 20 Feb 2014, 18:53
Server: All
Regat: Jinno
Aprecieri: 32  
Mulţumiri: 14  
Medalii

UP !
Avatar utilizator
Zerant :3
Nivel 4

Nivel 4
Mesaje: 723
Membru din: 17 Oct 2015, 12:53
Server: Velor2
Regat: Jinno
Aprecieri: 15  
Mulţumiri: 141  
Discord: Copiază ID
Medalii

Posibil questu are probleme incearca sa il schimbi

[ Postat de pe Android ] Imagine
Avatar utilizator
Dyzu
Nivel 2

Nivel 2
Mesaje: 189
Membru din: 20 Feb 2014, 18:53
Server: All
Regat: Jinno
Aprecieri: 32  
Mulţumiri: 14  
Medalii

Am incercat, orice alt quest nu merge deloc. Acesta este singurul care functioneaza oarecum..
Avatar utilizator
Dyzu
Nivel 2

Nivel 2
Mesaje: 189
Membru din: 20 Feb 2014, 18:53
Server: All
Regat: Jinno
Aprecieri: 32  
Mulţumiri: 14  
Medalii

UP
Avatar utilizator
Dyzu
Nivel 2

Nivel 2
Mesaje: 189
Membru din: 20 Feb 2014, 18:53
Server: All
Regat: Jinno
Aprecieri: 32  
Mulţumiri: 14  
Medalii

UP
Avatar utilizator
Dyzu
Nivel 2

Nivel 2
Mesaje: 189
Membru din: 20 Feb 2014, 18:53
Server: All
Regat: Jinno
Aprecieri: 32  
Mulţumiri: 14  
Medalii

Cer T/C
Avatar utilizator
ilgryu
Nivel 3

Nivel 3
Mesaje: 452
Membru din: 13 Dec 2013, 16:14
Server: O sa fie si ala.
Regat: Jinno
Aprecieri: 225  
Mulţumiri: 23  
Discord: Copiază ID
 Contact:
Medalii

Cod: Selectaţi tot

quest arena_manager begin
   state start begin
      when 20017.chat."Începe o luptã de antrenament" begin
         if game.get_event_flag("arena_close") > 1 then
            say_title("Yu-Hwan:")
            say("Momentan aceastã arenã este inchisã din motive")
            say("mai mult personale.")            
            return
         end
         if not npc.lock() then
            say_title("Yu-Hwan:")
            say("Momentan alt cineva a intrat în arenã.")
            say("Revino în câteva momente.")
            return
         end
         local useMinLevel = 1
         if pc.get_level() < useMinLevel then
            say_title("Yuhwan:")
            say("Ai nevoie de nivelul "..useMinLevel.." pentru a intra.")
            say("Revino cand ai nivelul necesar.")
            npc.unlock()
            return
         else
            say_title("Yuhwan:")
            say("Doresti sa participi la o lupta de antrenament?")
            say("Atunci spune-mi numele partenerului tau.")
            local sname = input()
            if sname == "" then
               say_title("Yu-Hwan:")
               say("Nu stii cu cine vrei sa lupti? Daca nu imi spui")
               say("un nume nu poti participa.")
               npc.unlock()
               return
            else
               say_title("Yu-Hwan:")
               say("Ok, "..pc.name..". Te-ai inscris la o lupta de")
               say("antrenament impotriva lui "..sname.." ")
               wait("")
               local opp_vid = find_pc_by_name(sname)
               if opp_vid == 0 then
                  say_title("Yu-Hwan:")
                  say(sname.." nu este online momentan. Incearca mai tarziu")
                  say("sau sabileste cu el o intalnire in arena.")
                  npc.unlock()
                  return
               elseif opp_vid == pc.get_vid() then
                  say_title("Yu-Hwan:")
                  say("Du willst nicht wirklich gegen dich")
                  say("selber kämpfen oder?")
                  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("Dein Gegner ist noch nicht Level 25")
                        npc.unlock()
                        return
                    end
                    if not npc.is_near_vid(opp_vid, 10) then
                        say_title("Yuhwan")
                        say(""..sname.." ist nicht in deiner Nähe.")
                        npc.unlock()
                        return
                    end
                    local a = arena.is_in_arena(opp_vid)
                    if a == 0 then
                        say_title("Yuhwan:")
                        say(""..sname.." kämpft bereits.")
                        npc.unlock()
                        return
                    end
                    say_title("Entscheidung")
                    say(""..pc.name.." wartet darauf, dass "..sname.."")
                    say("die Herausforderung annimmt.")
                    local agree = confirm(opp_vid, "Möchtest du gegen "..pc.name.." kämpfen?", 30)
                    if agree!= CONFIRM_OK then
                  say_title("Yuhwan:")
                        say(""..sname.." hat abgelehnt.")
                        npc.unlock()
                        return
                    end
                    s = arena.start_duel(sname, 3)
                    if s == 0 then
                        say_title("Yu-Hwan:")
                        say("Es gibt ein Problem.")
                        say("Probierst du es später nochmal?")
                    elseif s == 2 then
                        say_title("Yu-Hwan:")
                        say("Jemand anderes kämpft gerade.")
                    elseif s == 3 then
                        say_title("Yu-Hwan:")
                        say("Die Trainingshalle ist inmoment voll.")
                        say("Probiert es später nochmal.")
                    end               
            end            
         end
      end      
      when 20017.chat."Participã la o luptã de antrenament" begin
            local g = arena.get_duel_list()
            local arena_name = {}
            local arena_observer = {}
            table.foreachi(g,
                function(n, p)
                arena_name[n] = p[1].." gegen "..p[2]
                arena_observer[n] = { p[3], p[4], p[5] }
                end
            )
            table.insert(arena_name, "Schließen")
            table.insert(arena_observer, 0)
            local count = table.getn(g)
            if count == 0 then
            say_title("Yu-Hwan:")
            say("Momentan nu sunt lupte de antrenament.")
            return
            else
                say_title("Yu-Hwan:")
                say("Momentan finden "..count.." Trainingskämpfe statt.")
                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
Acsta este questul pe care il am eu pe server , si functioneaza verifica sa fie bagata si map_index:P
Edit:
Eu am mapa doar in game 99.... atat in ch1/2/3/4 nu exista mapa aceea.
Fusai Aci
Facui Asta
Afișează semnătura
Închis
Răspunsuri
3
Vizualizări
789
Răspunsuri
0
Vizualizări
382
Răspunsuri
0
Vizualizări
65
Răspunsuri
3
Vizualizări
302

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 33 vizitatori