• 22 Avril 2025, 16:57:30


Auteur Sujet: Problème calculé le temps  (Lu 1285 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne .:: Miguel .::

  • *
  • Tueur en série
  • Messages: 206
    • Voir le profil
Problème calculé le temps
« le: 04 Novembre 2011, 19:24:48 »
Salut,
Je créé un FS pour pas floodé tout marche sauf que je voudrait intégré il est encore mute combien de temps dans le message

J'ai testé sa

<?php
new TempsUnmute;

    if(
NombreFloodChat[playerid] > 4)
    {
      
format(stringsizeof(string), "Il vous reste encore %d sec avant d'être unmute",TempsUnmute);
      
SendClientMessage(playerid,0xFEFEFE,string);
      
TempsUnmute SetTimerEx("MuteFlood",100000,0,"i",playerid);
      return 
0;
     }

forward MuteFlood(playerid);
public 
MuteFlood(playerid)
{
   
NombreFloodChat[playerid] = 0;
}
 

Mais sa me rajoute que 1sec a chaque fois que je flood.Sa me met pas le temps qu'il reste ou le temps qu'il a fait depuit le dernier mute




Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Problème calculé le temps
« Réponse #1 le: 04 Novembre 2011, 23:00:41 »
TempsUnmute[playerid] peut être ?

++

Hors ligne .:: Miguel .::

  • *
  • Tueur en série
  • Messages: 206
    • Voir le profil
Re : Problème calculé le temps
« Réponse #2 le: 04 Novembre 2011, 23:14:53 »
Nah aucun résulta



Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Problème calculé le temps
« Réponse #3 le: 05 Novembre 2011, 12:00:25 »
Personnellement, pour un système de mute, j'aurais opté pour un timer qui se répète toutes les secondes.
Ensuite, je lui communiquerait le nombre de secondes (ou de tour) qu'il faut pour s'arrêter (et donc unmuted) et j'ajouterais une variable qui s'incrémente à chaque tour (ce qui correspondra au seconde écoulé).
Pour optenir le temps restant, il faudra faire ...


temps_donnee - temps_courant
temps_donnee est le nombre de tours à effectuer et temps_courant le nombre de tours effectué.
Ensuite, lorsque ces deux variables sont égales, le joueur peut être unmuted.

Hors ligne Katou76

  • *
  • Tueur en série
  • Messages: 107
    • Voir le profil
Re : Problème calculé le temps
« Réponse #4 le: 05 Novembre 2011, 12:20:31 »
Salut,

Tu peut créer une variable qui te permet d’ajouter le temps que tu désire le mute:

Par Exemple:
TeampsMute[playerid] = 10000;
Ensuite tu créer un Timer qui check toutes les secondes et tu décrémente ta variable:

public Timer()
{
     if(TempsMute... > 0)
     {
          TeampsMute[playerid] --;
     }
     else if(TeampsMute... <= 0)
     {
           TempsMute[playerid] = 0; // Le joueur peut reparler
     }
}

Il me semble que c'est sa ^^
Ce code est un crime contre la programmation.

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Problème calculé le temps
« Réponse #5 le: 05 Novembre 2011, 13:50:25 »
@Katou76: C'est exactement ce que j'ai proposé à quelques exceptions prêt.
Sinon, dans ton code, jamais le mute ne se terminera.


if(TeampsMute[playerid] <= 0)
{
    TempsMute[playerid] = 0;
}

Quel est l'intérêt de mettre la variable à zéro si elle est déjà à zéro.
À la place de ça, tu devrais fermer le Timer, ou plutôt le détruire.

Hors ligne Katou76

  • *
  • Tueur en série
  • Messages: 107
    • Voir le profil
Re : Problème calculé le temps
« Réponse #6 le: 05 Novembre 2011, 16:05:04 »
Oui je détaillé un peu plus ton explication pour mieux comprendre et le code que j'ai fais, je l'ai tapé en 5 minutes sans me relire, il y a plusieurs code pour faire ce genre de système ^^
Ce code est un crime contre la programmation.

Hors ligne WaTsoN

  • *
  • Criminel
  • Messages: 40
    • Voir le profil
Re : Problème calculé le temps
« Réponse #7 le: 13 Novembre 2011, 17:04:33 »
Pour calculer le temp ?