• 04 Juin 2026, 20:39:18


Auteur Sujet: Donner un grade par nombre d'heure joué  (Lu 2068 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Donner un grade par nombre d'heure joué
« le: 11 Février 2011, 17:46:59 »
Bonjour,

Je voudrais savoir comment faire pour pouvoir donner des grades à un joueur par le nombre d'heure qu'il joue. Si un joueur joue moin de 3 Heures c'est un Noob. Si un joueur joue plus de 6 Heures alors c'est un Apprenti etc ...

Pouvez-vous m'aider ? Merci d'avance

++ Ju'

Hors ligne scrapy

  • Scripteur et Dévelopeur HTML
  • *
  • Tueur
  • Davy' Jones
  • Messages: 50
    • Voir le profil
Re : Donner un grade par nombre d'heure joué
« Réponse #1 le: 11 Février 2011, 17:58:08 »
Je sais Faire Comme pour les Grade MDC

Exemple lvl 3 = Noob a la place de MDC
lvl 6 = Apprenti a la place de MDC
San Fierro City Ouvre ces Portes
Site : http://sfcrp.monforum.net/
Forum : http://sfcrp.monforum.net/forum/



Hors ligne ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Re : Donner un grade par nombre d'heure joué
« Réponse #2 le: 11 Février 2011, 17:59:23 »
Oui, je sais faire ça j'ai déjà défini toute mes grades mais je ne sais pas comment les exploités les heures.

Hors ligne babaorum59

  • *
  • Tueur
  • Messages: 58
    • Voir le profil
Re : Donner un grade par nombre d'heure joué
« Réponse #3 le: 11 Février 2011, 18:42:31 »
d'après un gm que j'ai vue :
forward :
forward UpdateStatsTime(playerid);onplayerconnect :
public OnPlayerConnect(playerid)
{
STime[playerid] = SetTimerEx("UpdateStatsTime", 1000, true, "i", playerid);
puis
public UpdateStatsTime(playerid)
{
SSeconds[playerid]++;
if(SSeconds[playerid] == 59)
{
    SSeconds[playerid] = 0;
    SMinutes[playerid]++;
}
if(SMinutes[playerid] == 59)
{
    SMinutes[playerid] = 0;
    SHours[playerid]++;
}
...

Citer
l'alcool est un ennemie et fuir l'ennemie c'est étre un lache

Hors ligne Leonidas300

  • *
  • Bandit
  • Pawno-Amateur, a déjà crée plusieurs système
  • Messages: 301
    • Voir le profil
Re : Donner un grade par nombre d'heure joué
« Réponse #4 le: 11 Février 2011, 21:12:27 »
ou alors à chaque Heure passé tu monte le "lennbdheurequilajouer" et tu rajoute sa
crée un public et tu dit

if(PlayerInfo[playerid][Lenbdheurequilajouer] == 3)
{
          SetPlayerGrade(playerid, "Novice ^^");
}

pareil pour les autres grade.




Zombi PAWN,Créateur de *** ****** ********* !

Cherche hébérgement SA:MP! [PM Moi]
Merci à vous

Hors ligne babaorum59

  • *
  • Tueur
  • Messages: 58
    • Voir le profil
Re : Donner un grade par nombre d'heure joué
« Réponse #5 le: 11 Février 2011, 22:59:12 »
ou comme sa
public UpdateStatsTime(playerid)
{

if(HEUREDEJEU[playerid] == 3)
{
    SetPlayerGrade(playerid, "Débutant");
            dini_IntSet(filename,(playerid), "Grade", "Débutant");
}
if(HEUREDEJEU[playerid] == 6)
{
    SetPlayerGrade(playerid, "Apprenti");
            dini_IntSet(filename,(playerid), "Grade", "Apprenti");
}
if(HEUREDEJEU[playerid] == 9)
{
    SetPlayerGrade(playerid, "Novice");
            dini_IntSet(filename,(playerid), "Grade", "Novice");
}
...

Citer
l'alcool est un ennemie et fuir l'ennemie c'est étre un lache

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : Donner un grade par nombre d'heure joué
« Réponse #6 le: 12 Février 2011, 00:04:12 »
Salut,

simple remarque:

public UpdateStatsTime(playerid)
{
SSeconds[playerid]++;
if(SSeconds[playerid] == 59)
{
    SSeconds[playerid] = 0;
    SMinutes[playerid]++;
}
if(SMinutes[playerid] == 59)
{
    SMinutes[playerid] = 0;
    SHours[playerid]++;
}
        ...
}


Cette fonction est fausse. Enfin, elle est inexacte.

Cette fonction ajoute une minute quand 59 secondes sont passées. Que je sache, il y a 60 secondes dans une minute...

En gros, on ne peut pas avoir de 59e seconde.
Exemple: on passe de 58 minutes et 58 secondes à 1heure en 1 seconde....

La vraie fonction serait plutôt comme ceci:

public UpdateStatsTime(playerid)
{
SSeconds[playerid]++;
if(SSeconds[playerid] == 60)
{
    SSeconds[playerid] = 0;
    SMinutes[playerid]++;
}
if(SMinutes[playerid] == 60)
{
    SMinutes[playerid] = 0;
    SHours[playerid]++;
}
        ...
}

ps. si tu avais incrémenté tes variables après les tests, 59 aurait été la valeur correcte.

bonne chance

++Sim++





Hors ligne ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Re : Donner un grade par nombre d'heure joué
« Réponse #7 le: 12 Février 2011, 09:53:51 »
Je doit faire quoi ?  ;D

Hors ligne babaorum59

  • *
  • Tueur
  • Messages: 58
    • Voir le profil
Re : Re : Donner un grade par nombre d'heure joué
« Réponse #8 le: 12 Février 2011, 09:58:52 »
ou comme sa
public UpdateStatsTime(playerid)
{

if(HEUREDEJEU[playerid] == 3)
{
   SetPlayerGrade(playerid, "Débutant");
            dini_IntSet(filename,(playerid), "Grade", "Débutant");
}
if(HEUREDEJEU[playerid] == 6)
{
   SetPlayerGrade(playerid, "Apprenti");
            dini_IntSet(filename,(playerid), "Grade", "Apprenti");
}
if(HEUREDEJEU[playerid] == 9)
{
   SetPlayerGrade(playerid, "Novice");
            dini_IntSet(filename,(playerid), "Grade", "Novice");
}
...
test celle ci
mais je comprend pas un truc , le grade s'affiche ou ?

Citer
l'alcool est un ennemie et fuir l'ennemie c'est étre un lache

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Donner un grade par nombre d'heure joué
« Réponse #9 le: 12 Février 2011, 12:47:03 »
dini_IntSet != dini_Set
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 ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Re : Donner un grade par nombre d'heure joué
« Réponse #10 le: 12 Février 2011, 13:14:23 »
Je comprends plus rien, j'ai un cerveau qui fonctionne au 4L x)

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Donner un grade par nombre d'heure joué
« Réponse #11 le: 12 Février 2011, 16:15:41 »
je vous fait par de ma fonction pour les heure passer pour les jeux car les votre vont bugger ^^
public TempsDeJeu()
{
for(new o=0; o < MAX_PLAYERS;o++)
{
    if(IsPlayerConnected(o))
    {
    Minute[o]++;
    if(Minute[o] == 60)
    {
        Minute[o] = 0;
        Heure[o] ++;
if(Heure[o] == 24)
{
    Heure[o] = 0;
    Jour[o] ++;
}
}
}
}
}
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 ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Re : Donner un grade par nombre d'heure joué
« Réponse #12 le: 12 Février 2011, 16:41:20 »
Génial ! Mais comment je fait alors pour mettre ça avec mes 3 grades ?