• 07 Juin 2026, 05:06:13


Auteur Sujet: Problème SetTimer  (Lu 3291 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Damien_Lohier

  • *
  • Tueur en série
  • Messages: 138
    • Voir le profil
Re : Problème SetTimer
« Réponse #15 le: 31 Décembre 2010, 13:35:08 »
Ah oué c'est différent merci :)

(Désolé si je répond pas vite, mon navigateur est mort xD)

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Problème SetTimer
« Réponse #16 le: 31 Décembre 2010, 13:35:24 »
Je suis d'accord avec Dizzy-Beno (pour une fois).
Tu fais un copier/coller sans comprendre ce que tu fais alors qu'il existe des tutoriels comme celui de Gilux qui explique en douceur le Pawn.




Tu ne peux déclarer une fonction dans une fonction ou dans un callback, c'est illogique.
« Modifié: 03 Janvier 2011, 02:05:14 par Xartrick »

Hors ligne Damien_Lohier

  • *
  • Tueur en série
  • Messages: 138
    • Voir le profil
Re : Problème SetTimer
« Réponse #17 le: 31 Décembre 2010, 13:49:01 »
Bref, passons  :D
Le timer fonctionne parfaitement merci Cristab!
Ps: Je dois faire un public pour chaque fois que j'utilise un timer??

Double post
Un soucis, j'ai mis quatre timer sur quatre commandes différentes (1 sur chaque), mais quand j'utilise la commande, une seul porte s'ouvre. Vous comprendrez mieux avec le code :)

forward:
Citer
forward Timer3();
forward Timer4();
forward Timer5();
forward Timer6();

CreateObject: (fermé)
Citer
   Portemarine1=CreateObject(975,-1635.79064900,258.09396400,1.81356800,0.00000000,91.10028943,89.38141604); //object(36)
    Portemarine2=CreateObject(975,-1432.88269000,289.88739000,1.69441900,0.00000000,89.38141604,90.24085273); //object(40)
    Portemarine3=CreateObject(975,-1310.03649900,483.61636400,1.81728700,6.87549354,88.52197935,90.24085273); //object(46)
   Portemarine4=CreateObject(975,-1456.28491200,483.63339200,1.88630600,0.00000000,91.10034672,90.24085273); //object(47)

Les commandes:
Citer
   if (strcmp("/portemarine1", cmdtext, true, 10) == 0)
      {
      MoveObject(Portemarine1, -1635.79064900,260.86828600,1.81356800, 3.5);
      SetTimer("Timer3", 5000, false);
          SendClientMessage(playerid, 0x800000FF, "Les portes marine sont ouvertes. Fermeture dans 10 secondes.");
          return 1;
    }
    if (strcmp("/portemarine2", cmdtext, true, 10) == 0)
      {
          MoveObject(Portemarine2, -1432.88269000,292.63732900,1.69441900, 3.5);
          SetTimer("Timer4", 5000, false);
          SendClientMessage(playerid, 0x800000FF, "Les portes marine sont ouvertes. Fermeture dans 10 secondes.");
          return 1;
    }
    if (strcmp("/portemarine3", cmdtext, true, 10) == 0)
      {
          MoveObject(Portemarine3, -1310.03649900,480.91653400,1.81728700, 3.5);
          SetTimer("Timer5", 5000, false);
          SendClientMessage(playerid, 0x800000FF, "Les portes marine sont ouvertes. Fermeture dans 10 secondes.");
          return 1;
    }
    if (strcmp("/portemarine4", cmdtext, true, 10) == 0)
      {
          MoveObject(Portemarine4, -1456.28491200,480.83371000,1.98630600, 3.5);
          SetTimer("Timer6", 5000, false);
          SendClientMessage(playerid, 0x800000FF, "Les portes marine sont ouvertes. Fermeture dans 10 secondes.");
          return 1;
    }

Et les public en bas de page:
Citer
public Timer3()
{
   MoveObject(Portemarine1, -1635.79064900,260.86828600,1.81356800, 3.5); // Fermé avec timer
}

public Timer4()
{
   MoveObject(Portemarine2, -1432.88269000,292.63732900,1.69441900, 3.5); // Fermé avec timer
}

public Timer5()
{
   MoveObject(Portemarine3, -1456.28491200,480.83371000,1.98630600, 3.5); // Fermé avec timer
}

public Timer6()
{
   MoveObject(Portemarine4, -1529.58715800,482.09603900,7.89035500, 3.5); // Fermé avec timer
}

J'ai vérifié les coordonnés x y et z mais il sont correctes...

Conclusion:

Je demande de l'aide car une seul porte (toujours la même) s'ouvre pour n'importe quel commande, mais pas ceux que je demande...
« Modifié: 31 Décembre 2010, 14:58:35 par Damien_Lohier »

Hors ligne Brian Turner

  • PAWN/PHP/SQL/MAP/SQUIRIEL
  • *
  • Bandit
  • Messages: 438
    • Voir le profil
Re : Problème SetTimer
« Réponse #18 le: 02 Janvier 2011, 14:49:09 »
salut

deja dans ton timer, tu met 5000 millisecondes, hors sa fait 5 secondes, donc 10000 pour 10 secs.
apres, enleve le 10 et le true du if(strcmp("......", cmdtext, true, 10)==0)  sa donne:

Code: (pawn) [Sélectionner]
if(strcmp("/....",cmdtext) == 0)
++ Brian
Momoto33127
__________________________________________
[TRADUCTION][FS]Celular call 1.5 : Voir le poste
[ADDON/INC]Motor System (/clef et /vsortir pour Gveh) : Voir le poste
[FS]BanList (BlackListe) [Systeme de BAN] : Voir le poste

Hors ligne Damien_Lohier

  • *
  • Tueur en série
  • Messages: 138
    • Voir le profil
Re : Problème SetTimer
« Réponse #19 le: 02 Janvier 2011, 22:06:31 »
Merci de ta réponse!
Mon problème est résolu  ;)

Je souhaite bonne année à tout le monde  :cheers

(Merci de ne pas poster inutilement par la suite 8) )