Bug while. - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Bug while. (
/showthread.php?tid=537132)
Bug while. -
Baltimore - 13.09.2014
Hello!
Here I have a problem with my loop.
I had to worry about, so I do log (printf) and it tells me PosX value 0.00000 in printf while in my MySQL database value is not 0.
I also consulted my debug.txt values were good but there was this:
CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Empty Result)
pawn Code:
public LoadSQLObjets()
{
new i;
new requete[1024],
Charger[35];
while(i <= MAX_OBJETS)
{
format(requete, sizeof(requete), "SELECT * FROM srp_players_objets WHERE LOWER(ID) = LOWER('%d') LIMIT 1", i);
mysql_query(requete);
mysql_store_result();
if(mysql_num_rows() != 0)
{
while(mysql_fetch_row_format(requete, "|"))
{
mysql_fetch_field_row(Charger, "ID"); ObjetsInfo[i][ID] = strval(Charger);
mysql_fetch_field_row(Charger, "IDOBJET"); ObjetsInfo[i][IDOBJET] = strval(Charger);
mysql_fetch_field_row(Charger, "VW"); ObjetsInfo[i][VW] = strval(Charger);
mysql_fetch_field_row(Charger, "Inte"); ObjetsInfo[i][Inte] = strval(Charger);
mysql_fetch_field_row(Charger, "PosX"); ObjetsInfo[i][PosX] = floatstr(Charger);
mysql_fetch_field_row(Charger, "PosY"); ObjetsInfo[i][PosY] = floatstr(Charger);
mysql_fetch_field_row(Charger, "PosZ"); ObjetsInfo[i][PosZ] = floatstr(Charger);
mysql_fetch_field_row(Charger, "poseur"); strmid(ObjetsInfo[i][Poseur], Charger, 0, strlen(Charger), 255);
mysql_fetch_field_row(Charger, "Gilet"); ObjetsInfo[i][Gilet] = floatstr(Charger);
mysql_fetch_field_row(Charger, "Sommes"); ObjetsInfo[i][Sommes] = strval(Charger);
mysql_fetch_field_row(Charger, "VarieteArme"); ObjetsInfo[i][VarieteArme] = strval(Charger);
printf("While: %f", ObjetsInfo[i][PosX]);
if(ObjetsInfo[i][IDOBJET] == 1242) // Gilet, on le mets а Z - 0.85
{
ObjetsAuSol[i] = CreateDynamicObject(ObjetsInfo[i][IDOBJET], ObjetsInfo[i][PosX], ObjetsInfo[i][PosY], ObjetsInfo[i][PosZ]-0.85, 0.0, 0.0, 0.0, ObjetsInfo[i][VW], ObjetsInfo[i][Inte], -1, 100.0);
}
else
{
ObjetsAuSol[i] = CreateDynamicObject(ObjetsInfo[i][IDOBJET], ObjetsInfo[i][PosX], ObjetsInfo[i][PosY], ObjetsInfo[i][PosZ]-1, 0.0, 0.0, 0.0, ObjetsInfo[i][VW], ObjetsInfo[i][Inte], -1, 100.0);
printf("Objet: %f", ObjetsInfo[i][PosX]);
}
mysql_free_result();
}
i++;
}
else
{
i++;
continue;
}
if(i >= MAX_OBJETS)
{
break;
}
}
return 1;
}
Re: Bug while. -
Baltimore - 13.09.2014
up please.
Re: Bug while. -
Baltimore - 14.09.2014
UP please.
(+reps for help)
Re: Bug while. -
Baltimore - 14.09.2014
Indeed, there is no need to do that.
SELECT * FROM srp_players_objets WHERE LOWER(ID) = LOWER('%d') LIMIT 1
to:
SELECT * FROM srp_players_objets WHERE ID = '%d' LIMIT 1
it will be correct for the query?
Re : Bug while. -
S4t3K - 14.09.2014
I think so.
Try and tell us.
Re: Bug while. -
Baltimore - 14.09.2014
I made the change, it does not change in any case the initial worries.