GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Jeffreeeey le 29 Novembre 2009, 21:14:27

Titre: Timer Ou Wait
Posté par: Jeffreeeey le 29 Novembre 2009, 21:14:27
Des fois ne serait-il pas mieux de mettre Wait(5000) au lieu d'un timer ? Pourquoi prendre un timer au lieu de Wait ? Voila ma question  :king
Titre: Re : Timer Ou Wait
Posté par: cristab le 29 Novembre 2009, 21:19:22
voila l'erreure qur tu auras error 017: undefined symbol "Wait"
Titre: Re : Timer Ou Wait
Posté par: Jeffreeeey le 29 Novembre 2009, 21:36:38
Bizzard alor. http://wiki.sa-mp.com/wiki/Useful_Functions#Wait (http://wiki.sa-mp.com/wiki/Useful_Functions#Wait)
Titre: Re : Timer Ou Wait
Posté par: cristab le 29 Novembre 2009, 21:38:51
Citer
Useful Functions (uf.inc)
:...
Titre: Re : Timer Ou Wait
Posté par: ghm94 le 29 Novembre 2009, 21:40:11
Lut,

il me semble que le wait() ne fonctionne que dans le main()

++  8)
Titre: Re : Timer Ou Wait
Posté par: Jeffreeeey le 29 Novembre 2009, 21:42:55
Merci pour votre réponse.
Titre: Re : Timer Ou Wait
Posté par: MrFredo le 29 Novembre 2009, 22:13:18
Si Wait utilise la fonction sleep alors oui sa ne peux être utilisé que dans le main ;)
Titre: Re : Timer Ou Wait
Posté par: Ssk le 30 Novembre 2009, 13:29:14
Je pense que le wait est une simple boucle qui se termine a un temps donner ^^


Genre


Wait(1000);

public Wait(int ms)
{
new continuer = 1;
new tick = GetTickCount();

while(continuer)
{
if(GetTickCount() - Tick >= ms)
{
continuer = 0;
}
}
}

Cela remplace le Sleep() ^^
Titre: Re : Timer Ou Wait
Posté par: Jeffreeeey le 30 Novembre 2009, 16:07:56
Merci pour ta réponse. Ceci pourait être utile.
Titre: Re : Timer Ou Wait
Posté par: Syg le 30 Novembre 2009, 17:31:29
La fonction de sazuke fait 2 choses :
1 - Attendre la temps demandé
2 - Consommer tout le CPU (du moins un des CPUs sur les multi-cœurs)

De plus, cette fonction ne marche que sous Windows car la fonction GetTickCount n'est pas disponible sous Linux.

Je déconseille donc fortement de se servir de cette fonction sous peine de faire ramer votre serveur.
Bien qu'occasionnellement et pour une attente courte ce ne sera pas forcément très grave.

Donc si vous voulez quand même vous en servir, voici la version corrigée (celle qui ne fait pas planter PAWNCC) :
Wait (ms)
{
   new continuer = 1;
   new tick = GetTickCount () + ms;

   while (continuer)
   {
      if (GetTickCount () >= tick)
      {
         continuer = 0;
      }
   }
}
sazuke avait un peu mélangé le PAWN et le C :)
Et j'ai un peu modifié la fonction pour ne pas avoir à faire une soustraction à chaque passage dans la boucle.

++
Syg
Titre: Re : Timer Ou Wait
Posté par: Ssk le 30 Novembre 2009, 18:13:58
Arg lol je suis completement plonger dans le C j' ai mis int ms xd =)

Merci Syg ^^
Titre: Re : Timer Ou Wait
Posté par: Syg le 30 Novembre 2009, 22:55:05
Oui et panwcc se plante carrément quand il compile ta fonction (avec un joli message d'erreur Windows : voir l'image jointe !!!)
Essaies, tu verras, c'est marrant.


++
Syg
Titre: Re : Timer Ou Wait
Posté par: cristab le 30 Novembre 2009, 22:58:15
comment que j'aime ce genre de fenetre  :D
Titre: Re : Timer Ou Wait
Posté par: Syg le 30 Novembre 2009, 22:59:24
Alors essaie de compiler la fonction de sazuke :)

++
Syg
Titre: Re : Timer Ou Wait
Posté par: cristab le 30 Novembre 2009, 23:03:28
je vais bien dormir je pense



Titre: Re : Timer Ou Wait
Posté par: Ssk le 30 Novembre 2009, 23:05:44
mdr c' est trop beau ^^
Titre: Re : Timer Ou Wait
Posté par: Mr_C30 le 30 Novembre 2009, 23:11:38
perso moi j'ai pas de fenêtre verte oO
Titre: Re : Timer Ou Wait
Posté par: Ssk le 30 Novembre 2009, 23:13:18
Syg tu tourne sur Win 98 ??! mdr ou sur un theme 95 de vista ?!
Titre: Re : Timer Ou Wait
Posté par: Mr_C30 le 30 Novembre 2009, 23:18:01
xD les proGRAMATEUR  c'est bien connut on des pc pourit   =D
Titre: Re : Timer Ou Wait
Posté par: cristab le 30 Novembre 2009, 23:36:29
sous XP c'est entierement faisable  :P

meme sous vista je pense et 7 aussi
Titre: Re : Timer Ou Wait
Posté par: Syg le 30 Novembre 2009, 23:58:16
Non, j'ai XP Pro avec l'interface classique (je suis un nostalgique de Windows NT).
Et j'aime beaucoup le vert.

++
Syg