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

Bıçak ile arkadaş kesme engelleme

Başlatan ReaT, 25 Ocak 2020, 18:12:59

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

ReaT

Merhabalar, bıçağın arkadan kesmesini engelleme nasıl yapılıyor?


TITAN_

Nasıl yani? Bıçak ile arkadan sağ tık yapıp öldürmeyi mi yoksa hasardan mı bahsediyorsun?


ReaT

Sağ tık yapıp arkadan öldürme.


squarepants

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.
Son düzenlenme: 25 Ocak 2020, 23:13:49 ThePosition

KAYBETMEYEN

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.


KAYBETMEYEN


Büyük ihtimal bundan söz ediyor.


ReaT


ReaT

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


Akro

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.

Akro

squarepants

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.


CaLderoN

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.

İletişim: cataltepe@outlook.com.tr
https://linkedin.com/in/omurcataltepe/

TITAN_

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.


Muteo

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);
        }
    }


ReaT

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