• 05 Juin 2026, 19:48:38


Auteur Sujet: Anti-Ping qui ne fonctionne pas  (Lu 909 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Komolos

  • *
  • Tueur en série
  • Messages: 190
    • Voir le profil
Anti-Ping qui ne fonctionne pas
« le: 21 Novembre 2010, 22:27:45 »
Bonsoir,

J'ai mon anti-ping, que j'ai crée, mais je pence que je l'est mal placé, je l'est mis avec une autre fonctions que j'ai trouvés et que j'ai amelioré voici le code :

public OnRconLoginAttempt(ip[], password[], success)
{
    if(!success)
    {
        printf("FAILED RCON LOGIN BY IP %s USING PASSWORD %s", ip, password);
        new pip[16];
        new string[256];
        new sendername[MAX_PLAYER_NAME];
        for(new i=0; i<MAX_PLAYERS; i++)
        {
if(IsPlayerConnected(i))
{
            GetPlayerIp(i, pip, sizeof(pip));
            if(!strcmp(ip, pip, true))
            {
    format(string, sizeof(string), "[ANTI-CHEAT]: %s à était kick par l'Anti-Cheat, Raison: Tentative d'accèder au Rcon", sendername);
Kick(i);
SendClientMessageToAll(COLOR_LIGHTRED, string);

            }
    }
                  new ping;
              ping = GetPlayerPing(i);
       if(ping > MAX_PING)
    {
       if(gPlayerLogged[i] == 1)
                {
       format(string, sizeof(string), "[ANTI-CHEAT]: %s à était kick par l'Anti-Cheat, Raison: Ping Trop élévés", sendername);
   Kick(i);
  SendClientMessageToAll(COLOR_LIGHTRED, string);
}
}
        }
    }
    return 1;
}


Merci d'avance, j'ai biensur déclaré le #define Max_Ping

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Anti-Ping qui ne fonctionne pas
« Réponse #1 le: 21 Novembre 2010, 22:34:23 »
ton code na rien a faire dans cette callback
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Anti-Ping qui ne fonctionne pas
« Réponse #2 le: 21 Novembre 2010, 22:38:45 »
Déjà, il y a une mauvaise indentation, ca n'arrange pas les choses  :happy

Et effectivement, ton pingtest est mal placé, tu dois utiliser un timer.

Dans OnGameModeInit, insère cette instruction :
SetTimer("pingtest",10000,true);Ceci va créer un timer qui appellera la callback "pingtest" qu'il va falloir déclarer en haut du script : (Sous les includes)
forward pingtest();

Ensuite, tu n'as plus qu'a créer ton pingtest :

<?php

public pingtest()
{
     for(new 
iMAX_PLAYERSi++)
     {
           if(
GetPlayerPing(i) > 500// 500 par exemple, modifie à ta guise  
           
{
                 
SendClientMessageToAll(0xFF0000FF,"%s kické pour ping trop élevé"); // Texte formaté au préalable comme tu l'as fait
                 
Kick(i);
           }
      }
}     

Ce code vérifiera toutes les 10 secondes parmi tous les joueurs, pour voir si l'un des joueurs a un ping supérieur à 500, et le kickera.

++