GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

OnPlayerWeaponShot sorunsalı

Başlatan VERITAS, 21 Şubat 2022, 00:17:18

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

VERITAS



Komut sadece virtualworld 0 iken çalışıyor. Diğer dünyalarda nasıl aktif edebilirim?


mojo

OnPlayerWeaponShot bir komut değil callback öncelikle biliyorsundur muhtemelen ama yine de belirtmek istedim. Dokümanlara baktığımda virtual world ile alakalı bir şeye rastlamadım fakat aklıma bir şey geldi. weapon-config kütüphanesini kullanıyor musunuz? Belki de onun etkisi olmuş olabilir.

Çok mantıklı bir çözüm olmayacak belki ama oyuncunun virtual world id'sini tuttuğun bir değişkene sahipsen onu kullanarak eşitleme ve ardından kontrol yapabilirsin fakat bunu son çare yapmanı öneririm çünkü mantıklı değil.


VERITAS

Alıntı yapılan: kaufman - 21 Şubat 2022, 15:47:46
OnPlayerWeaponShot bir komut değil callback öncelikle biliyorsundur muhtemelen ama yine de belirtmek istedim. Dokümanlara baktığımda virtual world ile alakalı bir şeye rastlamadım fakat aklıma bir şey geldi. weapon-config kütüphanesini kullanıyor musunuz? Belki de onun etkisi olmuş olabilir.

Çok mantıklı bir çözüm olmayacak belki ama oyuncunun virtual world id'sini tuttuğun bir değişkene sahipsen onu kullanarak eşitleme ve ardından kontrol yapabilirsin fakat bunu son çare yapmanı öneririm çünkü mantıklı değil.

weapon-config kütüphanesini kullanmıyorum. Dediğiniz gibi oyuncunun virtual world id'si ile bir deneme yaptım yine de işe yaramadı. Sadece virtual world 0'da iken bu callback çalışıyor.


Hasan Sangrento

OnPlayerWeaponShot kullanmak yerine daha stabilize bir şekilde çalışan weapon-config eklentisini deneyebilirsiniz. Eğer linkine ulaşmak isterseniz buraya tıklayabilirsiniz. OnPlayerDamage callback'i sayesinde bütün VW'lerde kullanabilirsiniz.


mojo

Alıntı yapılan: VERITAS - 21 Şubat 2022, 17:42:54
Alıntı yapılan: kaufman - 21 Şubat 2022, 15:47:46
OnPlayerWeaponShot bir komut değil callback öncelikle biliyorsundur muhtemelen ama yine de belirtmek istedim. Dokümanlara baktığımda virtual world ile alakalı bir şeye rastlamadım fakat aklıma bir şey geldi. weapon-config kütüphanesini kullanıyor musunuz? Belki de onun etkisi olmuş olabilir.

Çok mantıklı bir çözüm olmayacak belki ama oyuncunun virtual world id'sini tuttuğun bir değişkene sahipsen onu kullanarak eşitleme ve ardından kontrol yapabilirsin fakat bunu son çare yapmanı öneririm çünkü mantıklı değil.

weapon-config kütüphanesini kullanmıyorum. Dediğiniz gibi oyuncunun virtual world id'si ile bir deneme yaptım yine de işe yaramadı. Sadece virtual world 0'da iken bu callback çalışıyor.
PAWN Kodu: Seç
// örnek bir vw değişkeni, enum içerisindedir muhtemelen
new virtualWorld;

// herhangi bir yerde yapılan örnek atama
virtualWorld = 22;

// OnPlayerWeaponShot callbackinde kullanmak için
virtualWorld = GetPlayerVirtualWorld(playerid);

if(GetPlayerVirtualWorld(playerid) == 0 || GetPlayerVirtualWorld(playerid) == virtualWorld)
{
    SendClientMessage(playerid, -1, "Ateş ettin.");
}
Bunun kesinlikle mantıklı bir çözüm olduğunu söylemiyorum. Sadece deneyip sonuçları paylaşırsan bir fikir oluşabilir. Ayrıca virtual world değişkenlerinizi veya atamalarınızı paylaşabilir misiniz?

Bir şeyden dolayı bozulduğu belli çünkü bu normal bir durum değil diye biliyorum.

Alıntı yapılan: Hasan Sangrento - 21 Şubat 2022, 19:15:09
OnPlayerDamage callback'i sayesinde bütün VW'lerde kullanabilirsiniz.
OnPlayerDamage oyuncu hasar verdiğinde çağırılır fakat OnPlayerWeaponShot oyuncu ateş ettiğinde çağırılıyor.
Son düzenlenme: 21 Şubat 2022, 22:35:46 kaufman

Hasan Sangrento

Alıntı yapılan: kaufman - 21 Şubat 2022, 22:26:05
Alıntı yapılan: VERITAS - 21 Şubat 2022, 17:42:54
Alıntı yapılan: kaufman - 21 Şubat 2022, 15:47:46
OnPlayerWeaponShot bir komut değil callback öncelikle biliyorsundur muhtemelen ama yine de belirtmek istedim. Dokümanlara baktığımda virtual world ile alakalı bir şeye rastlamadım fakat aklıma bir şey geldi. weapon-config kütüphanesini kullanıyor musunuz? Belki de onun etkisi olmuş olabilir.

Çok mantıklı bir çözüm olmayacak belki ama oyuncunun virtual world id'sini tuttuğun bir değişkene sahipsen onu kullanarak eşitleme ve ardından kontrol yapabilirsin fakat bunu son çare yapmanı öneririm çünkü mantıklı değil.

weapon-config kütüphanesini kullanmıyorum. Dediğiniz gibi oyuncunun virtual world id'si ile bir deneme yaptım yine de işe yaramadı. Sadece virtual world 0'da iken bu callback çalışıyor.
PAWN Kodu: Seç
// örnek bir vw değişkeni, enum içerisindedir muhtemelen
new virtualWorld;

// herhangi bir yerde yapılan örnek atama
virtualWorld = 22;

// OnPlayerWeaponShot callbackinde kullanmak için
virtualWorld = GetPlayerVirtualWorld(playerid);

if(GetPlayerVirtualWorld(playerid) == 0 || GetPlayerVirtualWorld(playerid) == virtualWorld)
{
    SendClientMessage(playerid, -1, "Ateş ettin.");
}
Bunun kesinlikle mantıklı bir çözüm olduğunu söylemiyorum. Sadece deneyip sonuçları paylaşırsan bir fikir oluşabilir. Ayrıca virtual world değişkenlerinizi veya atamalarınızı paylaşabilir misiniz?

Bir şeyden dolayı bozulduğu belli çünkü bu normal bir durum değil diye biliyorum.
Alıntı yapılan: Hasan Sangrento - 21 Şubat 2022, 19:15:09
OnPlayerDamage callback'i sayesinde bütün VW'lerde kullanabilirsiniz.
OnPlayerDamage oyuncu hasar verdiğinde çağırılır fakat OnPlayerWeaponShot oyuncu ateş ettiğinde çağırılıyor.
sizin yazdığınız komutta kişinin VW'si 0 olduğunda veyahut kişinin VW'sini alıp daha önce çektirdiğiniz ve atadığınız variable ile karşılaştırıyor, herhangi bir olumlu sonuç vermez. Ekstra olarak eğer weapon-config yüklenirse OnPlayerWeaponShot callbackini düzeltiyor, stabil çalışacağını düşünüyorum eğer düzelmezse yeni bir alternatif geliştirebilir.


mojo

Alıntı yapılan: Hasan Sangrento - 21 Şubat 2022, 22:40:27
sizin yazdığınız komutta kişinin VW'si 0 olduğunda veyahut kişinin VW'sini alıp daha önce çektirdiğiniz ve atadığınız variable ile karşılaştırıyor, herhangi bir olumlu sonuç vermez. Ekstra olarak eğer weapon-config yüklenirse OnPlayerWeaponShot callbackini düzeltiyor, stabil çalışacağını düşünüyorum eğer düzelmezse yeni bir alternatif geliştirebilir.
Hayır, dikkatli bakın. virtualWorld değişkenini yeniden OnPlayerWeaponShot callback'i altında GetPlayerVirtualWorld'e eşitledim. Buna rağmen yine de mantıklı bir çözüm olmadığını zaten belirtmiştim, bu sadece test amaçlı.

OnPlayerWeaponShot callback'i virtual world konusunda bozuk değil ki düzeltsin. weapon-config içeriğinde de buna dair bir şeye rastlayamadım. Bozuk olan yardım talebinde bulunan arkadaşın scripti muhtemelen.
https://github.com/oscar-broman/samp-weapon-config/blob/master/weapon-config.inc


VERITAS

Weapon-config'i kurdum fakat OnPlayerWeaponShot hala sadece virtual world 0 iken çalışıyor. Şu an farklı virtual world lerde iken test ettim ve sorun çıkmadı. Sorun başka bir mape giderken oluyor.

Polis mapi var oraya geçiş yapınca o map içerisinde ateş edilince garip bir şekilde callback çalışmıyor. Map ise havada bulutların üzerinde bir yere inşaa edilmiş bir vaziyette. Mapten aşağıya atlayınca yeryüzüne inince callback çalışmaya başlıyor garip bir şekilde.


VERITAS

Sorunu şu an saptadım. Dynamic bir objeye ateş edince callback çalışmıyor arkadaşlar. Nasıl çözebiliriz?


Hasan Sangrento

Alıntı yapılan: VERITAS - 22 Şubat 2022, 00:13:22
Sorunu şu an saptadım. Dynamic bir objeye ateş edince callback çalışmıyor arkadaşlar. Nasıl çözebiliriz?
Çünkü adı üstünde dinamik bir obje, çağırdığın fonksiyon bir kişiye ateş açtığında geliyor. https://github.com/samp-incognito/samp-streamer-plugin/issues/73 burayı kontrol edebilirsiniz, daha detaylı açıklanmış.


mojo

Alıntı yapılan: VERITAS - 22 Şubat 2022, 00:13:22
Sorunu şu an saptadım. Dynamic bir objeye ateş edince callback çalışmıyor arkadaşlar. Nasıl çözebiliriz?
Sorunun bu olmadığını anlamıştım. streamer eklentisinde OnPlayerShotDynamicObject diye bir callback bulunuyor:

https://github.com/samp-incognito/samp-streamer-plugin/wiki/Callbacks


VERITAS

Çok teşekkürler arkadaşlar sorun dediğiniz üzere "OnPlayerShotDynamicObject" callback ile çözüldü. :) K/K