Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

plugin_end i client_disconnect


  • Zamknięty Temat jest zamknięty
8 odpowiedzi w tym temacie

#1 diggs

    Wszechwidzący

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 20.06.2011 16:13

Witam, pytanie dotyczy dwóch funkcji z tytułu tematu. Chodzi o to która funkcja wykona się pierwsza przy zmianie mapy plugin_end czy client_disconnect. Do tej pory w pluginie mam wykonanie paru czynności w client_disconnect i myślę czy nie przenieść ich do plugin_end i wykonać ich dla wszystkich graczy obecnych na serwerze, ponieważ tak było by szybciej i wydajniej ale teraz pytanie która funkcja będzie wywołana szybciej.

EDIT.
Ponieważ nie wszyscy mogli zrozumieć o co mi chodzi.

Jeśli w pluginie mam wyżej podane funkcje to przy zmianie mapy która z tych funkcji będzie wykonana jako pierwsza, to znaczy najpierw gracz wychodzi (przymusowo) z serwera przy zmianie mapy czy najpierw kończy się plugin (plugin_end - koniec mapy).

Dodam że przy zmianie mapy na 100% wykonuję się funkcja client_disconnect ponieważ gracz przy zmianie mapy robi jakby przymusowego reconnecta.

Użytkownik diggs edytował ten post 20.06.2011 20:19

  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#2 Nenczoks

    Banned

  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 21.06.2011 08:45

Plugin_end - koniec mapy.
client_disconnect - gracz, który podłącza się.
Więc client_disconnect "wywoła" jak to napisałeś się pierwszy. I będzie ono ciągle, jak dany gracz wbijał na serwer.
Możesz też użyć eventu przy starcie każdej rundy.

Użytkownik Nenczoks edytował ten post 21.06.2011 08:46


#3 diggs

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 21.06.2011 14:35

client_disconnect - jest to rodzaj eventu a raczej forwardu, a ścieślej funkcja która go obsługuje. To zdarzenie jest wbudowane w amxx'a i w tym przypadku funkcja client_disconnect jest wywoływana przez zdarzenie - wyjścia gracza z serwera -

Ponawiam pytanie czy najpierw przy zmianie mapy gracz wychodzi z serwera (czyli wywołana będzie funkcja client_disconnect) czy może jest wywoływana funkcja która ma zakończyć w jakiś szczególny sposób działanie pluginu (plugin_end).

Lub drugie pytanie, jak sprawić by jakieś czynności w pluginie wykonały się dokładnie przed zmianą mapy, ale przed rozłączeniem graczy z serwerem (rozłączeniem które jest wymuszone.




Co do pierwszego pytania można na nie odpowiedzieć samemu za pomocą prostej sztuczki - w obu funkcjach zrobić wpis do logów dla każdej inny i po prostu zmienić mapę, ale (zresztą jak zawsze jest jakieś "ale") czy zawsze funkcje będą wywoływane w takiej samej kolejności.

PS. Zawracam tak trochę wam dupe, bo nie mam za bardzo czasu tego sam sprawdzić, a jak już osiądę do pisania kolejnej wersji pluginu w którym będzie mi to potrzebne chciałbym już znać odpowiedź. Dodatkową motywacją, aby zapytać forumowiczów jest bardzo duża chęć rozdawania plusików przeze mnie.

Użytkownik diggs edytował ten post 21.06.2011 14:37

  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#4 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 21.06.2011 14:42

Przed zmianą mapy to chyba dobrym rozwiązaniem będzie task ;]
Dokumentacja AMXX.pl: Core >> amxmodx > set_task
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#5 diggs

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 21.06.2011 14:54

Niestety nie, mapa trwa minimum 4 rundy, dodatkowo gracze mogą ją przedłużyć, a admin zmienić ją wcześniej. A to co się ma wykonać przed zmianą mapy to zapis danych do MySQL. Zabieg ten ma na celu zoptymalizowanie pluginu dodam że taki zabieg dość mocno wpłynie na wydajność samego pluginu i szybkość zapisu tych danych.
  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#6 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 21.06.2011 15:16

Kiedyś pisałem pewien plugin do zliczania fragów itp.
próbowałem zapisu w public_end() ale było to za późno, po fakcie rozłączenia graczy.
Co do momentu przed rozłączeniem gracza z powodu zmiany mapy, nie spotkałem się aby istniał jakiś event/forward na to.
  • +
  • -
  • 1

#7 diggs

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 21.06.2011 16:35

dzięki Knopers, jeśli można jak rozwiązałeś swój problem??
  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#8 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 21.06.2011 19:39

Zapis pozostawiłem w client_disconnect.
  • +
  • -
  • 1

#9 diggs

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 21.06.2011 19:41

Ehhh chyba tez tak będę musiał zrobić :/
Dzięki.
  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych