A
Amfy
Гость
Гость
Многие встречаются с такой проблемой как - подключают скрипт в котором используется функция GivePlayerMoney, а в моде стоит античит. Естественно, мод воспринимает деньги из скрипта как "накрученные". Если у вас так, то эта тема для вас, но предупреждаю сразу: всё это как-никак - "обход", поэтому могут возникнуть проблемы, хотя не знаю какие и с чем. Но лучше всего, просто-напросто вшить скрипт в мод и изменить функцию выдачи денег на свою.
Открываем скрипт и ко всем #define добавляем:
#define GiveScriptMoney(%0,%1) SetPVarInt(%0,"giveMoney",GetPVarInt(%0,"giveMoney")+%1)
#define GetScriptMoney(%0) GetPVarInt(%0,"getMoney")
Далее, в скрипте ищем GivePlayerMoney и меняем на GiveScriptMoney, а функцию GetPlayerMoney меняем на GetScriptMoney, компилируем скрипт.
Открываем мод и в public OnPlayerSpawn добавляем:
SetTimerEx("scriptMoney",100,true,"i",playerid);
И в конец мода:
forward scriptMoney(playerid);
public scriptMoney(playerid)
{
SetPVarInt(playerid,"getMoney",PlayerInfo[playerid][pCash]);
new scriptCash = GetPVarInt(playerid,"giveMoney");
if(scriptCash != 0)
{
PlayerInfo[playerid][pCash] += scriptCash;
DeletePVar(playerid,"giveMoney");
}
return 1;
}
В этой строке:
SetPVarInt(playerid,"getMoney",PlayerInfo[playerid][pCash]);
Нужно вместо PlayerInfo[playerid][pCash] поставить функцию узнавания денег, у вас она может быть, например, GetMoney, тогда сделать нужно так:
SetPVarInt(playerid,"getMoney",GetMoney(playerid));
Эту строку:
PlayerInfo[playerid][pCash] += scriptCash;
При необходимости нужно изменить на свою функцию выдачи денег, у вас она может быть, например, GiveMoney, тогда сделать нужно так:
GiveMoney(playerid,scriptCash);
Всё! Компилируйте мод и всё должно работать (у меня работает).
Таким образом, скрипты в которых используются функции денег - можно не вшивать, но всё же лучше наконец-то научится вшивать и вшить!
:26A0: Каждый раз в мод таймер и паблик добавлять не нужно, это делается только один раз (первый), далее редактируете только скрипт!
Автор:
Открываем скрипт и ко всем #define добавляем:
#define GiveScriptMoney(%0,%1) SetPVarInt(%0,"giveMoney",GetPVarInt(%0,"giveMoney")+%1)
#define GetScriptMoney(%0) GetPVarInt(%0,"getMoney")
Далее, в скрипте ищем GivePlayerMoney и меняем на GiveScriptMoney, а функцию GetPlayerMoney меняем на GetScriptMoney, компилируем скрипт.
Открываем мод и в public OnPlayerSpawn добавляем:
SetTimerEx("scriptMoney",100,true,"i",playerid);
И в конец мода:
forward scriptMoney(playerid);
public scriptMoney(playerid)
{
SetPVarInt(playerid,"getMoney",PlayerInfo[playerid][pCash]);
new scriptCash = GetPVarInt(playerid,"giveMoney");
if(scriptCash != 0)
{
PlayerInfo[playerid][pCash] += scriptCash;
DeletePVar(playerid,"giveMoney");
}
return 1;
}
В этой строке:
SetPVarInt(playerid,"getMoney",PlayerInfo[playerid][pCash]);
Нужно вместо PlayerInfo[playerid][pCash] поставить функцию узнавания денег, у вас она может быть, например, GetMoney, тогда сделать нужно так:
SetPVarInt(playerid,"getMoney",GetMoney(playerid));
Эту строку:
PlayerInfo[playerid][pCash] += scriptCash;
При необходимости нужно изменить на свою функцию выдачи денег, у вас она может быть, например, GiveMoney, тогда сделать нужно так:
GiveMoney(playerid,scriptCash);
Всё! Компилируйте мод и всё должно работать (у меня работает).
Таким образом, скрипты в которых используются функции денег - можно не вшивать, но всё же лучше наконец-то научится вшивать и вшить!
:26A0: Каждый раз в мод таймер и паблик добавлять не нужно, это делается только один раз (первый), далее редактируете только скрипт!
Автор: