---
title: "OnPlayerWeaponShot | open.mp"
description: "Callback ini di panggil ketika seorang pemain melepaskan tembakan dari senjata."
canonical: https://omp.itsneufox.com/id/docs/scripting/callbacks/OnPlayerWeaponShot
language: id
---

# OnPlayerWeaponShot

## Deskripsi

Callback ini dipanggil ketika pemain melepaskan tembakan dari senjata. Hanya senjata yang di dukung. Hanya drive-by penumpang yang di dukung (bukan drive-by pengemudi, dan bukan tembakan burung / pemburu).

| Nama | Deskripsi |
| --- | --- |
| playerid | ID pemain yang menembakkan senjata. |
| WEAPON:weaponid | ID dari [weapon](https://omp.itsneufox.com/id/docs/scripting/resources/weaponids) yang di tembak oleh pemain. |
| BULLET\_HIT\_TYPE:hittype | [type](https://omp.itsneufox.com/id/docs/scripting/resources/bullethittypes) Tersebut dari benda yang di tembakkan (tidak ada, pemain, kendaraan, atau (pemain) objek). |
| hitid | ID pemain, kendaraan atau objek yang tertabrak. |
| Float:fX | Koordinat X yang di tembak. |
| Float:fY | Koordinat Y yang di tembak. |
| Float:fZ | Koordinat Z yang di tembak. |

## Returns

0 - Mencegah peluru menyebabkan kerusakan.

1 - Membiarkan peluru menyebabkan kerusakan.

Itu selalu disebut pertama dalam filterscript sehingga mengembalikan 0 di sana juga memblokir skrip lain agar tidak melihatnya.

## Contoh

```c
public OnPlayerWeaponShot(playerid, WEAPON:weaponid, BULLET_HIT_TYPE:hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
    new szString[144];
    format(szString, sizeof(szString), "Senjata %i telah di tembakkan. hittype: %i   hitid: %i   pos: %f, %f, %f", weaponid, hittype, hitid, fX, fY, fZ);
    SendClientMessage(playerid, -1, szString);
    return 1;
}
```

## Catatan

catatan

Callback ini hanya di panggil ketika kompensasi lag diaktifkan. Jika tipe hit adalah:

-   `BULLET_HIT_TYPE_NONE`: parameter fX, fY dan fZ adalah koordinat normal, akan memberikan 0.0 untuk koordinat jika tidak ada yang terkena (misalnya objek jauh yang tidak dapat dijangkau oleh peluru);
-   Others: fX, fY dan fZ adalah offset relatif kepada hitid.

tips

[GetPlayerLastShotVectors](https://omp.itsneufox.com/id/docs/scripting/functions/GetPlayerLastShotVectors) dapat digunakan dalam callback ini untuk informasi vektor peluru yang lebih detail.

peringatan

Bug yang Diketahui:

-   callback tidak dipanggil jika Anda menembak di kendaraan sebagai pengemudi atau jika Anda melihat ke belakang dengan bidikan di aktifkan (menembak di udara).
-   Disebut sebagai `BULLET_HIT_TYPE_VEHICLE` dengan hitid yang benar (id kendaraan pemain yang dipukul) jika Anda menembak pemain yang berada di dalam kendaraan. Itu tidak akan disebut sebagai `BULLET_HIT_TYPE_PLAYER` sama sekali.
-   Perbaikan sebagian di SA-MP 0.3.7: Jika data senjata palsu dikirim oleh pengguna jahat(chiter), klien pemain lain dapat membeku atau crash. Untuk mengatasi ini, periksa apakah weaponid yang di laporkan benar-benar dapat menembakkan peluru.

## Fungsi Terkait

-   [GetPlayerLastShotVectors](https://omp.itsneufox.com/id/docs/scripting/functions/GetPlayerLastShotVectors): Mengambil vektor tembakan terakhir yang di tembakkan oleh pemain.
