What wrong with this load a save house system
#1

Well, I decided to put my houses in mysql database and i have ran in to some issues, It's not saving the houses in the database like it's suppose to be


The Save Houses
pawn Код:
forward SaveHouses();
public SaveHouses()
{
            new idx;
            new sql[512];
            while (idx < sizeof(HouseInfo))
            {
            format(sql, sizeof(sql), "UPDATE houses SET Houseowner='%s',HenterX=%f,HenterY=%f,HenterZ=%f,HexitX=%f,HexitY=%f,HexitZ=%f,HenterInt=%d,HenterWorld=%d,HousePrice=%d,HouseRentPrice=%d,HouseRentable=%d,HouseLocked=%d,HouseDrugs=%d,HouseMats=%d,HouseGun1=%d,HouseGunAmmo1=%d,HouseGun2=%d,HouseGun2=%d,HouseGun3=%d,HouseGun3=%d,HouseMoney=%d,HouseOwned=%d,HouseLevel=%d WHERE Id=%d",
            HouseInfo[idx][hId],
            HouseInfo[idx][hOwner],
            HouseInfo[idx][hEnterX],
            HouseInfo[idx][hEnterY],
            HouseInfo[idx][hEnterZ],
            HouseInfo[idx][hExitX],
            HouseInfo[idx][hExitY],
            HouseInfo[idx][hExitZ],
            HouseInfo[idx][EnterInterior],
            HouseInfo[idx][EnterWorld],
            HouseInfo[idx][hPrice],
            HouseInfo[idx][hRentPrice],
            HouseInfo[idx][hRentable],
            HouseInfo[idx][hLocked],
            HouseInfo[idx][hDrugs],
            HouseInfo[idx][hMaterials],
            HouseInfo[idx][hGun1],
            HouseInfo[idx][hGunAmmo1],
            HouseInfo[idx][hGun2],
            HouseInfo[idx][hGunAmmo2],
            HouseInfo[idx][hGun3],
            HouseInfo[idx][hGunAmmo3],
            HouseInfo[idx][hMoney],
            HouseInfo[idx][hOwned],
            HouseInfo[idx][hLevel]);
            idx++;
            mysql_query(sql);
            }
            return 1;
        }
This Hasn't been tested since i haven't been able to make them save to the database but here is my loadhouses
pawn Код:
forward LoadHouses();
public LoadHouses()
{
        new arrCoords[24][32];
        new sql[128];
        new row[512];
        format(sql, sizeof(sql), "SELECT COUNT(*) FROM houses");
        mysql_query(sql);
        mysql_store_result();
        mysql_fetch_row(row);
        totalhouses = strval(row);
        mysql_free_result();
        new idx = 0;
        while(idx < totalhouses)
        {
            format(sql, sizeof(sql), "SELECT * FROM houses WHERE Houseid = %d", idx);
            mysql_query(sql);
            mysql_store_result();
            if(mysql_num_rows() > 0)
            {
            strmid(HouseInfo[idx][hOwner], arrCoords[0], 0, strlen(arrCoords[0]), 255);
            HouseInfo[idx][hEnterX] = floatstr(arrCoords[1]);
            HouseInfo[idx][hEnterY] = floatstr(arrCoords[2]);
            HouseInfo[idx][hEnterZ] = floatstr(arrCoords[3]);
            HouseInfo[idx][hExitX] = floatstr(arrCoords[4]);
            HouseInfo[idx][hExitY] = floatstr(arrCoords[5]);
            HouseInfo[idx][hExitZ] = floatstr(arrCoords[6]);
            HouseInfo[idx][EnterInterior] = strval(arrCoords[7]);
            HouseInfo[idx][EnterWorld] = strval(arrCoords[8]);
            HouseInfo[idx][hPrice] = strval(arrCoords[9]);
            HouseInfo[idx][hRentPrice] = strval(arrCoords[10]);
            HouseInfo[idx][hRentable] = strval(arrCoords[11]);
            HouseInfo[idx][hLocked] = strval(arrCoords[12]);
            HouseInfo[idx][hDrugs] = strval(arrCoords[13]);
            HouseInfo[idx][hMaterials] = strval(arrCoords[14]);
            HouseInfo[idx][hGun1] = strval(arrCoords[15]);
            HouseInfo[idx][hGunAmmo1] = strval(arrCoords[16]);
            HouseInfo[idx][hGun2] = strval(arrCoords[17]);
            HouseInfo[idx][hGunAmmo2] = strval(arrCoords[18]);
            HouseInfo[idx][hGun3] = strval(arrCoords[19]);
            HouseInfo[idx][hGunAmmo3] = strval(arrCoords[20]);
            HouseInfo[idx][hMoney] = strval(arrCoords[21]);
            HouseInfo[idx][hOwned] = strval(arrCoords[22]);
            HouseInfo[idx][hLevel] = strval(arrCoords[23]);
            new string[128];
            if(HouseInfo[idx][hOwned] == 0) {
                new location[MAX_ZONE_NAME];
                Get2DZone(location, MAX_ZONE_NAME, HouseInfo[idx][hEnterX],HouseInfo[idx][hEnterY],HouseInfo[idx][hEnterZ]);
                format(string, sizeof(string), "[House for sale]\nAddress: %d %s\nPrice: $%d\n Level: %d",idx,location,HouseInfo[idx][hPrice],HouseInfo[idx][hLevel]);
                housetext[idx] = Create3DTextLabel(string,COLOR_SPRINGGREEN,HouseInfo[idx][hEnterX],HouseInfo[idx][hEnterY],HouseInfo[idx][hEnterZ],40.0,0, 1);
            }
            else if(HouseInfo[idx][hOwned] == 1 && HouseInfo[idx][hRentable] == 0) {
                new location[MAX_ZONE_NAME];
                Get2DZone(location, MAX_ZONE_NAME, HouseInfo[idx][hEnterX],HouseInfo[idx][hEnterY],HouseInfo[idx][hEnterZ]);
                format(string, sizeof(string), "[House]\nAdress: %d %s\n Owner:%s\n Level: %d", idx,location,HouseInfo[idx][hOwner],HouseInfo[idx][hLevel]);
                housetext[idx] = Create3DTextLabel(string,COLOR_GOLD,HouseInfo[idx][hEnterX],HouseInfo[idx][hEnterY],HouseInfo[idx][hEnterZ],40.0,0, 1);
            }
            else if(HouseInfo[idx][hOwned] == 1 && HouseInfo[idx][hRentable] == 1) {
                new location[MAX_ZONE_NAME];
                Get2DZone(location, MAX_ZONE_NAME, HouseInfo[idx][hEnterX],HouseInfo[idx][hEnterY],HouseInfo[idx][hEnterZ]);
                format(string, sizeof(string), "[House]\nAdress: %d %s\nRent Price - $%d\n Owner:%s\n Level: %d", idx,location,HouseInfo[idx][hRentPrice],HouseInfo[idx][hOwner],HouseInfo[idx][hLevel]);
                housetext[idx] = Create3DTextLabel(string,COLOR_GOLD,HouseInfo[idx][hEnterX],HouseInfo[idx][hEnterY],HouseInfo[idx][hEnterZ],40.0,0, 1);
            }
            idx++;
            printf("%d Houses loaded from database", totalhouses);
        }
    }
    return 1;
}
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)