GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Khay le 11 Décembre 2011, 12:58:09
-
Bonjour à tous, en ce moment j'essaie de faire moi même un petit anti cheat gun hack ou plutôt juste un petit début
Pour commencé j'ai pensé à crée un stock qui donnerait une variable ou j'ai pris exemple sur un autre anti cheat
stock GivePlayerWeaponEx(playerid,weaponid,ammo)
{
PlayerWeapons[playerid][weaponid]=true;
GivePlayerWeapon(playerid,weaponid,ammo);
}
Ensuite suffit de remplacer les GivePlayerWeapon par GivePlayerWeaponEx
Par la suite j'ai placé un petit timer de 1 sec
new weapons2 = GetPlayerWeapon(i);
if(spawned == 1)
{
if(weapons2 != 0 && !PlayerWeapons[weapons2])
{
// CONDITIONS...
}
}
J'ai bien sur placé un PlayerWeapons[playerid][weaponid]=false; lorsque la personne se connecte
Jusque là sa a l'air d'aller quand je n'utilise pas le stock la condition s'active, mon probleme est comment je vais reset en false le PlayerWeapons[playerid][weaponid] efficacement, je pourrais faire sa en bâclent un peu exemple lorsque la personne meurt ou lors d'un "ResetPlayerWeapons", moi je voudrais par exemple que si l'id de l'arme est bonne lorsqu'il n'a plus aucune munition la variable se remet en fausse ou bien des que l'id de l'arme est bonne et qu'on rajoute autre que le stock par derriere elle devient fausse
Enfin c'est assez compliqué je pense ce que je veux faire d'ailleurs ma manière est assez simpliste, j'aime pas trop les autres anti cheat qui sont utilisé OnPlayerStateChange je préfère utilisé un timer
Je suis pas très très bon encore à ce niveau je demande quelques conseils merci d'avance
-
Salut,
avec OnPlayerUpdate et cette petite fonction : GetPlayerAmmo (http://wiki.sa-mp.com/wiki/GetPlayerAmmo)
Utilise la même technique que dans ton timer et tu devrais être capable de détecter pas mal à tout coups les changements de munitions. Toutefois, tu devrais vérifier comment la mise à jour de la valeur se fait avec un petit printf, j'ignore si c'est fait à chaque mise à jour.
++Sim++
-
Ah merci à toi :) nickel avec ton aide et un peu plus de réflexion j'ai trouvé comment pas me prendre la tête
résolu