open.mp | Open Multiplayer
  • Home
  • FAQ
  • Forum
  • Servers
  • Docs
  • Blog
  • Login
  • Englishاللغة العربيةar-TNবাংলাbosanski jezikDeutschΕλληνικάEspañoleestiفارسیFrançaisHrvatskimagyarBahasa IndonesiaItaliano日本語ქართულიlietuvių kalbaNederlandsNorskjęzyk polskiPortuguêsRomânăРусскийslovenski jezikсрпски језикไทยWikang TagalogTürkçeУкраїнськаاردوTiếng Việt简体中文繁體中文

warning

Esta callback fue implementada en SA-MP 0.3z y no funcionará en versiones anteriores.

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).

NombreDescripción
playeridEl ID del jugador que disparó un arma.
weaponidEl ID del arma que usó el jugador para disparar.
hittypeEl tipo de cosa a la que impactó el disparo (nada, jugador, vehículo, o objeto de jugador).
hitidEl ID del jugador, vehículo, o objeto de jugador al que el disparo impactó.
fXLa coordenada X en la que golpeó el disparo.
fYLa coordenada Y en la que golpeó el disparo.
fZLa 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, weaponid, 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 como BULLET_HIT_TYPE_PLAYER en absoluto. [Click acá para una posible solución] 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.

Community

  • Discord
  • Instagram
  • Twitter
  • Twitch
  • YouTube
  • Facebook
  • VK

More

  • SA-MP
  • Blog
  • GitHub