Для начала создадим массив, в котором будут храниться наши деньги:
Code
new Cash[MAX_PLAYERS];
Сделаем обнуление денег в массиве, при заходе нового игрока.
Добавляем в: Quote
public OnPlayerConnect(playerid)
Строку:
Теперь создадим новые функции, для наших новых денег.
В любую часть мода вставляем:
Code
GivePlayerCash(playerid, money)// Функция, чтоб прибавить денег к текущим деньгам
{
Cash[playerid] += money;
ResetPlayerMoney(playerid);//Забираем все визуальное бабло
GivePlayerMoney(playerid,Cash[playerid]);//Выдаем визуальное бабло
return Cash[playerid];
}
SetPlayerCash(playerid, money)// Функция, чтоб установить новое количество денег
{
Cash[playerid] = money;
ResetPlayerMoney(playerid);//Забираем все визуальное бабло
GivePlayerMoney(playerid,Cash[playerid]);///Выдаем визуальное бабло
return Cash[playerid];
}
ResetPlayerCash(playerid)// Убираем все деньги у пользователя
{
Cash[playerid] = 0;
ResetPlayerMoney(playerid);//Забираем все визуальное бабло
GivePlayerMoney(playerid,Cash[playerid]);//Выдаем визуальное бабло
return Cash[playerid];
}
GetPlayerCash(playerid)// Узнаем, сколько денег осталось у игрока
{
return Cash[playerid];
}
Теперь можно заменить все стандартные функции:
Quote
GivePlayerMoney на GivePlayerCash
ResetPlayerMoney на ResetPlayerCash
GetPlayerCash на GetPlayerMoney
И использовать в дальнейшем только функции, которые мы с вами создали.
Теперь не пройдет не один читер, желающий сделать себе денег.
Для того, что бы при читерстве не прибавлялись визуально деньги, можно добавить в OnPlayerSpawn:
Code
ResetPlayerMoney(playerid);//Визуально забираем все деньги
GivePlayerMoney(playerid,Cash[playerid]);//Устанавливаем визуально настоящую сумму
И при последующем спавне у него счетчик денег вернёться нужное положение.
Теперь всё готово. Желаем вам приятной игры на сервере.
Автор: HELKERN