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

Event - Wojna Królestw


Rekomendowane odpowiedzi

Opublikowano

Witam chciałem się z wami podzielić questem napisanym dosyć dawno temu, może się komuś przydać. Quest jest bardzo rozbudowany lecz można powiedzieć że mało optymalny z tego powodu że niektóre funkcje można było by skrócić co wynika że kod byłby krótszy. Miałem to zrobić ale po prostu nie chce mi się tego przerabiać po to abyście wy mieli czystego pięknego gotowca ^_^

Oczywiście można go edytować pod siebie.

pierwsza część quest'a menu:

http://wklej.to/uSHTS


druga część quest'a "wyniki" :
http://wklej.to/KH5Jg

Nie ma za co ;)
Jak się quest prezentuje w grze:

 

 

Głowne menu u Koe-Pung

4xxemm.jpg

Po wyborze opcji Wojna Królestw mamy następującą opcje

5ikmoy.jpgp

Po wybraniu TAK wyświetla nam się menu zarządzania Eventem:

ibb91k.jpg

Po wybraniu jednej z możliwości gracze zostają poinformowani:

ibb91k.jpg

ikeeni.jpg

Następnie jeśli postać zrobi reloga lub przeniesie się na inna mapke lub zmieni postać otrzyma "list"

ry30ys.jpg

Po otworzeniu "listu" mamy mała informacje:

tr3x73.jpg

Następnie po kliknięciu opcji "TAK" przenosi nas na mapkę i otrzymamy informacje ile osób z naszego królestwa jest już na wojnie

gq1cpv.jpg

8nl5yw.jpg

I wreszcie opcja wyników która jest wyświetlana na bieżąco podczas każdego zabójstwa:

g2yftn.jpg

 

 


Krótki opis:
3 królestwa walczą miedzy sobą o najlepsze miejsce. Wyniki zabójstw są podawane na bieżąco.
Wojnę uruchamia Mistrz Gry który wybiera minimalną ilość zabójstw oraz czas przypisany do nich.
Na wojnę mogą pójść osoby z co najmniej 50 poziomem.

zanim zapytasz zobacz:




when kill with pc.get_map_index() == 181 and game.get_event_flag("wojna_krolestw") == 1 and npc.is_pc() begin            timer("wojna_krolestw_wynik", 1)            if pc.get_empire() == 3 then                game.set_event_flag("jinno", game.get_event_flag("jinno") + 1)            elseif pc.get_empire() == 2 then                game.set_event_flag("chunjo", game.get_event_flag("chunjo") + 1)            elseif pc.get_empire() == 1 then                game.set_event_flag("shinsoo", game.get_event_flag("shinsoo") + 1)            end        end                    when wojna_krolestw_wynik.timer begin            notice_in_map("[Wojna Królestw Wynik] Shinsoo "..game.get_event_flag("shinsoo").."/"..game.get_event_flag("ilosc_graczy_do_zabicia").." | Chunjo "..game.get_event_flag("chunjo").."/"..game.get_event_flag("ilosc_graczy_do_zabicia").." | Jinno "..game.get_event_flag("jinno").."/"..game.get_event_flag("ilosc_graczy_do_zabicia"))            if game.get_event_flag("jinno") == game.get_event_flag("ilosc_graczy_do_zabicia") then                notice_all("[Wojna Królestw] Wojna zakończona, królestwo Jinno wygrało Wielka Wojne Gratulacje!")                game.set_event_flag("chunjo", 0)                game.set_event_flag("jinno", 0)                game.set_event_flag("shinsoo", 0)                game.set_event_flag("wojna_krolestw", 0)                clear_server_timer("czas_trwania_wojny")                warp_all_to_village( pc.get_map_index() , 15 )            elseif game.get_event_flag("chunjo") == game.get_event_flag("ilosc_graczy_do_zabicia") then                notice_all("[Wojna Królestw] Wojna zakończona, królestwo Chunjo wygrało Wielka Wojne Gratulacje!")                game.set_event_flag("chunjo", 0)                game.set_event_flag("jinno", 0)                game.set_event_flag("shinsoo", 0)                game.set_event_flag("wojna_krolestw", 0)                clear_server_timer("czas_trwania_wojny")                warp_all_to_village( pc.get_map_index() , 15 )            elseif game.get_event_flag("shinsoo") == game.get_event_flag("ilosc_graczy_do_zabicia") then                notice_all("[Wojna Królestw] Wojna zakończona, królestwo Shinsoo wygrało Wielka Wojne Gratulacje!")                game.set_event_flag("chunjo", 0)                game.set_event_flag("jinno", 0)                game.set_event_flag("shinsoo", 0)                game.set_event_flag("wojna_krolestw", 0)                clear_server_timer("czas_trwania_wojny")                warp_all_to_village( pc.get_map_index() , 15 )            end        end 

Pewnie zastanawiasz się dlaczego w tym kawałku jest timer (sekundowy) więc odpowiedź brzmi:
Bez tego timera wynik będzie nam pokazywało o 1 do tyłu ponieważ "LUA" nie nadąży jednocześnie zapisać zabójstwa i w tym samym momencie wyświetlić jego wartość.

Jeśli chcesz dodać kolejną ilość zabójstw oraz czas dodajesz go do tablicy

local czas_wojny ={                [1] = {"20 minut - 500 graczy", 20, 500},                [2] = {"20 minut - 1000 graczy", 20, 1000},                [3] = {"20 minut - 2000 graczy", 20, 2000},                [4] = {"30 minut - 3500 graczy", 30, 3500},                [5] = {"40 minut - 4000 graczy", 40, 4000},                [6] = {"50 minut - 5500 graczy", 50, 5500},                } 

czyli np. [7] = {" 10 minut - 1000 graczy", 10, 1000}, << 1 wpis oznacza informacje dla nas taki opis. 2 wpis to czas w minutach 3 wpis to ilość graczy do zabicia dla całego królestwa.

Jesli quest Ci nie działa poprawnia oznacza to że coś spierdoliłeś xD lub nie masz wgranych kolorów do swoich plików serwerowaych :
say_malina , say_zloto , say_blekit .... itp. 


9y7a1k.jpg

Opublikowano

Nie wiem, ale mi w ogóle nie wyświetla ile osób jest z Shinsoo itp "0" jest napisane i po zabiciu nic się nie dzieje :(

 

Sprawdzałem też po połączeniu 2 questów w 1 i też nic :<

Opublikowano

a jesteś na mapie o indexie 181 ?
jeśli nie to zmień w quescie wszystkie

pc.get_map_index() == 181
na swój index
Opublikowano

Nie wiem czy mam ci to tłumaczyć jak jakiemuś dziecku ;p

Jak wgrałeś questa to wpisz w grze na ch1-4 (/ reload q) wtedy będziesz mógł uruchomic event. I jak to zrobisz zrob relog będziesz miał możliwość przeteleportowania się z pozycji questa (listu) następnie jak już sie przeniesiesz wpisz jeszcze raz (/ reload q) ponieważ trzeba odświeżyć questy na ch99 , game99. Jeśli nie chcesz tego zrobić to po prostu zrestartuj server i po problemie :)

 

cf2p4p.jpg

Opublikowano

Nie wiem czy mam ci to tłumaczyć jak jakiemuś dziecku ;p

Jak wgrałeś questa to wpisz w grze na ch1-4 (/ reload q) wtedy będziesz mógł uruchomic event. I jak to zrobisz zrob relog będziesz miał możliwość przeteleportowania się z pozycji questa (listu) następnie jak już sie przeniesiesz wpisz jeszcze raz (/ reload q) ponieważ trzeba odświeżyć questy na ch99 , game99. Jeśli nie chcesz tego zrobić to po prostu zrestartuj server i po problemie :)

 

cf2p4p.jpg

Ojj sory, zapomniałem napisać, że działa .... źle po prostu coś wgrało za 2 razem zadziałało.

Że ci się chciało ss robić no no dzięki, że chciałeś pomóc :)

Opublikowano

1. Daję np. na 20 minut i 500 graczy i odlicza od ponad 1000 minut jak się kliknie list.

Ale odlicza np. po 50, więc myślę, że jest 20 minut, ale chodzi o to, że pisze za dużo... xD

2. Wywala z mapki eventowej postać, która ubije kogoś. Myślę, że powinno być na odwrót, albo wgl nie powinno logać.. x.x

(sprawdzałem już. jest tak za każdym razem) ;d

1377019234-U697852.png


Opublikowano

co do czasu to troszke trzeba edytować (może wrzuce poprawiony czas) ;p
a jeśli chodzi o kwestie wywalania to u mnie nie ma takiego problemu

Opublikowano

Fajny quest, szukałem go like dla ciebie. A tak a propo skąd masz Dwu-rękę taką fajną?

Jeżeli Ci pomogłem. Kliknij 1387468256-U352037.png, Dzięki :)

Opublikowano

no bo te timery sa jakieś walnięte ;D jak się uruchomi je na innym ch1 a wojna jest na ch99 to jakoś nie do końca działają . jak będe miał czas i chęci to poprawie tego questa :) ale śmiało możesz to zrobić sam... wolna ręka

Opublikowano

@UP

 

Nie no ja w lua jestem amator to nawet pewnie nie będę wiedział ocb, ale bardzo bym prosił, abyś wrzucił poprawioną wersję. Strasznie podoba mi się ten Event :). Wielkie Dzięki i tak za to.

rooney10.jpg

 

Hi MPC.

Opublikowano

Użyj wszędzie server_timer, jest on dla całego serwera.

timer tylko dla jednego gracza.

Przecież jest w tym quescie server_timer ^^ tyle to wiem że timer dla jednego gracza server_timer dla całego serwera :)

 

Mi zaś nie zakańcza wojny ;x

MI normalnie zakończa wojnę. zawsze możesz zrezygnować z czasu i ustawić tylko ilość zabójstw jak dojdzie do maxa wojna się zakónczy a po 15 sec wszyscy zostaną przeteleportowani do M1

warp_all_to_village( pc.get_map_index() , 15 )
:)
Opublikowano

Po upłynięciu czasu pada mi ch1 a ch99 (tam mam wojne) działa. Odpalam ch1, patrzę w list i czas leci na '-'. Nie wiem czy ja coś zepsułem czy tak było...

rooney10.jpg

 

Hi MPC.

Opublikowano

czas leci na - ponieważ wojna powinna się zakończyć ale jednak tak się nie stało. i czas nadal jest odejmowany.
poprawie kiedyś tego questa. ^^

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...