• 04 Juillet 2025, 15:17:48


Auteur Sujet: Problème d'anti cheat armure  (Lu 2884 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : Problème d'anti cheat armure
« Réponse #15 le: 28 Avril 2012, 16:08:41 »
Bah un timer avec une boucle tout simplement

Mais là, avec un autre test, j'ai remarqué que lorsque je me connecte, j'ai le message qui dit banni. Je tape /test, je ne suis plus banni. Ensuite, je cheat, je ne suis pas banni

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Problème d'anti cheat armure
« Réponse #16 le: 29 Avril 2012, 22:32:11 »
Lors de la connexion/apparition, l'armure du joueur n'est pas la même que dans le variable du côté serveur.
Il faut que tu mette l'armure à zéro (par exemple) à la connexion, avec la nouvelle fonction.


SetPlayerArmourFromServer(playerid, 0.0);

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : Problème d'anti cheat armure
« Réponse #17 le: 05 Mai 2012, 20:43:44 »
Non ça ne change hélas rien. Pour tenter de réparer le pb, j ai créer 4 cmd de tests. Voici les résultats obtenus pour chacune d'elle.
if (strcmp("/a1", cmdtext, true) == 0)
{
       SetPlayerArmourHack(playerid,100);
format(string1, sizeof(string1),"armourhack[playerid]=%f",armourhack[playerid]);
  SendClientMessage(playerid,COLOR_INFO, string1);
return 1;
}
Résultat: la variable armourhack passe à 100 comme il faut et le gilet apparait
PS: Dès la première commande, je ne reçois plus aucun message pour me signaler que je cheat

if (strcmp("/a2", cmdtext, true) == 0)
{
format(string1, sizeof(string1),"armourhack[playerid]=%f",armourhack[playerid]);
  SendClientMessage(playerid,COLOR_INFO, string1);
return 1;
}
Résultat: Après m'être tué, je n'ai donc plus de gilet, je tape cette commande. Surprise, la variable est resté à 100

if (strcmp("/a3", cmdtext, true) == 0)
{
   SetPlayerArmourHack(playerid,armourhack[playerid]);
format(string1, sizeof(string1),"armourhack[playerid]=%f",armourhack[playerid]);
  SendClientMessage(playerid,COLOR_INFO, string1);
return 1;
}
Résultat: Je fais exprès de perdre un peu d'armure en m explosant et je tape cette commande, surprise, ma variable est toujours à 100 et un gilet apparait

if (strcmp("/a4", cmdtext, true) == 0)
{
   SetPlayerArmour(playerid,100);
format(string1, sizeof(string1),"armourhack[playerid]=%f",armourhack[playerid]);
  SendClientMessage(playerid,COLOR_INFO, string1);
return 1;
}
Résultat: Ma variable ets toujours à 100, un gilet apparait mais je ne suis pas prévenu que je suis en train de cheater.

Ma conclusion:

- La variable n'est pas remise à jour correctement dans la fonction SetPlayerArmourHack

Je remet le code au cas où sur le pastebin: http://pastebin.com/v94YhrdS

Aidez moi svp :)

A+ ;)
« Modifié: 05 Mai 2012, 20:55:40 par LePtitClown »

Hors ligne spiirou

  • *
  • L'avenir appartient à ceux qui se lèvent
  • Messages: 866
    • Voir le profil
Re : Problème d'anti cheat armure
« Réponse #18 le: 05 Mai 2012, 21:49:42 »
Faut pas oublier de mettre un RefreshArmourHack dans le cas où le joueur se fait toucher, quand il se connecte, respawn

RefreshArmourHack(playerid)
{
     armourhack[playerid] = GetPlayerArmour(playerid);
}

De façon à actualiser la variable ;)

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : Problème d'anti cheat armure
« Réponse #19 le: 05 Mai 2012, 23:29:21 »
J'ai testé en mettant le code ci-dessosu dans la fonction setplayerarmour
armourhack[playerid] = GetPlayerArmour(playerid);
Normalement, ça doit donc être mis à jour après la fonction mais ça revient à pareil qu'avant sauf que c'est plus 100 qui est renvoyé mais 0 ;D

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Problème d'anti cheat armure
« Réponse #20 le: 06 Mai 2012, 04:56:48 »
Le code de spiirou ne ferait que rendre obsolète l'anti-cheat.
Ce qu'il faut faire, c'est simplement remettre l'armure du joueur à zéro quand il meurt (avec la fonction que l'on à créer).

Hors ligne spiirou

  • *
  • L'avenir appartient à ceux qui se lèvent
  • Messages: 866
    • Voir le profil
Re : Problème d'anti cheat armure
« Réponse #21 le: 06 Mai 2012, 09:15:14 »
Erf oui je m'en suis rendu compte cette nuit mdr! Désolé!  ;D
Mais il n’empêche qu'il faudrait baisser la variable armourhack quand le joueur encaisse des dégâts non ? Idem s'il va a l'ammunation..
Je réfléchi a un truc complet ;)