• 06 Juin 2026, 08:29:06


Auteur Sujet: Anti-Afk et Anti-Flood, une idée ?  (Lu 2265 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Myk3L

  • *
  • Tueur en série
  • Messages: 197
    • Voir le profil
Anti-Afk et Anti-Flood, une idée ?
« le: 27 Octobre 2010, 15:12:35 »
Salut !

C'est encore moi :)

J'ai un petit soucis concernant les anti-afk et anti-flood

J'en ai installé un mais il bug donc ... j'ai envie d'en faire un moi même mais je ne sais pas comment m'y prendre, quelqu'un aurait une idée ?

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Anti-Afk et Anti-Flood, une idée ?
« Réponse #1 le: 27 Octobre 2010, 15:44:07 »
tu lance un timer tout les x minute il récupère la position d'un joueur, la stock dans des variable, quand il la récupère xmin après si s'est la même tu le kick

S'est schématique ^^
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Anti-Afk et Anti-Flood, une idée ?
« Réponse #2 le: 27 Octobre 2010, 16:23:40 »
( Y a pas de timestamp sur samp ^^ )


Sinon, pour l'antiafk tu peut utiliser la callback OnPlayerKeyStateChange ( je ne suis plus sûr du nom )



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Re : Anti-Afk et Anti-Flood, une idée ?
« Réponse #3 le: 27 Octobre 2010, 16:26:28 »
( Y a pas de timestamp sur samp ^^ )


Sinon, pour l'antiafk tu peut utiliser la callback OnPlayerKeyStateChange ( je ne suis plus sûr du nom )

ça sera lourd
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Anti-Afk et Anti-Flood, une idée ?
« Réponse #4 le: 27 Octobre 2010, 16:27:29 »
Pas du tout, au contraire même.



EDIT: Voila un aperçu:


new AFKTimer[ MAX_PLAYERS ];


#define     MINUTE_AFK  1




public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if( newkeys == 0 )
{
    AFKTimer[ playerid ] = SetTimerEx( "AFK", MINUTE_AFK * 60000, false, "i", playerid );
}
else
{
    KillTimer( AFKTimer[ playerid ] );
}

return 1;
}

AFK( playerid )
{
Kick( playerid );
}
« Modifié: 27 Octobre 2010, 16:31:26 par sasuke78200 »



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : Anti-Afk et Anti-Flood, une idée ?
« Réponse #5 le: 27 Octobre 2010, 16:56:08 »
On peut même faire plus simple,

Tu créé ta variable,  Afk[MAX_PLAYERS]; par exemple puis dans les callbacks, onplayerkeystatechange, onplayertext, tu va venir mettre afk[playerid] = 0; en parallèle, tu as un timer qui compte par exemple tous les secondes ( souvent on a ça pour checké plein de truc donc tu met dedans t'économiseras un timer ^^) ça rajoute +1 à la variable, et si il arrive par exemple à 600 ( soit 10 minutes ) hop tu le kick pour afk.

Simple non ? :D

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Anti-Afk et Anti-Flood, une idée ?
« Réponse #6 le: 27 Octobre 2010, 17:05:38 »
bah avec mon code c'est mieux :p


Je peut même faire en sorte d'éviter de créer la fonction AFK

en changeant cette ligne

AFKTimer[ playerid ] = SetTimerEx( "AFK", MINUTE_AFK * 60000, false, "i", playerid );
par

AFKTimer[ playerid ] = SetTimerEx( "Kick", MINUTE_AFK * 60000, false, "i", playerid );



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : Anti-Afk et Anti-Flood, une idée ?
« Réponse #7 le: 27 Octobre 2010, 17:16:14 »
Pas con !  :cheers

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : Anti-Afk et Anti-Flood, une idée ?
« Réponse #8 le: 27 Octobre 2010, 19:40:17 »
Salut,

bah avec mon code c'est mieux :p


Je peut même faire en sorte d'éviter de créer la fonction AFK

en changeant cette ligne

AFKTimer[ playerid ] = SetTimerEx( "AFK", MINUTE_AFK * 60000, false, "i", playerid );
par

AFKTimer[ playerid ] = SetTimerEx( "Kick", MINUTE_AFK * 60000, false, "i", playerid );

par contre le joueur ne saura pas ce qui lui est arrivé.

À noter que de nombreuses actions ne requièrent pas les touches. Par exemple, une personne en passager dans un véhicule qui ne fait que regarder autour en parlant. Personnellement je combinerais avec plein de callback en faisant un seul timer très simple:

en haut: new gAFKTime[MAX_PLAYERS];
dans OnGameModeInit -> SetTimer de 1seconde qui se répète
chaque callback importante -> gAFKTime[playerid] = ton temps en secondes avant action
ta fonction de ton timer:
public core_AFKSystem()
{
    for(new playerid = 0; playerid != MAX_PLAYERS; playerid++)
    {
        if(IsPlayerConnected(playerid))
        {
            gAFKTime[playerid]--;
            if(gAFKTime[playerid] == 0)
            {
                //action AFK
            }
        }
    }
    return 1;
}

sans oublier d'initialiser la variable dans OnPlayerConnect (et OnPlayerDisconnect)

++Sim++





Hors ligne Myk3L

  • *
  • Tueur en série
  • Messages: 197
    • Voir le profil
Re : Anti-Afk et Anti-Flood, une idée ?
« Réponse #9 le: 27 Octobre 2010, 20:48:12 »
J'aime bien ta fonction Sim mais quand tu dis "SetTimer de 1seconde qui se répète" comment je fais pour le faire se répéter ?