• 30 Juin 2025, 20:53:08


Auteur Sujet: Anti flood, comment le créer ?  (Lu 3709 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Anti flood, comment le créer ?
« le: 25 Mai 2008, 21:06:58 »
Bonsoir/jour tout le monde  :)

Voila, jai un serveur, et souvent confronté au flooders.
Jai cherché sur forum samp mais je ne trouve que des truc anti bots.... :dry
Donc j'aimerai savoir comment faire pour en créer un  :)
Merci pour votre aide

++
nikko

Hors ligne Franky™

  • Franky™ est bien la
  • *
  • Gangster
  • Messages: 1058
    • Voir le profil
Re : Anti flood, comment le créer ?
« Réponse #1 le: 26 Mai 2008, 15:30:38 »
Salut,

Essaie de faire des recherche en mettant:  AntiSpam

Tu trouvera quelque chose je pense,
perso j'ai pas test

++ Franky


°°((Franky's WebSite
Désolé pour mes fautes d'orthographes

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Anti flood, comment le créer ?
« Réponse #2 le: 26 Mai 2008, 16:36:28 »
jvais esseyer  :-X

++
nikko

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : Anti flood, comment le créer ?
« Réponse #3 le: 26 Mai 2008, 19:18:31 »
Salut,

tu crée un tableau pour chaque player, blabla[MAX_PLAYERS].

Dans OnPlayerConnect tu lance un timer pour que si blabla[playerid] est supérieur à 0 il diminue toute les X secondes.

Dans OnPlayerMsg tu blabla[playerid]++ :)
Toujours dans OnPlayerMsg tu vérifie si blabla[playerid] est égal à tant, si c'est le cas tu kick. :)

++
Alexandre

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Anti flood, comment le créer ?
« Réponse #4 le: 26 Mai 2008, 19:55:44 »
Bah pour moi tout ca cest du BLABLA ....  :happy
Tu pourrai m'expliquer en me donnant quelques truc car je comprend rien et je usis pas encore super scripteur ... ^^
merci

++
nikko

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Anti flood, comment le créer ?
« Réponse #5 le: 26 Mai 2008, 20:09:24 »
T'es explication sont inutile Alexandre, on comprend rien du tout !

NV.



Tu vois avant? Bah j'étais là encore avant!

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : Anti flood, comment le créer ?
« Réponse #6 le: 26 Mai 2008, 20:25:44 »
Ah oui en effet. ;D

En haut de ton script tu met:
Code: (pawn) [Sélectionner]
new blabla[MAX_PLAYERS]; // Variable pour voir le taut de parlote de chacun
forward CheckFlood(playerid); // Pour le timer

Dans OnPlayerText:
Code: (pawn) [Sélectionner]
blabla[playerid]++; // Quand le joueur parle on augmente son compteur
if(blabla[playerid] >= 5) Kick(playerid); // Quand le compteur du joueur atteint 5, on le kick

Dans OnPlayerConnect:
Code: (pawn) [Sélectionner]
SetTimerEx("CheckFlood", 1000, false, "i", playerid); // Pour lancer le timer
En bas de ton script:
Code: (pawn) [Sélectionner]
public CheckFlood(playerid)
{
blabla[playerid]--;
}

En espérant que ce soit mieux. :happy

++
Alexandre

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Anti flood, comment le créer ?
« Réponse #7 le: 26 Mai 2008, 20:28:40 »
Oui beaucoup mieux, mais je met quoi a la place de blabla ??

++
nikko

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Anti flood, comment le créer ?
« Réponse #8 le: 26 Mai 2008, 20:48:56 »
Ce que tu veut, c'est le nom de la variable, blabla c'est bien :)

NV.



Tu vois avant? Bah j'étais là encore avant!

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Anti flood, comment le créer ?
« Réponse #9 le: 26 Mai 2008, 21:04:54 »
lool ok merci

++
nikko

Hors ligne spykerc8

  • *
  • 'The GTAOnline.fr GodFather'
  • Messages: 3821
    • Voir le profil
    • http://www.gtaonline.fr
Re : Anti flood, comment le créer ?
« Réponse #10 le: 26 Mai 2008, 21:07:09 »
J'avais très compris les premières instructions pour ma part, suffit juste de réfléchir un peu et de connaitre les fonctions et outils disponibles..


~ Leader honoraire de la FsK Team ~ -
~ Membre honoraire de la PCP Team ~

Co-fondateur de GTAO - Retraité de la communauté

"Nous ne sommes rien, soyons tout !"


Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Anti flood, comment le créer ?
« Réponse #11 le: 26 Mai 2008, 21:34:17 »
Re,

Voila ce que jai fait:

public OnPlayerText(playerid, text[])
{
   new Playerid;
   new str[256];
   new pname[256];

   flood[playerid]++;
   if(flood[playerid] >= 4)
   {
   Mute[playerid] = 1;
   SetTimerEx ("Unmute", 30000, 0, "i", playerid);
   SendClientMessage(playerid, admin2,"Tu a été muté(e) pendant 30 sec pour flood");

   GetPlayerName(Playerid, pname, sizeof (str));
   format(str, sizeof (str), "*** %s a été muté(e) pour flood ***", pname);
   SendClientMessageToAll(gris, str);
   }
    if (Mute[playerid] == 1)
     {
     SendClientMessage(playerid,rouge,"Tu est muté(e) !");
     return 0;
     }
   return 1;
}

public Unmute (playerid)
{

      SendClientMessage(playerid, admin2, "*** Tu a été unmuté(e) ***");
      Mute[playerid] = 0;
}

Le probleme, cest que quand on se fait muter, et qu'on redit une chose juste apré, ca remarque "%s a été muté .."
La je bloque... mais jai bien avancé :)
merci

++
nikko

Hors ligne rivoal29

  • *
  • Bandit
  • Messages: 269
    • Voir le profil
Re : Re : Anti flood, comment le créer ?
« Réponse #12 le: 26 Mai 2008, 21:54:10 »
public OnPlayerText(playerid, text[])
{
new Playerid;
new str[256];
new pname[256];

flood[playerid]++;
if(flood[playerid] >= 4)
{
        if (Mute[playerid] == 1)
        {
Mute[playerid] = 1;
SetTimerEx ("Unmute", 30000, 0, "i", playerid);
SendClientMessage(playerid, admin2,"Tu a été muté(e) pendant 30 sec pour flood");

GetPlayerName(Playerid, pname, sizeof (str));
format(str, sizeof (str), "*** %s a été muté(e) pour flood ***", pname);
SendClientMessageToAll(gris, str);
}
        }
  if (Mute[playerid] == 1)
  {
  SendClientMessage(playerid,rouge,"Tu est muté(e) !");
  return 0;
  }
return 1;
}

public Unmute (playerid)
{

SendClientMessage(playerid, admin2, "*** Tu a été unmuté(e) ***");
Mute[playerid] = 0;
}
Essaye


Tu as bien mi un timer qui fait flood--; ???


Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Anti flood, comment le créer ?
« Réponse #13 le: 26 Mai 2008, 22:16:12 »
Oui

++
nikko

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : Anti flood, comment le créer ?
« Réponse #14 le: 26 Mai 2008, 22:24:56 »
Met flood[playerid] à 0 dans ta fonction Unmute :)

++
Alexandre