Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z Areną Walk


Rekomendowane odpowiedzi

Opublikowano

Witajcie mam problem z areną walk problem polega na tym że po akceptacji pojedynku u: Yu-Hwan

 

Przenosi na mapę 2 osoby, 1 osoba może się ruszać druga stoi na kordach 116, 101, i właśnie ta druga osoba nie może się poruszać....

 

Normalnie po wejściu na mapę jest napis:

 

Brak możliwości używania mikstur.

Pojedynek zacznie się za 10 Sekund...

 

no i pojedynek rozpoczyna ale ta druga osoba która jest w ścianie nie może zadawać hitów ale co gorsze jeśli wpiszę /go 116 101 to mogę się ruszać ( daje mnie odrobinkę do przodu tak pyciunie ) no i wtedy walka się kończy dla gracza tego który był w ścianie po wpisaniu /go 116 101 (Testowanie GMami dlatego /go 116 101) lecz drugi gracz normalnie może bić i jak już zabije to normalnie daje na start piszę Nick 1:0 Nick i pózniej już da się normalnie bić itp ale problem jest z tą pierwszą rundą miał ktoś taki problem?

 

Dodatkowe info:

ID Mapy: 12

Mapa na CH1 razem z Miastem 2.

 

W settings.lua

 

arena.add_map(12, 8534, 101, 8564, 101)
arena.add_map(12, 8584, 101, 8614, 101)
arena.add_map(12, 8534, 155, 8564, 155)
arena.add_map(12, 8584, 155, 8514, 155)

 

chyba tyle..

 

liczę na pomoc lecą +

 

Pozdrawiam

Paradise

 

Pozdrawiam

Paradise

Opublikowano

hmm a wiesz że quest to tylko arena_manager.quest? ten quest jest odpowiedzialny tylko za przeniesienie na mapę.., a ja mam problem z tym co się dzieje na mapię po przeniesieniu na arenę.

Opublikowano

sorry akurat pisaniem questów zajmuję się od nie jednego dnia lecz od troche czasu... ale skoro chcesz tak aż bardzo to ci dam lecz zapewniam że będzie to stratą czasu bo quest jak sam widzisz nie jest od tego co się dzieje na mapie lecz od tego aby cię przeniósł na mapę pózniej to jakiś innym system sprawia że reszta działa tylko nie wiem gdzie to jest...

 

 

 

quest arena_manager begin
    state start begin
        when 20017.chat."Walki treningowe" begin
            if game.get_event_flag("arena_close") > 0 then
                say_title("Yu-Hwan:")
                say("Arena treningowa w tej chwil jest nie dostepna.")
                say("")
                return
            end
            if not npc.lock() then
                say_title("Yu-Hwan:")
                say("Ktoś zapisał się na trening.")
                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("Dopiero po ośiągnieciu "..useMinLevel..", poziomu możesz zapisać ")
                say("się na walke treningową. ")
                say("")
                npc.unlock()
                return
            else
                say_title("Yuhwan:")
                say("Wpisz nazwe gracza, z którym chcesz trenować.")
                say("")
                say("")
                local sname = input()
                if sname == "" then
                    say_title("Yu-Hwan:")
                    say("Nie wiesz z kim chcesz walczyć? ")
                    say("")
                    npc.unlock()
                    return
                else
                    say_title("Yu-Hwan:")
                    say(pc.name.." zapisał się na walke treningową przeciwko ")
                    say(sname.." ")
                    wait("")
                    local opp_vid = find_pc_by_name(sname)
                    if opp_vid == 0 then
                        say_title("Yu-Hwan:")
                        say(sname.." nie jest aktualnie zalogowany.")
                        say("")
                        npc.unlock()
                        return
                    elseif opp_vid == pc.get_vid() then
                        say_title("Yu-Hwan:")
                        say("Czy napewno chcesz walczyć? ")
                        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("Poziom drugiej osoby jest mniejszy niz  "..useMinLevel.." .")
                        say("")
                        npc.unlock()
                        return
                    end
                    if not npc.is_near_vid(opp_vid, 10) then
                        say_title("Yuhwan:")
                        say("Aby zorganizować szkolenia z")
                        say(sname.." ma do mnie podejść. ")
                        say("")
                        npc.unlock()
                        return ;
                    end
                    local a = arena.is_in_arena(opp_vid)
                    if a == 0 then
                        say_title("Yuhwan:")
                        say(sname.."  jest już obecnie w walce.")
                        say("")
                        npc.unlock()
                        return ;
                    end
                    say_title("Decyzja")
                    say(pc.name.." czekam na przyjecie wyzwania")
                    say("of "..sname.." ")
                    local agree = confirm(opp_vid, sname.." czy chcesz walczyć z  "..pc.name.."", 30)
                    if agree!= CONFIRM_OK then
                        say_title("Yuhwan:")
                        say(sname.." nie chce z tobą walczyć! ")
                        say("")
                        say("")
                        npc.unlock()
                        return
                    end
                    s = arena.start_duel(sname, 3)
                    if s == 0 then
                        say_title("Yu-Hwan:")
                        say("Wystąpił problem.")
                        say("Czy chcesz zarejestrowac się ponownie póżniej? ")
                        say("")
                    elseif s == 2 then
                        say_title("Yu-Hwan:")
                        say("Inna grupa jest obecnie w walce.")
                        say("")
                    elseif s == 3 then
                        say_title("Yu-Hwan:")
                        say("Arena treningowa jest aktualnie w użyciu. ")
                        say("Proszę przyjść pózniej. ")
                        say("")
                    end
                end
            end
            npc.unlock()
        end
        when 20017.chat."Ogladaj walke treningową " begin
            local g = arena.get_duel_list()
            local arena_name = {}
            local arena_observer = {}
            table.foreachi(g,
                function(n, p)
                    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_observer, 0)
            local count = table.getn(g)
            if count == 0 then
                say_title("Yu-Hwan:")
                say("W tej chwili nie ma żadnych walk treningowych.")
                say("")
                return
            else
                say_title("Yu-Hwan:")
                say("Obecnie "..count.." odbywaja siś szkolenia.")
                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

 

 

Opublikowano

Ref? dalej nikt mi nie może z tym pomóc lub dać jakichś głębszych namiarów co do gdzie się ustawia to co ma się dziać po przeniesieniu na arenę? bo nie ma takiego questu w /quest/

Opublikowano

resp jest tylko jeden w town... i to nie ten który odpowiada za zespawnienie 2 postaci po wejściu na arenę.

 

właśnie chciałbym coś zrobić w kierunku tego ale nie wiem  gdzie szukać tego.

  • 2 tygodnie później...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...