GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: DexX le 20 Août 2011, 18:25:09
-
Bonjour,
Voilà, je refais mon système de maisons et j'aimerais créer une commande permettant de créer une maison directement dans le jeu.
Voici la commande :
Donc je met mes variables aux valeurs HouseInfo[newHouseId][hEntrancex] = x; ....etc
Puis à la fin de ma commande : sauvegarde_Maison(HouseID);
sauvegarde_Maison :
forward sauvegarde_Maison(idx);
public sauvegarde_Maison(idx)
{
new file[64];
format(file, sizeof(file),"Maisons/%d.ini",idx);
if(dini_Exists(file))
{
dini_FloatSet(file,"EntrerX",HouseInfo[idx][hEntrancex]);
}
return 1;
}
Le fichier ne se crée pas....Merci d'avance de votre aide.
-
Tu vérifie seulement si le fichier existe, et si c'est la cas, tu fais tes opérations, sinon, tu ne fais rien.
Comprend tu réellement se que tu fais ?
-
Je met juste à jour mes données là ?
-
Je vois que tu ne comprends pas ce que tu es entrain de faire.
Va lire le tutoriel de Cristab sur dini, cela te fera le plus grand bien.
-
Je l'es déjà consulter mais je ne vois pas comment créer cette fonction permettant de créer ce fichier.
Je dois utiliser dini_create ?
-
Alléluia !
-
Sa donnerais cela en quelque sorte ? :
format(HouseInfo,sizeof(HouseInfo),"Maisons/%d", idx);
dini_Create(HouseInfo);
dini_Set(cardata,"HouseOwner", Variable);
dini_Set(cardata,"HouseName",Variable);
-
if(!(dini_Exists(sFile)))
{
dini_Create(sFile);
}
C'est pas plus compliqué, ensuite, tu peux faire ce que tu veux, le fichier existe.
-
D'accord, donc ceci marcherait parfaitement ?
public sauvegarde_Maison(idx)
{
new sFile[64];
format(sFile, sizeof(sFile),"Maisons/%d.ini",idx);
if(!(dini_Exists(sFile)))
{
dini_Create(sFile);
dini_FloatSet(sFile,"EntrerX",HouseInfo[idx][hEntrancex]);
dini_FloatSet(sFile,"EntrerY",HouseInfo[idx][hEntrancey]);
dini_FloatSet(sFile,"EntrerZ",HouseInfo[idx][hEntrancez]);
dini_FloatSet(sFile,"SortieX",HouseInfo[idx][hExitx]);
dini_FloatSet(sFile,"SortieY",HouseInfo[idx][hExity]);
dini_FloatSet(sFile,"SortieY",HouseInfo[idx][hExitz]);
dini_Set(sFile,"Proprietaire",HouseInfo[idx][hOwner]);
dini_Set(sFile,"Description",HouseInfo[idx][hDiscription]);
}
-
Regarde ce que tu fais et réfléchi !
Là, si le fichier existe, il ne se passe rien ...
Tu as vraiment besoin de regarder ce que tu fais et de ne pas demandé à tous les messages si le code est bon ou non.