SK077 Posté(e) le 6 mai 2008 Signaler Partager Posté(e) le 6 mai 2008 Bonjour à tous, me voilà avec un nouveau problème: J'ai tout scripté un filterscript qui a pour but de faire un entrainement aux armes, dans l'endroit prevu à cet effet à l'ammunation. Il y a 8 stands dans cette salle, donc je me suis debrouillé pour qu'ils soient tous utilisables. Ca marche hyper bien quand je teste tout seul en local, mais comme je m'en doutais, ça ne marche pas quand plusieurs personne veulent s'entrainer en même temps. Pour ce script, j'ai utilisé plusieurs timer, en les introduisant par une variable propre à chaque joueur ( new StandTimer[MAX_PLAYERS];, et à un moment donné StandTimer[playerid] = SetTimer("... ). Sauf que cette méthode ne marche pas, et je ne comprend pas pourquoi. Si quelqu'un pourrait m'aider à résoudre ce problème, et à m'expliquer pourquoi ça ne marche pas comme ça ce serait super ! Merci à tous pour votre aide ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
StAfF MaN Posté(e) le 6 mai 2008 Signaler Partager Posté(e) le 6 mai 2008 le MAX_PLAYERS sert a un joueur (tu le savais) mais tu ne peut pas dire qu'il est égale a un timer, tu peut juste dire qu'il est égale a un nombre, par exemple : StandTimer[playerid] = 0 StandTimer[playerid] = 1 StandTimer[playerid] = 2 etc... Ce qui te sert a utiliser qu'une fonction pour plusieurs choses, style : (if(StandTimer[playerid] == 0){ Bla bla ... Si il est égale a 1 : bla bla (lol) Je peut te donner une solution, tu laisse le 0 pour si quand ton timer est fini (dans ton public de timer tu devra mettre StandTimer[playerid] = 0; ) pour qu'il soit égale a 1 il faut qu'une action se soit produite, dans cette action, tu mettra : StandTimer[playerid] = 1; et juste après (s'il rentre dans un checkpoint tu le mettra dans le public convenant ou la ou tu veut qu'il soit ) if(StandTimer[playerid] == 1){ Ton timer tu peut ajouter un texte SendClient ou un GameText, tous ce que tu veut return 1; } Et voila ^^ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
yohannc Posté(e) le 7 mai 2008 Signaler Partager Posté(e) le 7 mai 2008 La technique de superpompier fonction mais normalement SetTimer renvoit un entier correspondant à l'ID du thread lancé. Ce qui te permet de l'arrêter en cour de route par exemple. Donc ton problème est bizard et ne vient à mon avis pas de là. Tu peu essayer de faire un printf de ton timer pour voir si t'as bien l'id mais normalement c'est bon, le problème ne doit pas venir de là. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
SK077 Posté(e) le 9 mai 2008 Auteur Signaler Partager Posté(e) le 9 mai 2008 ok, merci à vous deux de vos réponses, je vais essayer de résoudre le problème ce week-end. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
SK077 Posté(e) le 11 mai 2008 Auteur Signaler Partager Posté(e) le 11 mai 2008 voilà, mon problème est reglé, j'ai suivit la méthode de superpompier, ça marche niquel, merci a vous ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.