Merhabalar, bıçağın arkadan kesmesini engelleme nasıl yapılıyor?
Nasıl yani? Bıçak ile arkadan sağ tık yapıp öldürmeyi mi yoksa hasardan mı bahsediyorsun?
Sağ tık yapıp arkadan öldürme.
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.
Alıntı yapılan: TITAN_ - 25 Ocak 2020, 19:06:23Nası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.
(https://i.hizliresim.com/bvqgXb.gif)
Büyük ihtimal bundan söz ediyor.
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.
Alıntı yapılan: ThePosition - 25 Ocak 2020, 23:11:44OnPlayerUpdate() 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
Alıntı yapılan: ReaT - 26 Ocak 2020, 02:32:27Alıntı yapılan: ThePosition - 25 Ocak 2020, 23:11:44OnPlayerUpdate() 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.
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.
Alıntı yapılan: ThePosition - 25 Ocak 2020, 23:11:44OnPlayerUpdate() 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.
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.
OnPlayerUpdate public'ine ekle.
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);
}
}
Alıntı yapılan: Muteo - 29 Ocak 2020, 23:19:13OnPlayerUpdate public'ine ekle.
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