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

RegisterHamFromEntity

Dodane 03.05.2010 23:34 przez: Vertricus
#
  


Opis

Funkcja pozwala przechwycić oraz modyfikować zdarzenia silnika gry.

Składnia

RegisterHamFromEntity()

Typ

Natywny

Notatki

Ham:function - Zdarzenie które chcemy przechwycić (Spis wszystkich znajduje się w ham_const.inc)
EntityId - indeks bytu dla którego chcemy przechwycić dan zdarzenia
Callback - Funkcja w pluginie która zostanie wywołana
Post - Funkcja ma się wykonać przed Post=0, czy po danym zdarzeniu Post=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>
new bool:BotRegister=false
public plugin_init()
{
	register_plugin( "Przyklad uzycia RegisterHamFromEntity", "1.0", "Amxx.pl" )
}
public client_authorized(id)
{
	if (is_user_bot(id) && !BotRegister)
	{
		RegisterHamFromEntity(Ham_TakeDamage, id, "Fw_BotTakeDamage", 0)
		BotRegister = true
	}
}
public Fw_BotTakeDamage(id, idinflictor, idattacker, Float:damage, damagebits)
{
	SetHamParamFloat(4, damage*2.0) //Obrazenia dla botow beda 2 razy wieksze
	
	return HAM_HANDLED
}

Edytowane 03.05.2010 23:36 przez: Vertricus
  




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