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
 

Japer - zdjęcie

Japer

Rejestracja: 02.11.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 27.04.2013 13:45
-----

#200983 forward lub funkcja wykrywająca ratowanie hostów

Napisane przez R3X w 29.12.2010 19:23

Forwardu nie ma, ale możesz złapać log tworzony po przechwyceniu czy uratowaniu zakładników
register_logevent("usedHostage", 3, "1=triggered", "2=Touched_A_Hostage");
info o graczu jest ukryte w pierszym argumencie (tym o numerze 0), musisz dodatkowo zrobić read_ logargv+parse_loguser

public usedHostage(){
    new uid, szInfo[64];
    read_logargv(0, szInfo, 63);
    parse_loguser(szInfo, szInfo, 63, uid);
    new id = find_player("k", uid);
}

To jest przechwycenie, uratowanie to będzie:
register_logevent("rescueHostage", 3, "1=triggered", "2=Rescued_A_Hostage");
public rescueHostage(){

}

  • +
  • -
  • 1


#187479 Użycie returnów

Napisane przez R3X w 11.11.2010 15:31

Zwracanie tych stałych w Pawnie pod AMXX ma sens w funkcjach, które reagują na zdarzenia. Każda funkcja opisana jako forward, np.
forward client_connect(id);
oraz każda funkcja podpięta pod zdarzenie, wiadomość czy komendę.
register_event("nazwaZdarzenia", "nazwaFunkcji", "flagi")

Po wykonaniu danej funkcji do modułu wraca wartość, którą zwróciłeś w przypadku podawania nazwy funkcji w "" lub największa z nich w przypadku forwardów globalnych. Ta wartość decyduje co się stanie dalej

PLUGIN_CONTINUE - zdarzenie jest kontynuowane
PLUGIN_HANDLED - zdarzenie jest przerywane

jest jeszcze
PLUGIN_HANDLED_MAIN - zdarzenie jest przerywane i żaden następny plugin nie otrzyma nawet informacji o nim


PLUGIN_HANDLED nie zawsze działa, często eventy można zatrzymać wyłącznie rejestrowane jako wiadomości (register_message)



Te stałe dotyczą modułu rdzenia i engine. Fakemeta i Ham mają własne stałe, ale ich działanie mniej więcej odpowiada temu schematowi
  • +
  • -
  • 1