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

Titre: [Résolu] Reset une varible pour les ID des armes voulu pour un Anti Cheat
Posté 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

Citer
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

Citer
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
Titre: Re : Reset une varible pour les ID des armes voulu pour un Anti Cheat
Posté par: S!m le 11 Décembre 2011, 15:04:04
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++
Titre: Re : Reset une varible pour les ID des armes voulu pour un Anti Cheat
Posté par: Khay le 11 Décembre 2011, 15:40:30
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