Не отнимаются деньги в стандартных автоматах спранк
проблема в античите на деньги я так понимаю ?
Вид для печати
Не отнимаются деньги в стандартных автоматах спранк
проблема в античите на деньги я так понимаю ?
Именно. Скиньте его
PHP код:
public GetMoney()
{
foreach(Player, i)
{
if(IsPlayerConnected(i))
{
new money = GetPlayerMoney(i);
if(PlayerInfo[i][pMoney] > money)
{
ResetPlayerMoney(i);
GivePlayerMoney(i, PlayerInfo[i][pMoney]);
}
else if(PlayerInfo[i][pMoney] < money)
{
ResetPlayerMoney(i);
GivePlayerMoney(i, PlayerInfo[i][pMoney]);
}
}
}
return ;
}
Тут самым простым вариантом будет либо найти и удалить все автоматы с помощью RemoveBuildingForPlayer, либо опять же искать все автоматы и в найденных точках делать исключения для античита с проверкой анимации (если у игрока анимация использования автомата - не восстанавливать деньги, при этом кол-во денег не должно увеличиваться вместо уменьшения на $1).
Зачем? Достаточно сделать так
Ведь какой нам вред, если читер решит уменьшить себе число денег на руках? Пусть уменьшает! Только себе хуже сделает.PHP код:
public GetMoney()
{
foreach(Player, i)
{
if(IsPlayerConnected(i))
{
new money = GetPlayerMoney(i);
if(PlayerInfo[i][pMoney] > money)
{
ResetPlayerMoney(i);
GivePlayerMoney(i, PlayerInfo[i][pMoney]);
}
else if(PlayerInfo[i][pMoney] < money) PlayerInfo[i][pMoney] = money;
}
}
return ;
}
Да, перепутал. Знаки поменять надо
PHP код:
public GetMoney()
{
foreach(Player, i)
{
new money = GetPlayerMoney(i);
if(PlayerInfo[i][pMoney] < money)
{
ResetPlayerMoney(i);
GivePlayerMoney(i, PlayerInfo[i][pMoney]);
}
else if(PlayerInfo[i][pMoney] > money) PlayerInfo[i][pMoney] = money;
}
return ;
}
А в foreach разве нет встроенной проверки IsPlayerConnected?
это не помогло, сделал проверку на анимации как посоветовали, получилось, работает.
Но все же, мб что-то кривенько ?))
- - - Добавлено - - -PHP код:
if(newkeys == 16)
{
new animlib[32];
new animname[32];
{
if(PlayerToPoint(3.0,playerid,-2420.219, 984.578, 44.297))
{
GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32);
if(strcmp(animname, "VEND_USE", true) != 0)
{
PlayerInfo[playerid][pMoney] -=1;
return true;
}
}
p/s только проблемка если в этом диапазоне по 100 раз нажимать и отнимется 100$ можно сделать что бы пока анимация не завершится, повторно деньги не снимались ?) хотябы новодочку дайте))