GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: gen_vivien le 06 Septembre 2008, 14:43:05
-
Bonjours.
Je voudrais apprendre à créer un Timer. J'ai regarder plusieurs script mais il me manque des éléments je pense.
En faite sur mon serveur j'ai remarquer que quand ont se connecte ont paye les soins de l'hopital.
Cela se fait seulement quand ont se connecte vite. Si ont attend bien que tout se charge, et qu'ont se connecte, ont ne payera pas l'hopital.
Alors j'ai regarder dans mon script, mais rien. Et sur d'autre serveur j'ai remarquer qu'il y avais un petit délais d'attente avant de ce connecté.
J'ai donc pensé à ça. Au final je voudrais apprendre donc à créer un Timer à la connexion.
Merci à tous, et dsl si je me suis un peu répété ;D
-
salut,
que veut tu faire exactement, que le joueur attende un temps avant que ta callback OnPlayerConnect prenne effet??
si oui tu n'as qu'a tout transférer dans une fonction qui serait executée d'un timer dans la callback
EXEMPLE:
public OnPlayerConnect(playerid)
{
new string[256],name[MAX_PLAYER_NAME];
GivePlayerMoney(playerid,10000);
GetPlayerName(playerid,name,sizeof(name));
GameTextForPlayer(playerid,"~w~ Bravo, tu t'es connecté sur le serveur",3500,5);
format(string,sizeof(string),"%s vien de rejoindre le serveur, il est trop fort!",name);
SendClientMessageToAll(COLOR_GREEn,string);
return 1;
}
deviendrais:
public OnPlayerConnect(playerid)
{
SetTimerEx("OnConnect",2500,0,"i",playerid);
return 1;
}
OnConnect(playerid)
{
new string[256],name[MAX_PLAYER_NAME];
GivePlayerMoney(playerid,10000);
GetPlayerName(playerid,name,sizeof(name));
GameTextForPlayer(playerid,"~w~ Bravo, tu t'es connecté sur le serveur",3500,5);
format(string,sizeof(string),"%s vien de rejoindre le serveur, il est trop fort!",name);
SendClientMessageToAll(COLOR_GREEn,string);
return 1;
}
et voila, sinon j'ai trouvé sur un wiki la fonction sleep, qui fait arrêter un processus pendant un temps donné, il est écrit qu'il ne fonctionne que dans "main"
mais bon tu peut essayer, voila l'exemple:
printf("Time 0s");
sleep(1000);
printf("Time 1s");
en espérant t'avoir aidé :-[
++Sim++
-
salut, merci de ta réponse.
En faite se que je veux c'est que quand ont se connecte au serveur, quelque chose force le joueur à attendre. Il ne peu rien faire pendant disons 20 secondes. ensuite toute les informations apparaisse et il peu se connecté.
Merci
-
Il existe un system de pause, pour mettre en pause le joueur et qu'il ne fasse plus rien, je croi que cest syg qui avait donné le code...
faudrait esseyer de le retrouver...
Mais cest possible ;)
++
nikko
-
Je vais faire une recherche. Merci
Edit : J'ai fait des recherches et j'ai rien trouvé. Je vais jeté un œil sur les forum Anglais si ya pas des info.