ELC_ANTI-CHEAT (By Eloctro)
ELC_Anti-Cheat de Eloctro est mis à disposition selon les termes de la licence Creative Commons Paternité - Pas d'Utilisation Commerciale - Partage à l'Identique 3.0 non transcrit.
Basé(e) sur une oeuvre à
www.gtaonline.fr.
1.Présentation :Vidéo réaliser sur la version 2.2 et testé avec so*****(Désolé pour les bugs images j'avais que CamStudio sous la main ...)
http://www.youtube.com/watch?v=X1kgH7hZbgUActuellement l'Anti-Cheat parfait n’existe pas mais je considérerais ELC_AC comme l'un des meilleurs Anti-Cheat !
Certain cheat permette de donner des Armes et de l'argent(jusqu'a lors facile à détecter)
mais ELC_AC va approfondir ce système en détectant si des munitions on été rajouté ou encore mieux si le joueur bloque les munitions cette à dire que les munitions ne s'épuisent pas .Soit des munitions infinis et des armes inépuisables(BUG très utilisé au niveau RPG) .
Ceci seras aussi pratique pour les Serveurs RP que DM .
Quant au système d'argent il est simple mais efficace il permet d'acheter dans les armuries,fast-food et transfander sans avoir de problème .
Les seules difficulté sont au niveau des gains(Casino,Stunt) .
2.Protections :Anti Money Hack
(100% fiable dans la V3.1)Anti Weapon Hack
(100% fiable dans la V3.1)Anti Ammo Hack(Spawn & Block)
(100% Fiable dans la V3.1)Anti SpeedHack
(100% fiable dans la V3.1)Anti AirBreak
(100% fiable dans la V4.0)Anti Teleport
(100% fiable dans la V4.0)Anti Health Hack
(pas encore totalement fiable)Anti Armour Hack
(pas encore totalement fiable)Anti Véhicule Téléporation
(100% fiable dans la V4.0)Anti Véhicule Crasher
(100% fiable dans la V4.3)(Tout ces type de cheat on été testé dans la version V3.1 & 4.0 ;) )
3.Instalation :_Placer les includes dans pawno/includes
Pour faire tourner le script 2 possibilités se présente ,tout aussi efficace .
Si vous n'utilisez pas de filtrescript je vous conseille la première possibilité .
1.MODE_INCLUDE_BASE(faire fonctionner le script au coeur du Gamemode)
_Ajouter l'include "ELC_AC_BASE" en haut de votre Gamemode .
include <ELC_AC_BASE>
_(ATTENTION!)Si vous avez des FilterScripts vous devrez obligatoirement mettre l'include "ELC_AC_CONNECTOR" afin que les fonctions de sécurités soit opérationnel .
include <ELC_AC_CONNECTOR>
2.MODE_FS(faire fonctionner indépendamment le script dans un Filtrescript)
_Placer le Script ELC_AC.amx dans le dossier "FilterScript"
_Ajouter "ELC_AC" dans server.cfg .
filterscripts ELC_AC
_(ATTENTION!)Vous devrez obligatoirement mettre l'include "ELC_AC_CONNECTOR" dans tout vos scripts,cette a dire FS et GM afin que les fonctions de sécurités soit opérationnel .
include <ELC_AC_CONNECTOR>
Fonction/CallBack :Les Fonctions et CallBack sont automatiquement remplacé lors de la compileation grâce au système ALS .
Il n'y auras aucun changement appart que les joueurs ne pourront pas cheater .
Vous aurez juste à utiliser GivePlayerWeapon et GivePlayerMoney normalement et ajouter le callback :
ATTENTION : Après avoir détecter les cheats suivant : argent,armes,vie et armure ils retourneront à leurs anciens statutspublic OnPlayerCheat(playerid, cheatid, source[])
{
new elc_str[120],elc_reason[60],elc_name[MAX_PLAYER_NAME];
GetPlayerName(playerid, elc_name, sizeof(elc_name));
format(elc_str,sizeof(elc_str),"( ! ) %s a tenté de cheater: ",elc_name);
switch(cheatid)
{
case 1: format(elc_reason,sizeof(elc_reason),"Cheat Argent ( %s $ )",source);
case 2: format(elc_reason,sizeof(elc_reason),"Cheat Arme ( %s )",source);
case 3: format(elc_reason,sizeof(elc_reason),"Cheat Munition ( %s Bullets )",source);
case 4: format(elc_reason,sizeof(elc_reason),"Cheat Bloque Munition");
case 5: format(elc_reason,sizeof(elc_reason),"Speed Hack");
case 6: format(elc_reason,sizeof(elc_reason),"Airbreak/Teleportation Cheat");
case 7: format(elc_reason,sizeof(elc_reason),"Cheat Vie");
case 8: format(elc_reason,sizeof(elc_reason),"Cheat Armure");
case 9: format(elc_reason,sizeof(elc_reason),"Téléportation de véhicules");
case 10: format(elc_reason,sizeof(elc_reason),"Véhicule Crasher");
}
strcat(elc_str,elc_reason);
SendClientMessageToAll(0xBD0000FF,elc_str);
return 1;
}
_playerid = ID du joueur concerné
_cheat = Type de Cheat(1=Monney,2=Spawn Arme,3=Spawn Muntions,4=Block Muntions,5=Airbreak,6=Vie,7=Armure)
4.Configuration :_Sous linux il est conseillé de décommenter la ligne : //#define NO_TICK_COUNT
5.Mises à jours :V1B1 :
_Système de Detection munition bloque désactivé(encore quelques finitions a faire)
V1B1x :
_Ajout du GetTickCount de Sim(SuperStream)
V1.0(FINAL):
_Correction des bugs
V1B2 :
_OnPlayerUpdate changé par un Timer exécuté toute les 2 secondes(paramétrable)
_Optimisation du Script
V1.1 :
_Ajout ANTI-TELEPORT
_Activation ANTI-BLOQUE-MUNITION
_Meilleur Configuration
V1.2 :
_Meilleur Configuration
_Correction des derniers bugs
V1.3 :
_ANTI BLOQUE MUNITION encore plus efficace et travaillé sur toutes les armes !
_Ajout de la fonction EnablePlayerCheatID(playerid,cheatid,enable);
_Suppression du système SpeedHack à pied(l'Anti Airbreak suffit .)
_Revue et optimisation du code de vérification de Cheat .
V2.0b :
_Ajout de défines pour désactiver/activer la détection de cheat par défaut
_Amélioration et désactivation par defaut de l'Anti Bloque Munition car il bug si le joueur veut tirer face à un mure et si le personnage ne tire pas(Je vais tenter de régler ça avec le plugin MapAndreas)
_Correction de l'include ELC_CONNECTOR(Changement de la fonction CallLocal à CallRemote)
_Amélioration de l'Anti Weapon et Ammo Hack(Enlève seulement l'arme et les munitions cheaté)
_Correction de la réactivation de l'anti AirBreak/Teleport et SpeedHack après la mort(Seulement si on les désactivaient avec la fonction EnablePlayerCheatID)
_Ajout d'une sécurité pour pas que la vérification de cheat se lance au moment ou vous recevez de l'argent ,arme ou vous vous téléportez(Très peut de chance que ça arrive mais on sait jamais)
V2.1 :
_Ajout Anti Hack Vie(ID 7)
_Ajout Anti Hack Armure(ID 8)
_Application de l'AntiCheat sur la fonction SetPlayerAmmo,SetPlayerHealth et SetPlayerArmour
_Correction de la define NO_TICK_COUNT
_Amélioration pour détecter les paiements de soda
V2.2 :
_Finition de l'Anti Munition Block
_Redéfini vie et armu à leurs anciens statuts après utilisation de cheat .
V3.0 :
_Optimisation du script
_Correction de Bug
_Ajout de Health et Armur dans EnablePlayerCheatID
_Ajout d'un système consistant à faire attendre un délay après l'utilisation d'une fonction(Exemple : Utilisation GivePlayerMoney -> Obligation d'attendre 3.5 secondes pour vérifier si cheat,utile si y a un gros lag et les performances de détection sont toujours aussi efficace)
V3.1(fiabilité garantie) :
_Correction de bug mineur
_Amélioration de l'anti cheat argent
_Amélioration de l'anti-AirBreak/Teleportaion
_Correction du système consistant a retarder une vérification de cheat après l'utilisation de fonction
_Optimisation du script
V3.2 :
_Fixation de bug pour supprimer l'arme cheaté(La mise à jour de la fonction "SetPlayerAmmo" dans la 0.3d ne demande plus le slot de l'arme mais directement son ID)
_Amélioration mineur de la détection
V4.0 :
_Correction de l'Anti Téléportation
_Ajout l'Anti Téléportation de véhicule(Détecte et replace le véhicule à la position exacte avant sa téléportation)
_Optimisation du script
V4.3.1 :
_Amélioration de l'Anti-Cheat Téléportation
_Amélioration de l'Anti-Cheat Téléportation de véhicules
_Revue du callback OnPlayerCheat pour une meilleur précision
_Amélioration de l'Anti-Cheat Arme
_Correction des bugs de compatibilité avec certains scripts
6.Astuces :Pour les serveurs qui ne sont pas très puissant il est conseillé d'augmenter la define "TIMER_CHEAT_RATE" .(5000 ou plus)
7.Téléchargements :V4.3.1 (BUG : Aucun)
Downald (Package) |
Pastebin (source)ATTENTION : Il est déconseillé d'utiliser la fonction SetPlayerShopName 8.Crédits :_Eloctro(SCRIPT)
_Sim(GetTickCount compatible linux)
Cordialement ,
Eloctro :cheers