note Help Needed
This wiki is the result of an ongoing community effort — thank you all for helping!
If you want to provide changes to this page then please click here.
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.
warning
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.