18.11.2009, 20:01
Can someone look at this code and check and see what is wrong? 
This is the database code:
And this is in my script:
Does anyone see anything wrong?

This is the database code:
Код:
DROP TABLE IF EXISTS `Houses`; CREATE TABLE IF NOT EXISTS `Houses` ( `id` smallint(3) NOT NULL auto_increment, `owner` varchar(32) NOT NULL default 'None', `price` int(6) NOT NULL default '0', `RentPrice` int(6) NOT NULL default '0', `hLocked` tinyint(2) NOT NULL default '0', `EnterInt` smallint(3) NOT NULL default '0', `EnterWorld` smallint(3) NOT NULL default '0', `hEntranceX` float(10,5) NOT NULL default '0.00000', `hEntranceY` float(10,5) NOT NULL default '0.00000', `hEntranceZ` float(10,5) NOT NULL default '0.00000', `hExitX` float(10,5) NOT NULL default '0.00000', `hExitY` float(10,5) NOT NULL default '0.00000', `hExitZ` float(10,5) NOT NULL default '0.00000', `Owned` tinyint(1) NOT NULL default '0', `Rentable` tinyint(1) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=14 ; -- ------------------------------------------------------- INSERT INTO `Houses` (`id`,`owner`,`price`,`RentPrice`,`hLocked`,`EnterInt`,`EnterWorld`,`hEntranceX`,`hEntranceY`,`hEntranceZ`,`hExitX`,`hExitY`,`hExitZ`,`Owned`,`Rentable`) VALUES (2,'Eric_Wright',500,500,1,12,0,2459.569335,-1691.648437,13.544087,2324.418457,-1148.761718,1050.710083,1,1), (3,'None',10000,500,0,15,0,2065.1018,-1703.5829,14.1484,328.2272,1477.9617,1084.4375,0,0), (4,'None',3000,500,0,15,0,1420.7477,-1849.3765,13.9688,225.7570,1240.0000,1082.1406,0,0);
Код:
forward LoadHouses();
public LoadHouses()
{
new arrCoords[20][32];
new sql[80];
new row[512];
format(sql, sizeof(sql), "SELECT COUNT(*) FROM Houses");
samp_mysql_query(sql);
//if (DEBUG) SQLLog(sql);
samp_mysql_store_result();
samp_mysql_fetch_row(row);
totalhouse = strval(row);
samp_mysql_free_result();
new idx;
while (idx < sizeof(HouseInfo))
{
format(sql, sizeof(sql), "SELECT * FROM Houses WHERE id=%d", idx+1);
samp_mysql_query(sql);
//if (DEBUG) SQLLog(sql);
samp_mysql_store_result();
if (samp_mysql_num_rows() > 0)
{
samp_mysql_fetch_row(row);
split(row, arrCoords, '|');
samp_mysql_free_result();
strmid(HouseInfo[idx][Owner], arrCoords[0], 0, strlen(arrCoords[0]), 255);
strmid(HouseInfo[idx][Price], arrCoords[1], 0, strlen(arrCoords[1]), 255);
strmid(HouseInfo[idx][RentPrice], arrCoords[2], 0, strlen(arrCoords[2]), 255);
HouseInfo[idx][hLocked] = strval(arrCoords[3]);
HouseInfo[idx][EnterInt] = strval(arrCoords[4]);
HouseInfo[idx][EnterWorld] = strval(arrCoords[5]);
HouseInfo[idx][hEntranceX] = floatstr(arrCoords[6]);
HouseInfo[idx][hEntranceY] = floatstr(arrCoords[7]);
HouseInfo[idx][hEntranceZ] = floatstr(arrCoords[8]);
HouseInfo[idx][hExitX] = floatstr(arrCoords[9]);
HouseInfo[idx][hExitY] = floatstr(arrCoords[10]);
HouseInfo[idx][hExitZ] = floatstr(arrCoords[11]);
HouseInfo[idx][Owned] = strval(arrCoords[12]);
HouseInfo[idx][Rentable] = strval(arrCoords[13]);
if(HouseInfo[idx][Owned] == 0)
{
CreatePickup(1273, 1, HouseInfo[idx][hEntranceX], HouseInfo[idx][hEntranceY], HouseInfo[idx][hEntranceZ]);
Create3DTextLabel("Buyable House!",COLOR_LIGHTBLUE,HouseInfo[idx][hEntranceX], HouseInfo[idx][hEntranceY], HouseInfo[idx][hEntranceZ]+1,40.0, 0, 1);
SetPlayerMapIcon( idx, idx, HouseInfo[idx][hEntranceX], HouseInfo[idx][hEntranceY], HouseInfo[idx][hEntranceZ], 31, 0 );
}
else if(HouseInfo[idx][Owned] == 1)
{
CreatePickup(1273, 1, HouseInfo[idx][hEntranceX], HouseInfo[idx][hEntranceY], HouseInfo[idx][hEntranceZ]);
Create3DTextLabel("House!",COLOR_RED,HouseInfo[idx][hEntranceX], HouseInfo[idx][hEntranceY], HouseInfo[idx][hEntranceZ]+1,40.0, 0, 1);
SetPlayerMapIcon( idx, idx, HouseInfo[idx][hEntranceX], HouseInfo[idx][hEntranceY], HouseInfo[idx][hEntranceZ], 31, 0 );
}
if(HouseInfo[idx][Rentable] == 1)
{
Create3DTextLabel("Rentable House!",COLOR_GREEN,HouseInfo[idx][hEntranceX], HouseInfo[idx][hEntranceY], HouseInfo[idx][hEntranceZ]+2,40.0, 0, 1);
}
print("---------------------------------");
printf("House ID %d",idx);
printf("House Owner %s",HouseInfo[idx][Owner]);
printf("House Price %s",HouseInfo[idx][Price]);
printf("House RentPrice %s",HouseInfo[idx][RentPrice]);
print("---------------------------------");
idx++;
}
}
return 1;
}

