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
 

Dokumentacja AMX Mod X v. 11.5 Uzupełnionych funkcji: Sortowanie: Według modułów | Alfabetycznie
Szukaj funkcji:

3rdParty
Core
Cstrike
CSX
DoDX
Engine
ESF
Fakemeta
Fun
fun
GeoIP
HamSandwich
JSON
NS
nVault
REAPI
Regex
Sockets
Sql
SQLx
dbi
TFCX
TSFUN
TSX
tsx

RegisterHam

Dodane 03.05.2010 23:15 przez: Vertricus
#
  


Opis

Funkcja pozwala przechwycić oraz modyfikować zdarzenia silnika gry.

Składnia

RegisterHam()

Typ

Natywny

Notatki

Ham:function - Zdarzenie które chcemy przechwycić (Spis wszystkich znajduje się w ham_const.inc)
const EntityClass[] - Nazwa klasy bytu, który zaalarmuje funkcję Callback w przypadku zainstnienia przechwyconego zdarzenia.
const Callback[] - Funkcja w pluginie która zostanie wywołana
Post - Funkcja ma się wykonać przed wartość 0, czy po danym zdarzeniu wartość 1

Funkcja dodatkowo zwraca uchwyt którego można użyć do EnableHamForward() i DisableHamForward()

Do modyfikacji danych wyjściowych służą funkcje SetHamParam* oraz
#define HAM_IGNORED		1	/** Wywołuje funkcje i zwraca normalna wartość */
#define HAM_HANDLED 2 /**< Wywołuje funkcje jednak informuje moduł o wykonaniu czegoś i zwraca normalną warość */
#define HAM_OVERRIDE 3 /**< Wywołuje funkcje, jednak zwraca cokolwiek ustalone za pomocą SetHamReturn*() */
#define HAM_SUPERCEDE 4 /**< Blokuje wywołanie funkcji */


Przykład

#include <amxmodx>
#include <hamsandwich>
public plugin_init()
{
	register_plugin( "Przyklad uzycia RegisterHam", "1.0", "Amxx.pl" )
	RegisterHam(Ham_Spawn, "player", "Fw_PlayerSpawnPost", 1)
	RegisterHam(Ham_TakeDamage, "player", "Fw_PlayerTakeDamage", 0)
}
public Fw_PlayerSpawnPost(id)
{
	if (is_user_alive(id))
		client_print(id, print_chat, "Wlasnie sie zrespiles")
}
public Fw_PlayerTakeDamage(id, idinflictor, idattacker, Float:damage, damagebits)
{
	client_print(id, print_chat, "Masz szczescie, obrazenia zostaly zablokowane")
	
	return HAM_SUPERCEDE
}

Edytowane 22.06.2011 11:50 przez: Knopers
  




Zakaz używania, kopiowania i innego wykorzystywania treści witryny oraz innych materiałów w niej zawartych bez zgody autorów. Wszelkie prawa zastrzeżone. © 2009-2024