Ana içeriğe geç

OnPlayerWeaponShot

Açıklama

Bu fonksiyon, oyuncu ateş ettiğinde çağrılır. Bu fonksiyon ateşli silahları destekler. Sadece yolcu drive-by'ını destekler.(buna sürücünün drive-by atması, sea sparrow/hunter gibi araçların silahları dahil değildir.).

ParametreAçıklama
playeridAteş eden oyuncunun ID'si.
weaponidAteşlenen silahın silah ID'leri ID'si.
hittypeOyuncunun vuruş türü. türler. (oyuncu, obje veya araç gibi).
hitidVurulan oyuncunun, objenin veya aracın ID'si.
fXAteşlenen merminin gittiği X koordinatı.
fYAteşlenen merminin gittiği Y koordinatı.
fZAteşlenen merminin gittiği Z koordinatı.

Çalışınca Vereceği Sonuçlar

0 - Merminin hasar vermesini önleyin.

1 - Merminin hasar vermesini sağlayın.

Filterscript komut dosyalarında her zaman ilk olarak çağrılır, bu nedenle 0 döndürmek, diğer komut dosyalarının da görmesini engeller.

Örnek

public OnPlayerWeaponShot(playerid, WEAPON:weaponid, BULLET_HIT_TYPE:hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
new szString[144];
format(szString, sizeof(szString), "Silah %i ateşlendi. vuruş türü: %i vurulan id: %i koordinatlar: %f, %f, %f", weaponid, hittype, hitid, fX, fY, fZ);
SendClientMessage(playerid, -1, szString);
return 1;
}

Notlar

ipucu

Bu fonksiyon, yalnızca gecikme telafisi etkinleştirildiğinde çağrılır. İsabet türü eğer:

  • BULLET_HIT_TYPE_NONE ise : fX, fY ve fZ parametreleri normal koordinatlardır, eğer hiçbir şey vurulmadıysa koordinatlar için 0,0 döner. (örneğin, merminin ulaşamadığı uzak nesne)
  • Diğerleri ise : fX, fY ve fZ, hitid'ye göre ofsetlerdir.
ipucu

GetPlayerLastShotVectors, detaylı mermi vektör bilgileri için bu çağrıda kullanılabilir.

warning

Bilinen Hata(lar): Şoför olarak araca ateş ettiyseniz veya hedef etkinken arkanıza bakıyorsanız fonksiyon çağrılmaz. Araç içindeki bir oyuncuya ateş ediyorsanız vuruş tipi BULLET_HIT_TYPE_VEHICLE (vurulan oyuncunun araç ID'si) olarak geçer. Hiç BULLET_HIT_TYPE_PLAYER olarak çağrılmaz.

SA-MP 0.3.7 sürümünde kısmen düzeltildi: Sahte silah verileri kötü niyetli bir kullanıcı tarafından gönderilirse, diğer oyuncu istemcileri donabilir veya çökebilir. Bunu önlemek için, ateşlenen silahın gerçekten mermi ateşleyip ateşleyemeyeceğini kontrol edin.

Bağlantılı Fonksiyonlar