• 19 Avril 2025, 05:12:04


Auteur Sujet: problème avec timer et pose de bombe  (Lu 1315 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
problème avec timer et pose de bombe
« le: 04 Novembre 2008, 12:09:05 »
Salut !! J'expose mon problème en espérant un réponse ^^ Voila en faite j'ai un timer qui se déclenche quand un joueur entre dans un checkpoint, le checkpoint disparait et le joueur peut aller ou il veut, ce timer une fois fini dois poser une bombe a l'endroit ou est le joueur, Le problème c'est que la bombe ce pose sur l'ID 0, donc pas franchement pratique.... De plus une fois la bombe en place, défois les CT ne voyent pas le Checkpoint qui se créé POUR EUX, pas pour les T..... Je n'arrive pas a résoudre le prob.... Je tourne autour du pot... J'ai vu un poste aussi avec le prob d'ID0 avec un timer mais je n'ai pas réussi a résoudre le problème...  :bangin

////En haut
static Float:posx = 0.0;
static Float:posy = 0.0; ////////////// Position pour bombe et checkpoint CT
static Float:posz = 0.0;



////public
public OnPlayerEnterCheckpoint(playerid)
{
   if(terro)
   {
      if(lost[playerid] == 1)
      for(new i = 0; i < MAX_PLAYERS; i++)
      {
         DisablePlayerCheckpoint(i);
         SendClientMessage(playerid, COLOR_RED, "Place la bombe où tu veut !!");
         Counter = SetTimer("TimerCounter", 1000, true);
         counter = 5;
         check[playerid]=1;
         return 1;
      }
  return 1;
   }

/////////////////suite public checkpoint

   return 1;
}


///// public pour timer

public TimerCounter(playerid)
{
   new string[128];
   format(string,sizeof(string),"~r~%d",counter);
   GameTextForAll(string,1000,5);
   PlayAllSound(1056);
   counter--;
   for(new i = 0; i < MAX_PLAYERS; i++)
   if(counter == -1)
   {
      if(lost[playerid]==1)
      if(check[playerid]==1)
      {
         KillTimer(Counter);
         PlayAllSound(1057);
         DisablePlayerCheckpoint(i);
         SendClientMessageToAll(COLOR_RED,"Bombe en place");
         SendClientMessageToAll(COLOR_RED,"La bombe explosera dans 30 secondes !!");
         GetPlayerPos(playerid, posx, posy, posz);
         object=CreateObject(1252, posx, posy, posz, RX, RY, RZ);
         posse[TEAM_CT] = 1;
         contre=SetPlayerCheckpoint(TEAM_CT, posx, posy, posz, 3);
         Explose = SetTimer("TimerExplose", 1000, true);
         explose = 30;
         return 1;
      }
   }
   return 1;
}

Merci de votre aide ^^  :)
« Modifié: 04 Novembre 2008, 12:12:22 par [StAfF]mAn »
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : problème avec timer et pose de bombe
« Réponse #1 le: 04 Novembre 2008, 15:34:39 »
Utilise settimerex



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : problème avec timer et pose de bombe
« Réponse #2 le: 04 Novembre 2008, 16:22:27 »
Va vraiment falloire qu'on m'explique la différence entre SetTimer et SetTimerEx, le Ex c'est juste pour un joueur non ? Qi c'est le cas c'est pas ce que je recherche ^^ Je veut que tout le monde voient le timer ;)
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : problème avec timer et pose de bombe
« Réponse #3 le: 04 Novembre 2008, 17:05:30 »
SetTimerEx tu peut le stopper.

Le SetTimer nan

NV.



Tu vois avant? Bah j'étais là encore avant!

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : problème avec timer et pose de bombe
« Réponse #4 le: 04 Novembre 2008, 17:12:34 »
Ok ^^  :dejadehors bah c'est pas le timer le prob de toute façon ^^ C'est le résultat et se qui se passe quand le timer est fini ^^ Parce que j'arrive pas a trouver...   :wall

Puis plus ça va plus il y a des bugs dans mon script xD (aucune erreurs  ni warnings mais choses bizarres qui se passent genre  l'ID 0 est le seul a avoir l'action... )
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Re : problème avec timer et pose de bombe
« Réponse #5 le: 05 Novembre 2008, 11:12:17 »
SetTimerEx tu peut le stopper.

Le SetTimer nan

Meme avec un kill timer ? Oo

++
nikko

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : problème avec timer et pose de bombe
« Réponse #6 le: 05 Novembre 2008, 11:37:27 »
La SEULE différence entre SetTimer et SetTimerEx c'est qu'avec SetTimerEx, on peut passer des paramètre au timer. Mais c'est une différence de taille qui nous rend énormément de services.
Sinon, pour le reste les deux fonctions sont équivalentes, on peut créer un timer continu ou exécuté qu'une seule fois, on peut détruire un timer créé avec l'une ou l'autre des fonctions, ....

Dans le cas qui te préoccupe tu as fait un timer avec un paramètre mais lorsque tu le crées avec SetTimer, tu ne peux pas lui dire quelle sera la valeur de ce paramètre. Par défaut, PAWN met ce paramètre à 0. C'est pourquoi ton timer ne marche qu'avec le joueur 0.

Donc la seule chose que tu as à faire pour que ça marche, c'est de remplacer la ligne
Counter = SetTimer("TimerCounter", 1000, true);par
Counter = SetTimerEx ("TimerCounter", 1000, true, "i", playerid);
Comme cela, le paramètre de ton timer aura la bonne valeur quand le timer sera appelé.

++
Syg
Courtesy of GtaManiac

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : problème avec timer et pose de bombe
« Réponse #7 le: 05 Novembre 2008, 13:37:17 »
J'ai rien dit  ::)

NV.



Tu vois avant? Bah j'étais là encore avant!

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : problème avec timer et pose de bombe
« Réponse #8 le: 05 Novembre 2008, 14:24:29 »
Je ne l'avais pas fait remarquer Native  ;).

++
Syg
Courtesy of GtaManiac

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : problème avec timer et pose de bombe
« Réponse #9 le: 05 Novembre 2008, 18:08:23 »
Merci je vais tester ça de suite ^^
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|