GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: ReaT - 25 Ocak 2020, 18:12:59

Başlık: Bıçak ile arkadaş kesme engelleme
Gönderen: ReaT - 25 Ocak 2020, 18:12:59
Merhabalar, bıçağın arkadan kesmesini engelleme nasıl yapılıyor?
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: TITAN_ - 25 Ocak 2020, 19:06:23
Nasıl yani? Bıçak ile arkadan sağ tık yapıp öldürmeyi mi yoksa hasardan mı bahsediyorsun?
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: ReaT - 25 Ocak 2020, 22:09:05
Sağ tık yapıp arkadan öldürme.
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: squarepants - 25 Ocak 2020, 23:11:44
OnPlayerUpdate() callback altina :
new targetplayer = GetPlayerTargetPlayer(playerid);
if(GetPlayerTeam(targetplayer) == GetPlayerTeam(playerid) && targetplayer != INVALID_PLAYER_ID)
{
   if(GetPlayerWeapon(playerid) == 4)
   {
        GameTextForPlayer(playerid, "~R~Knife ile takim arkadasina zarar verme!", 5000,3);
        ClearAnimations(playerid);
   }
}
Şu an için deneyemiyorum ama bir dene istersen ^^ , GetPlayerTeam yerine kendi grup değişken ismini yazabilirsin.
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: KAYBETMEYEN - 25 Ocak 2020, 23:12:02
Alıntı yapılan: TITAN_ - 25 Ocak 2020, 19:06:23
Nasıl yani? Bıçak ile arkadan sağ tık yapıp öldürmeyi mi yoksa hasardan mı bahsediyorsun?
Singleplayer GTA'da npclerin arkasına geçip right click + left click ile öldürmekten söz ediyor.
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: KAYBETMEYEN - 25 Ocak 2020, 23:15:28
(https://i.hizliresim.com/bvqgXb.gif)
Büyük ihtimal bundan söz ediyor.
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: ReaT - 26 Ocak 2020, 02:31:19
Alıntı yapılan: xaisen - 25 Ocak 2020, 23:15:28
(https://i.hizliresim.com/bvqgXb.gif)
Büyük ihtimal bundan söz ediyor.
Evet bundan bahsediyorum.
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: ReaT - 26 Ocak 2020, 02:32:27
Alıntı yapılan: ThePosition - 25 Ocak 2020, 23:11:44
OnPlayerUpdate() callback altina :
new targetplayer = GetPlayerTargetPlayer(playerid);
if(GetPlayerTeam(targetplayer) == GetPlayerTeam(playerid) && targetplayer != INVALID_PLAYER_ID)
{
   if(GetPlayerWeapon(playerid) == 4)
   {
        GameTextForPlayer(playerid, "~R~Knife ile takim arkadasina zarar verme!", 5000,3);
        ClearAnimations(playerid);
   }
}
Şu an için deneyemiyorum ama bir dene istersen ^^ , GetPlayerTeam yerine kendi grup değişken ismini yazabilirsin.

Tüm oyunculara istiyorum, tüm oyuncuların değişkeni playerid değil midir?
@ThePosition
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: Akro - 26 Ocak 2020, 03:36:14
Alıntı yapılan: ReaT - 26 Ocak 2020, 02:32:27
Alıntı yapılan: ThePosition - 25 Ocak 2020, 23:11:44
OnPlayerUpdate() callback altina :
new targetplayer = GetPlayerTargetPlayer(playerid);
if(GetPlayerTeam(targetplayer) == GetPlayerTeam(playerid) && targetplayer != INVALID_PLAYER_ID)
{
   if(GetPlayerWeapon(playerid) == 4)
   {
        GameTextForPlayer(playerid, "~R~Knife ile takim arkadasina zarar verme!", 5000,3);
        ClearAnimations(playerid);
   }
}
Şu an için deneyemiyorum ama bir dene istersen ^^ , GetPlayerTeam yerine kendi grup değişken ismini yazabilirsin.

Tüm oyunculara istiyorum, tüm oyuncuların değişkeni playerid değil midir?
@ThePosition

Bu kodu kullanarak zaten tüm oyunculara geçerli kılmış oluyorsun. Elinde bıçak olan bir oyuncu sağ tıkladığında ekrana uyarı mesajı yazdırır ve animasyon sıfırlanır. Dilersen mesajı kaldırabilirsin.
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: squarepants - 26 Ocak 2020, 15:53:32
Tüm oyuncuların varsayılan olarak takım numarası 0 olacaktır ve herhangi bir sorun çıkacağını sanmıyorum , eğer çıkarsa tekrar yardımcı olmaya çalışırım.
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: CaLderoN - 26 Ocak 2020, 16:30:53
Alıntı yapılan: ThePosition - 25 Ocak 2020, 23:11:44
OnPlayerUpdate() callback altina :
new targetplayer = GetPlayerTargetPlayer(playerid);
if(GetPlayerTeam(targetplayer) == GetPlayerTeam(playerid) && targetplayer != INVALID_PLAYER_ID)
{
   if(GetPlayerWeapon(playerid) == 4)
   {
        GameTextForPlayer(playerid, "~R~Knife ile takim arkadasina zarar verme!", 5000,3);
        ClearAnimations(playerid);
   }
}
Şu an için deneyemiyorum ama bir dene istersen ^^ , GetPlayerTeam yerine kendi grup değişken ismini yazabilirsin.
Bu tam bir çözüm sağlamaz. Desenkronizasyon olduğu zaman takım arkadaşı çoktan ölmüş olur. Bu kodla beraber, oyuncuyu öldükten sonra diriltmek daha net bir çözüm olur.
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: TITAN_ - 26 Ocak 2020, 20:10:07
Veya direkmen animasyonu durdurmak yerine adamın arkasına geçip sağ tık yapar yapmaz bıçağı disarm yaptırmak daha mantıklı olur.
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: Muteo - 29 Ocak 2020, 23:19:13
OnPlayerUpdate public'ine ekle.
PAWN Kodu: Seç
    if(GetPlayerAnimationIndex(playerid))
    {
        new animlib[32], animname[32];
        GetAnimationName(GetPlayerAnimationIndex(playerid), animlib, 32, animname, 32);
        if(!strcmp(animlib, "KNIFE", true) && !strcmp(animname, "KILL_PARTIAL", true))
        {
            ClearAnimations(playerid);
        }
    }
Başlık: Ynt: Bıçak ile arkadaş kesme engelleme
Gönderen: ReaT - 03 Şubat 2020, 02:22:53
Alıntı yapılan: Muteo - 29 Ocak 2020, 23:19:13
OnPlayerUpdate public'ine ekle.
PAWN Kodu: Seç
    if(GetPlayerAnimationIndex(playerid))
    {
        new animlib[32], animname[32];
        GetAnimationName(GetPlayerAnimationIndex(playerid), animlib, 32, animname, 32);
        if(!strcmp(animlib, "KNIFE", true) && !strcmp(animname, "KILL_PARTIAL", true))
        {
            ClearAnimations(playerid);
        }
    }
Teşekkürler KK