calling UpdateUserPosition(playerid);
UpdateUserPosition(playerid)
{
GetUserPosition(playerid);
new query[654];
mysql_format(g_SQL, query, sizeof query, "UPDATE `accounts` SET `posX` =%f, `posY` =%f, `posZ` =%f, `posA` =%f WHERE `id` = %d LIMIT 1", Player[playerid][X_Pos], Player[playerid][Y_Pos], Player[playerid][Z_Pos], Player[playerid][A_Pos], Player[playerid][ID]);
mysql_tquery(g_SQL, query);
return 1;
}
stock GetUserPosition(playerid)
{
new Float: pos[4];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
GetPlayerFacingAngle(playerid, pos[3]);
Player[playerid][X_Pos] = pos[0];
Player[playerid][Y_Pos] = pos[1];
Player[playerid][Z_Pos] = pos[2];
Player[playerid][A_Pos] = pos[3];
return 1;
}
new Float:angleposition[1];
|
Even tho this is theoretically working (and not a fix to your problem):
PHP Code:
And about your problem: print X, Y and Z before saving it, to see what it is, since the variables are at the top of your script (why ever that is so), they might be overwritten from somehwere else. |
UpdateUserPosition(playerid)
{
GetUserPosition(playerid);
new query[512];
mysql_format(g_SQL, query, sizeof query, "UPDATE `accounts` SET `posx` = %f, `posy` = %f, `posz` = %f, `posa` = %f WHERE `id` = %d LIMIT 1", Player[playerid][X_Pos], Player[playerid][Y_Pos], Player[playerid][Z_Pos], Player[playerid][A_Pos], Player[playerid][ID]);
mysql_tquery(g_SQL, query);
return 1;
}
stock GetUserPosition(playerid)
{
new Float: pos[4];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
GetPlayerFacingAngle(playerid, pos[3]);
Player[playerid][X_Pos] = pos[0];
Player[playerid][Y_Pos] = pos[1];
Player[playerid][Z_Pos] = pos[2];
Player[playerid][A_Pos] = pos[3];
return 1;
}