OnPlayerWeaponShot
Descripción
Este callback se llama cuando un jugador efectúa un disparo de un arma. Solo soporta armas que usen balas. Sólo soporta drive-by por parte del pasajero (no drive-by del conductor, tampoco disparos de seasparrow / hunter).
Nombre | Descripción |
---|---|
playerid | El ID del jugador que disparó un arma. |
WEAPON:weaponid | El ID del arma que usó el jugador para disparar. |
BULLET_HIT_TYPE:hittype | El tipo de cosa a la que impactó el disparo (nada, jugador, vehículo, o objeto de jugador). |
hitid | El ID del jugador, vehículo, o objeto de jugador al que el disparo impactó. |
Float:fX | La coordenada X en la que golpeó el disparo. |
Float:fY | La coordenada Y en la que golpeó el disparo. |
Float:fZ | La coordenada Z en la que golpeó el disparo. |
Devoluciones
1 - Prevendrá a otros filterscripts de recibir este callback.
0 - Indica que este callback será pasado al siguiente filterscript.
Siempre se llama primero en filterscripts.
Ejemplos
public OnPlayerWeaponShot(playerid, WEAPON:weaponid, BULLET_HIT_TYPE:hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
new szString[144];
format(szString, sizeof(szString), "Arma %i disparada. hittype: %i hitid: %i pos: %f, %f, %f", weaponid, hittype, hitid, fX, fY, fZ);
SendClientMessage(playerid, -1, szString);
return 1;
}
Notas
tip
Este callback sólo se llama cuando lag compensation está activado. Si hittype es:
BULLET_HIT_TYPE_NONE
: Los parámetros fX, fY y fZ son coordenadas normales, devolverá 0.0 para coordenadas si nada fue impactado (ej. objeto lejano que la bala no puede alcanzar);- Otros: Los parámetros fX, fY y fZ son compensaciones relativas al hitid.
tip
GetPlayerLastShotVectors puede ser usado en este callback para obtener información vectorial más detallada de la bala.
aviso
Bugs Conocido(s):
- No se llama si disparaste en un vehículo como el conductor o si estás mirando hacia atrás con el apuntado activado (disparando hacia el aire).
- Se llama como
BULLET_HIT_TYPE_VEHICLE
con el hitid correcto (el vehicleid del vehículo impactado) si estás disparando a un jugador que está en un vehículo. Este no se va a llamar comoBULLET_HIT_TYPE_PLAYER
en absoluto. - Parcialmente arreglado en SA-MP 0.3.7: Si información de armas (weapondata) falsa en eviada por un jugador malicioso, los clientes de otros jugadores pueden congelarse o crashear. Para combatir esto, comprobar si el weaponid reportado es capaz de disparar balas.
Funciones Relacionadas
- GetPlayerLastShotVectors: Devuelve el vector del último disparo que efectuó el jugador.