GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Showroom SA:MP => Discussion démarrée par: spiirou le 13 Décembre 2011, 14:47:40

Titre: [FS] AFK System
Posté par: spiirou le 13 Décembre 2011, 14:47:40
Salut,

Voila je viens de faire un petit systeme de pause ( afk )

Commandes :

/afk - se mettre en pause
/back - revenir en jeu
/aliste - voir les joueurs en pause

Contenu :

Tableau permettant de voir les informations sur les AFK ( ID, Pseudo, Durée d'absence )
Mise AFK automatique en cas d'inactivité prolongée ( en se basant sur les positions )

Liens :

v1
Pastebin.com (http://pastebin.com/V321EWKR)
Solidfiles.com (http://solidfiles.com/d/c4b40420b1/)


v1.1
Pastebin.com (http://pastebin.com/KJFDLLb8)
Solidfiles.com (http://solidfiles.com/d/3b274c2e01/)
Correction de sécurité, optimisation
Ajout d'une PVar "pState"
    0 = Le joueur n'a pas spawn
    1 = Le joueur a spawn
    2 = Le joueur est AFK


Autres :

Vous pouvez modifier le code comme bon vous semble,
Mais n'oubliez pas de me mettre dans vos credits :p

Spiirou
++



Je ne peux pas tester le script actuellement, merci de me dire si il existe des éventuels bugs !  ;D
Titre: Re : [FS] AFK System
Posté par: mehdi-jumper le 13 Décembre 2011, 14:53:17
Merci du partage :) il y a déjà pas mal de FS de ce genre mais je compte le modifier.

Bien joué :)

••
Titre: Re : [FS] AFK System
Posté par: ShaDowxx™ le 13 Décembre 2011, 15:56:01
Pour commencer, merci du partage.

Je viens de tester ton FilerScript en 0.3d.

Les plus:

Les commandes fonctionnent tous bien.
L'orthographe n'est pas souvent faux. (= je n'ai pas beaucoup regardé l'orthographe)

Le moins:

Pas de mise à jour automatique du temps d'AFK d'un joueur.

Ce que je propose:

Mettre une commande d'aide.
Mettre un système qui permet de mettre le temps d'AFK à jour en temps réel.

Voilà, je n'ai pas l'habitude de faire des tests de FilerScript GM par mon manque de temps mais bon... Ton FilerScript à une vraie capacité à exploiter.

Cordialement, ShaDowxx.
Titre: Re : [FS] AFK System
Posté par: spiirou le 13 Décembre 2011, 16:13:43
Merci bien, comment ca pas de mise a jour de temps d'AFK ? J'ai pas bien compris  ???
Titre: Re : [FS] AFK System
Posté par: mehdi-jumper le 13 Décembre 2011, 16:23:58
Moi non plus j'ai pas saisi.
Tu pourrais aussi créer des 3dText au dessus des joueurs qui sont afk comme sa cela se voit directement.
Titre: Re : [FS] AFK System
Posté par: spiirou le 13 Décembre 2011, 16:32:31
Les AFK sont dans un virtualworld donc c'est inutile en fait :)
Titre: Re : [FS] AFK System
Posté par: S!m le 13 Décembre 2011, 16:48:07
Salut,

quelques petits trucs auxquels tu devrais faire attention:

public OnFilterScriptExit()
{
        for(new i = 0; i < MAX_PLAYERS; i++) KillTimer(pAfk[i][timer]);
        return 1;
}

Si le joueur n'a pas de timer (s'il n'est pas connecté), tu détruit un timer vide ou potentiellement un timer d'un autre script dépendant de la valeur de la variable...bref, ajoute le test IsPlayerConnected.

Je crois que tu peut faire mieux et plus simple que ça:

                                while(minute > 60)
                                {
                                    heure ++;
                                    minute -= 60;
                                }

Essaie simplement:

heure = minute / 60;
minute -= heure * 60;
Comme minute et 60 sont des valeurs entières, la division sera traitée de façon entière. Dans ce cas, la machine arrondi la valeur vers le bas, ce qui est exactement ce que l'on veut dans ce cas.

Attention, à un endroit tu as écris que les valeurs des statuts sont 0, 1 et 2 et des constantes sont à -1, 0 et 1. J'aurais tendance à prendre 0, 1 et 2.

enum afk
{
        statut, // 0 = pas spawn | 1 = spawn | 2 = AFK
        timer,
        ...

sinon, c'est un beau script qui me semble apte à être utiliser sur la plupart des serveurs. Normalement il n'y a pas de conflits.
Une suggestion: ajouter une pvar ou un truc du genre qui permettrait de connaitre le statut du joueur depuis un autre script.

++Sim++
Titre: Re : [FS] AFK System
Posté par: Prince™ le 13 Décembre 2011, 16:52:40
Bien jouer Spiiro





++



Prince !
Titre: Re : [FS] AFK System
Posté par: spiirou le 13 Décembre 2011, 18:22:41
Pour le KillTimer je n'y avais pas pensé
Les heures et minutes j'avais trouvé ma solution, il est vrai que j'aurais du plus chercher
Et les constantes c'est une erreur de ma part

Voila voila :P

Merci bien, le script sera mis a jour dans les minutes qui viennent :)

Spiirou
++

EDIT : Mise a jour des liens, corrections et ajouts effectués ! Merci Sim :D