08.08.2010, 09:20
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
This Hasn't been tested since i haven't been able to make them save to the database but here is my loadhouses
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;
}
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;
}