GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: .:: Miguel .:: 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(string, sizeof(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
-
TempsUnmute[playerid] peut être ?
++
-
Nah aucun résulta
-
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.
-
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 ^^
-
@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.
-
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 ^^
-
Pour calculer le temp ?