• 05 Juillet 2025, 23:35:04


Auteur Sujet: [File] Supprimé des coordonnées  (Lu 1011 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Ashley11

  • C++ user
  • *
  • Bandit
  • Messages: 260
    • Voir le profil
[File] Supprimé des coordonnées
« le: 21 Décembre 2012, 13:04:17 »
Bonjour,

J'essaye de crée une commande du type "'/removehouse" pour pouvoir supprimé des maisons IG, seulement je peine à faire l'algo.

Pour l'instant je procède comme cela :

- Grâce à une boucle, j’incrémente une variable(i) et je cherche dans mon fichier, si je me trouve à la une position d'une maison.
- Si c'est le cas, je cherche à supprimé mes 30 valeurs correspondant à ma maison, mais je trouve pas de fonction.


Code: (pawn) [Sélectionner]
if(strcmp(cmd, "/removehouse", false, 10))
{
if(PlayerInfo[playerid][pAdmin] >= 1399)
{
for(int i = 0; i < sizeof(HouseInfo); i++)
{
    if(PlayerToPoint(2.0, playerid, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
{
new arrCoords[30][64];
new strFromFile2[30][256];
new File: file = fopen("property.cfg", io_readwrite);
if (file)
{
fread(file, strFromFile2);
              split(strFromFile2, arrCoords, ',');
...arrCoords[0]);
...arrCoords[1]);
...arrCoords[2]);
        ...arrCoords[3]);
...arrCoords[4]);
...arrCoords[5]);
...arrCoords[6]);
...arrCoords[7]);
...arrCoords[8]);
        ...arrCoords[9]);
...arrCoords[10]);
...arrCoords[11]);
...arrCoords[12]);
...arrCoords[13]);
...arrCoords[14]);
...arrCoords[15]);
...arrCoords[16]);
...arrCoords[17]);
...arrCoords[18]);
...arrCoords[19]);
                ...arrCoords[20]);
...arrCoords[21]);
...arrCoords[22]);
...arrCoords[23]);
                ...arrCoords[24]);
...arrCoords[25]);
...arrCoords[26]);
        ...arrCoords[27]);
        ...arrCoords[28]);
        ...arrCoords[29]);
idx++;
fclose(file);
}
}
}
}
return 1;
}



Merci d'avance.
« Modifié: 21 Décembre 2012, 18:43:01 par Ashley11 »

Hors ligne Malak

  • *
  • Tueur
  • Messages: 68
    • Voir le profil
Re : [File] Supprimé des coordonnées
« Réponse #1 le: 21 Décembre 2012, 19:30:09 »
Je te conseil de faire plutot comme ceci.

Code: (pawn) [Sélectionner]
                new result;
                for(int i = 0; i < sizeof(HouseInfo); i++)
                {
                    if(PlayerToPoint(2.0, playerid, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey],HouseInfo[i]  [hEntrancez]))
                   {
                        result = i;
                        break;
                    }
                {
Ensuite tu initialise toutes les variables de la maison.
Et dans la création d'une maison tu dit que si tel id de maison n'est pas utiliser alors la nouvelle maison prend cette ID.
Voila.
Sachant qu'il est beaucoup plus simple de réaliser un tel système en SQL.

Malak ++

EDIT (Xartrick): J'ai ajouté un break quand la maison est trouvé, cela évite de faire des tours en trop.
« Modifié: 04 Janvier 2013, 22:26:28 par Xartrick »