25.05.2010, 07:14
Код:
public GlobalHackCheck() { new curHour, curMinute, curSecond; new string[256], banip[16], plname[64]; new weaponid, ammo; for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && PlayerInfo[i][pAdmin] < 1) { gettime(curHour, curMinute, curSecond); if (ScriptMoneyUpdated[i]+2 < curSecond && saferaha[i] == 0) { new plactualmoney = GetPlayerMoney(i); if (plactualmoney > ScriptMoney[i] && plactualmoney-999 > ScriptMoney[i]) { GetPlayerName(i, plname, sizeof(plname)); TogglePlayerControllable(i, 0); PlayerInfo[i][pLocked] = 1; OnPlayerUpdate(i); GetPlayerIp(i, banip, sizeof(banip)); new spawnedamount = plactualmoney-ScriptMoney[i]; format(string, sizeof(string), "[ADM] %s on bдnnitud DUCK poolt. Pхhjus: Rahahack. [%d.-]", plname, spawnedamount); BanLog(string); ScriptMoney[i] = 0; ScriptMoneyUpdated[i] = 0; SendClientMessageToAll(COLOR_LIGHTRED, string); Kick(i); saferaha[i] = 0; } else { ScriptMoney[i] = plactualmoney; ScriptMoneyUpdated[i] = 0; saferaha[i] = 0; } } GetPlayerWeaponData(i, 7, weaponid, ammo); new pSpecialAction = GetPlayerSpecialAction(i); if (weaponid > 1 || pSpecialAction == SPECIAL_ACTION_USEJETPACK) { // Illegal weapon TogglePlayerControllable(i, 0); SendClientMessage(i, COLOR_LIGHTRED, "Anticheat: You have been banned due to suspected cheating."); SendClientMessage(i, COLOR_LIGHTRED, "Anticheat: Please contact an admin on ventrilo or on the forum immediately if you feel this is in error."); SendClientMessage(i, COLOR_RED, "DUCK Anticheat 1.5 by Luk0r (Edited by Ellis/Scorcher)"); //PlayerInfo[i][pLocked] = 1; OnPlayerUpdate(i); //GetPlayerIp(i, banip, sizeof(banip)); //BanAdd(4, PlayerInfo[i][pSQLID], banip, 38); GetPlayerName(i, plname, sizeof(plname)); format(string, sizeof(string), "[ADM] %s on bдnnitud DUCK poolt. Pхhjus: Relvadehack.", plname); SendClientMessageToAll(COLOR_LIGHTRED, string); Ban(i); saferaha[i] = 0; } } } }
saferaha
Then:
2 players: 1 player paying to 2 player ($4000), then locked by DUCK. (MoneyCheat $4000)
1 player: /v park ($1500), then locked by DUCK. (MoneyCheat $1500)
So i got idea to make it "saferaha"
Then:
2 players: 1 player paying to 2 player ($4000), and marked to safe money.
1 player: /v park ($1500), and marked to safe money.
If Duck see safe money, then don't lock it.
I putted saferaha into anticheat, now tested. One guy was joining, i checked him stats: $0, after $40000, and i banned him. But Duck didn't locked him.
How i can fix that? :S
Like: /pay got "saferaha[playerid] = 1;"
Too OnPlayerConnect there's: "saferaha[playerid] = 0;"