GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Mac.Max le 22 Février 2008, 20:09:25
-
Bonjour,
Mon soucis est que je voudrais créer un variable à partir d'une chaine (je ne sais pas si c'est dit correctement)
for(new Ma=1; Ma<40; Ma++)
{
format(string, sizeof(string), "Ma%d", Ma);
new Float:PosPX, Float:PosPY, Float:PosPZ;
PosPX = dini_Int(nomfichier, "PosPX");
PosPY = dini_Int(nomfichier, "PosPY");
PosPZ = dini_Int(nomfichier, "PosPZ");
strval(string) = CreatePickup(1273, 15, PosPX, PosPY, PosPZ);
}
Erreur : error 022: must be lvalue (non-constant) ==> strval(string) = CreatePickup(1273, 15, PosPX, PosPY, PosPZ);
Merci
Maxime
-
salut max,
juste comme ça, qu'y a t'il autour de ce bout de code(très près) car la je n'ai aucune idée de ce qu'il est supposé faire a part un pickup à l'endroit où se trouve le joueur
bon, si ce que tu veut c'est juste créé un pickup....
premièrement, si ta boucle s'applique sur les joueurs, il est mieux de faire:
for(new Ma=1; Ma<MAX_PLAYERS; Ma++)
{
if(IsPlayerConneted(Ma)){
}
}
ensuite pour le reste, je ne voit pas a quoi il te sert d'enregistrer les données dans un fichier,
tu devrais plutôt seulement faire une variable:
format(string, sizeof(string), "Ma%d", Ma);
new Float:PosPX, Float:PosPY, Float:PosPZ;
GetPlayerPos(Ma,PosPX,PosPY,PosPZ);
CreatePickup(1273, 15, PosPX, PosPY, PosPZ);
}
si ce n'est pas ça, répond vite
++Sim++
-
Salut,
Il n'y a pas grand chose je viens de commencer le script.
ji mis les new Ma1 jusqua Ma40.
public OnFilterScriptInit()
{
new string[256];
for(new Ma=1; Ma<40; Ma++)
{
format(string, sizeof(string), "Ma%d", Ma);
if(dini_Int(nomfichier, "Dispo") == 1)
{
new Float:PosPX, Float:PosPY, Float:PosPZ;
PosPX = dini_Int(nomfichier, "PosPX");
PosPY = dini_Int(nomfichier, "PosPY");
PosPZ = dini_Int(nomfichier, "PosPZ");
strval(string) = CreatePickup(1273, 15, PosPX, PosPY, PosPZ);
}
}
}
-
salut,
mais que sont ces Ma.....
++Sim++
-
le Ma est le raccourci de maison :D
la boucle est faite pour placer les pickups devant chaque maison
EDIT : C'est bon sa compile mais j'ai pas encore tester
SOLUTION :
#define MAX_HAUSES 40
new string[256];
for(new Ma=1; Ma<MAX_HAUSES; Ma++)
{
format(string, sizeof(string), "Ma%d", Ma);
new Float:PosPX, Float:PosPY, Float:PosPZ;
PosPX = dini_Int(nomfichier, "PosPX");
PosPY = dini_Int(nomfichier, "PosPY");
PosPZ = dini_Int(nomfichier, "PosPZ");
Maison[Ma] = CreatePickup(1273, 15, PosPX, PosPY, PosPZ);
}