Recomendo esse: https://sampforum.blast.hk/showthread.php?pid=3780096#pid3780096
|
Esse com certeza й o pior anti cheat que jб existiu: https://sampforum.blast.hk/showthread.php?tid=652317
|
Esse com certeza й o pior anti cheat que jб existiu: https://sampforum.blast.hk/showthread.php?tid=652317
|
A opiniгo й sua, usei quando lanзou e gostei bastante, tive umas dificuldades com alguns bugs, mas resolvi e adaptei a meu game mode, nгo houve problema algum, usei especificamente este, pois a maioria dos jб existentes ofereciam uma grande variedade, mas eu precisava apenas de 2 ou 3 para solucionar meus problemas, abraзos.
|
public OnFilterScriptInit() { for(new x = 0; x < GetMaxPlayers(); ++x)// se voce usar em /rcon loadfs ele vai recarregar o sistema { if(IsPlayerConnected(x)) { PlayerTimer1[x] = SetTimerEx("MF_AntiMoneyHack", 1000, true, "i", x); // 1000 = 1 segundo PlayerTimer2[x] = SetTimerEx("CheckCheat", 1000,true,"i", x); // 1000 = 1 segundo } }
print("\n----------------------------------------------"); print(" Anti Cheat 1.2 By [$]_Red_[MF] Loaded"); print(" Server ip: 167.114.42.20:7762\n"); print("----------------------------------------------\n");
if(Armour > 0.0) { // \/ Para nгo dar falsas denuncias por causa do ping SetTimerEx("CheckArmour", GetPlayerPing(damagedid)+300, false, "ii", damagedid, Armour); } else { SetTimerEx("CheckHealth", GetPlayerPing(damagedid)+300, false, "ii", damagedid, Health); }
if(modtrol == 1) { if(oldstate == 3 && newstate == 2) return KickPlayer(playerid, "Mod Trol"); if(oldstate == 2 && newstate == 3) return KickPlayer(playerid, "Mod Trol"); }
if(dialogid == DIALOG_ANTICHEAT) { if(response) { INI_Open(CONFIG); if(listitem == 0) { if(antifly == 1) { antifly = 0; } else { antifly = 1; } } if(listitem == 1) { if(antiskin == 1) { antiskin = 0; } else { antiskin = 1; } } if(listitem == 2) { if(antifake == 1) { antifake = 0; } else { antifake = 1; } } if(listitem == 3) {
if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) { if(!IsPlayerAdmin(playerid)) { //SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);// aqui ele so vai retirar a jetpack so players logados na RCON pode ter jetpack KickPlayer(playerid, "JetPack Hack"); }
forward Antifakekill(playerid); public Antifakekill(playerid) { if(AntiFakeKill[playerid] > 3) return KickPlayer(playerid, "Fake Kill");
stock IsPlayerInWater(playerid) // editado por min { new Float:Z;// nгo mude para static GetPlayerPos(playerid,Z,Z,Z); if(Z < 0.7) switch(GetPlayerAnimationIndex(playerid)) { case 1543,1538,1539: return 1; } if(GetPlayerDistanceFromPoint(playerid,-965,2438,42) <= 700 && Z < 45)return 1; new Float:water_places[][] = { { 25.0, 2313.0, -1417.0, 23.0}, { 15.0, 1280.0, -773.0, 1082.0}, { 15.0, 1279.0, -804.0, 86.0}, { 20.0, 1094.0, -674.0, 111.0}, { 26.0, 194.0, -1232.0, 76.0}, { 25.0, 2583.0, 2385.0, 15.0}, { 25.0, 225.0, -1187.0, 73.0}, { 50.0, 1973.0, -1198.0, 17.0}, { 140.0, 1923.0, 1592.0, 10.0} }; for(new t=0; t < sizeof water_places; t++) if(GetPlayerDistanceFromPoint(playerid,water_places[t][1],water_places[t][2],water_places[t][3]) <= water_places[t][0]) return 1; return 0; }
stock pName(playerid)// stock para pegar nome de players { static name[24]; GetPlayerName(playerid, name, sizeof(name)); return name; }
forward MF_AntiMoneyHack(playerid); public MF_AntiMoneyHack(playerid)//MoneyCheatCheck { if(antimoney == 1) { if(GetPlayerMoney(playerid) > money[playerid]) { /// stock MF_GivePlayerMoney(playerid, quantidade)//GivePlayerMoney { ResetPlayerMoney(playerid); GivePlayerMoney(playerid, money[playerid] + quantidade); money[playerid] = GetPlayerMoney(playerid); return 1; }
forward CheckHealth(playerid, Float:OldHealth); public CheckHealth(playerid, Float:OldHealth) { static Float:Health; GetPlayerHealth(playerid, Health); if(Health == OldHealth && MORTO[playerid] == 0) { hits[playerid]++; if(hits[playerid] >= WARNINGSKICK) return KickPlayer(playerid, "Health H4CK"); } CHECANDO[playerid] = 0; return 1; } ///////////////////////////////////////////////////////////////////////// forward CheckArmour(playerid, Float:OldArmour); public CheckArmour(playerid, Float:OldArmour) { static Float:Armour; GetPlayerArmour(playerid, Armour); if(Armour == OldArmour && MORTO[playerid] == 0) { hits[playerid]++; if(hits[playerid] >= WARNINGSKICK) return KickPlayer(playerid, "Armour H4CK"); } CHECANDO[playerid] = 0; return 1; }
Originally Posted by Cycle
Ficou cansado de ser chutado da board principal e veio deslocar o seu trabalho pra cб?
|
Originally Posted by RazorGuigo
eu iria dizer o mesmo, mas nгo sou tгo toxico assim, mais isso que o renatog falou й a maior verdade do forum kkk
|
Isso foi lindo, @RogueDrifter! Parabйns!
Estou com o @Dayvison_. Й fбcil ser julgado com "seu trabalho й ruim", mas apontar onde estб o erro ninguйm aponta... Essa board estб em declнnio sim, mas nгo й pela falta de releases! |
Isso foi lindo, @RogueDrifter! Parabйns!
Estou com o @Dayvison_. Й fбcil ser julgado com "seu trabalho й ruim", mas apontar onde estб o erro ninguйm aponta... Essa board estб em declнnio sim, mas nгo й pela falta de releases! |
Yeah?
Код:
public OnFilterScriptInit() { for(new x = 0; x < GetMaxPlayers(); ++x)// se voce usar em /rcon loadfs ele vai recarregar o sistema { if(IsPlayerConnected(x)) { PlayerTimer1[x] = SetTimerEx("MF_AntiMoneyHack", 1000, true, "i", x); // 1000 = 1 segundo PlayerTimer2[x] = SetTimerEx("CheckCheat", 1000,true,"i", x); // 1000 = 1 segundo } } & Код:
print("\n----------------------------------------------"); print(" Anti Cheat 1.2 By [$]_Red_[MF] Loaded"); print(" Server ip: 167.114.42.20:7762\n"); print("----------------------------------------------\n"); & Код:
if(Armour > 0.0) { // \/ Para nгo dar falsas denuncias por causa do ping SetTimerEx("CheckArmour", GetPlayerPing(damagedid)+300, false, "ii", damagedid, Armour); } else { SetTimerEx("CheckHealth", GetPlayerPing(damagedid)+300, false, "ii", damagedid, Health); } & Код:
if(modtrol == 1) { if(oldstate == 3 && newstate == 2) return KickPlayer(playerid, "Mod Trol"); if(oldstate == 2 && newstate == 3) return KickPlayer(playerid, "Mod Trol"); } E quanto a PutPlayerInVehicle? = proibiзгo de trapaceiro? & Код:
if(dialogid == DIALOG_ANTICHEAT) { if(response) { INI_Open(CONFIG); if(listitem == 0) { if(antifly == 1) { antifly = 0; } else { antifly = 1; } } if(listitem == 1) { if(antiskin == 1) { antiskin = 0; } else { antiskin = 1; } } if(listitem == 2) { if(antifake == 1) { antifake = 0; } else { antifake = 1; } } if(listitem == 3) { & Код:
if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) { if(!IsPlayerAdmin(playerid)) { //SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);// aqui ele so vai retirar a jetpack so players logados na RCON pode ter jetpack KickPlayer(playerid, "JetPack Hack"); } & Код:
forward Antifakekill(playerid); public Antifakekill(playerid) { if(AntiFakeKill[playerid] > 3) return KickPlayer(playerid, "Fake Kill"); & Код:
stock IsPlayerInWater(playerid) // editado por min { new Float:Z;// nгo mude para static GetPlayerPos(playerid,Z,Z,Z); if(Z < 0.7) switch(GetPlayerAnimationIndex(playerid)) { case 1543,1538,1539: return 1; } if(GetPlayerDistanceFromPoint(playerid,-965,2438,42) <= 700 && Z < 45)return 1; new Float:water_places[][] = { { 25.0, 2313.0, -1417.0, 23.0}, { 15.0, 1280.0, -773.0, 1082.0}, { 15.0, 1279.0, -804.0, 86.0}, { 20.0, 1094.0, -674.0, 111.0}, { 26.0, 194.0, -1232.0, 76.0}, { 25.0, 2583.0, 2385.0, 15.0}, { 25.0, 225.0, -1187.0, 73.0}, { 50.0, 1973.0, -1198.0, 17.0}, { 140.0, 1923.0, 1592.0, 10.0} }; for(new t=0; t < sizeof water_places; t++) if(GetPlayerDistanceFromPoint(playerid,water_places[t][1],water_places[t][2],water_places[t][3]) <= water_places[t][0]) return 1; return 0; } & Код:
stock pName(playerid)// stock para pegar nome de players { static name[24]; GetPlayerName(playerid, name, sizeof(name)); return name; } & Код:
forward MF_AntiMoneyHack(playerid); public MF_AntiMoneyHack(playerid)//MoneyCheatCheck { if(antimoney == 1) { if(GetPlayerMoney(playerid) > money[playerid]) { /// stock MF_GivePlayerMoney(playerid, quantidade)//GivePlayerMoney { ResetPlayerMoney(playerid); GivePlayerMoney(playerid, money[playerid] + quantidade); money[playerid] = GetPlayerMoney(playerid); return 1; } & Код:
forward CheckHealth(playerid, Float:OldHealth); public CheckHealth(playerid, Float:OldHealth) { static Float:Health; GetPlayerHealth(playerid, Health); if(Health == OldHealth && MORTO[playerid] == 0) { hits[playerid]++; if(hits[playerid] >= WARNINGSKICK) return KickPlayer(playerid, "Health H4CK"); } CHECANDO[playerid] = 0; return 1; } ///////////////////////////////////////////////////////////////////////// forward CheckArmour(playerid, Float:OldArmour); public CheckArmour(playerid, Float:OldArmour) { static Float:Armour; GetPlayerArmour(playerid, Armour); if(Armour == OldArmour && MORTO[playerid] == 0) { hits[playerid]++; if(hits[playerid] >= WARNINGSKICK) return KickPlayer(playerid, "Armour H4CK"); } CHECANDO[playerid] = 0; return 1; } A coisa toda й um desastre. (Desculpe se alguma coisa nгo estб clara, mas eu usei um tradutor para escrever isso) Agora, para todos dizendo que o meu anti-cheat й ruim, й sua vez de tentar apontar algo errado com isso, vб obter uma vida a sйrio. "KKKKKKKKKKKKKK" |