GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: /cartman le 20 Juin 2009, 15:24:41
-
salut je voudrait savoir comment fair pour qu'avec une comamde le chat me disse :
vous avez crée ** de bizness
vous avez crée ** de voiture
vous avez crée ** de spawn
mes fichier son dans mes scriptfiles le probléme c'est quil se nome comme sa :
001.biz
001.car
001.spwn
002.biz
002.car
002.spwn
...
je voudrai donc savoir comment compter de fichier en prenent en compte son extension ?? merci
++
-
creer un loop avec while ca t aideras un peu plus ;)
-
mercie :)
heu je n'est jamais crée de loop :-[ esque quelqu'un pourais maider ??
je suis allez voirle tutos des operateur de sa-mp mais je vois pas trop comment inclure ma recherche :-\
mercie a vs
++
-
j ai dit une erreur utilise for c est mieux
for(new var = 0;var <= -1;var++)
{
new string[128];
format(string,128,"%03d.ton extension",var);
if(!(exist(string)))
{
format(string,128,"tu as %d biz",var);
sendclientmessage(playerid,ta couleur,string);
var =-1;
}
} maintenant corrige les erreur car j ai tout sans pc regarde si la fonction existe belle est bien et j espere t avoir aider ;)
-
mercie :)
for(new var = 0;var <= -1;var++)
{
new string[128];
format(string,128,"%03d.mot",var);
if(!(fexist(string)))
{
format(string,128,"tu as %d biz",var);
SendClientMessage(playerid, COLOR_jaunase,string);
var =-1;
}
}
aucune ereure masi crash a la compilation masi crach mon sa-mp server au lancement
je vois pas trop ???
-
tu l as mis dans une cmd ??
sinon essaye de retirer le 03 dans le premier format
-
Salut,
vu les noms qu'il a donné à ses fichiers, il serait plus avisé de conserver le %03d par contre je serais pasé par une while loop afin d'établir le compte (comporte néanmoins un défaut)
new tmp[128], i = 0;
do
{
i++;
format(tmp, sizeof(tmp), "%03d.biz", i);
}
while(fexist(tmp));
//par contre ceci retourne le nombre de biz +1...
//i -=1;
//format(tmp, sizeof(tmp), "Ton serveur compte %d biz.", i);//c'est une des possibilités, sinon il te suffit de mettre i-1 au lieu de i:
format(tmp, sizeof(tmp), "Ton serveur possède %d biz.", i-1);//comme ceci quoi
un code légèrement plus simple qui comporte néanmoins le défaut de retourner 1 de plus que le nombre de biz, si tes biz commencaient à 0 il serait poassible de la même façon (a peu près) d'arriver au bon compte
++Sim++
-
HUUM ok mercie j'éditerai plus tar pour vous dire le resultat .
mais j'ai une question pourqu'oi 03 ???
++
edit: heu sa compile niquel mais fait cracher mon sa-mp server ( sans la modif il se lance) donc je vois pas trop ???
-
beh le 03 veut de faire 003 au de 3 par exemple 45 ca va etre 045 il le transforme en 3 caractere
-
a ok je comprend mercie sinon u ne c'est pas dous vien se crach dans se code ?
-
essaye d lance le serv sans ce code pour voir
-
oui j'ai tout tester ja enlever se code de mon fs et le serve se lance trankile sa vien vraiment de lui :dry
sinon soit cette forme il marche :laugh
if(strcmp(cmdtext, "/test", true) == 0)
{
mais moi je l'utilise comme sa et sa marche pas :-\
dcmd_test(playerid, params[])
{
#pragma unused params
et je j'ai besoins qu'il soit comme sa :(
-
Salut,
montre le code complet s'il-te-plait et fais un effort côté orthographe...
++Sim++
-
et biest excatement celui que tu ma donnée :-\
dcmd_test(playerid, params[])
{
#pragma unused params
new tmp[128], i = 0;
do
{
format(tmp, sizeof(tmp), "%03d.biz", i);
i++;
}
while(fexist(tmp));
//par contre ceci retourne le nombre de biz +1...
//i -=1;
//format(tmp, sizeof(tmp), "Ton serveur compte %d biz.", i);//c'est une des possibilités, sinon il te suffit de mettre i-1 au lieu de i:
format(tmp, sizeof(tmp), "Ton serveur possède %d biz.", i-1);//comme ceci quoi
SendClientMessage(playerid, COLOR_GREEN, tmp);
}
-
Salut,
si tu regarde mon code, le i++ se trouve devant le format....
p.s. les dcmd doivent retourné 1
++Sim++