Mysql is not setting positions.
#1

I have an dynamic house system that works great so far, except the part when the server restart's, The houses do not load in game.

They save perfectly into MYSQL with the right position, but thats it.

Heres the code where the house's gets loaded.

Код:

stock MySQL_House(playerid)
{
    new query[300], pname[24], savingstring[20],string1[128];
    GetPlayerName(playerid, pname, 24);
    format(query, sizeof(query), "SELECT * FROM house WHERE houseid = <0");
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row_format(query,"|"))
    {
        mysql_fetch_field_row(savingstring, "houseid"); HouseID[playerid] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Owner"); HouseOwner[playerid] = strval(savingstring);
		mysql_fetch_field_row(savingstring, "xHPos"); zHPos[playerid] = strval(savingstring);
		mysql_fetch_field_row(savingstring, "yHPos"); yHPos[playerid] = strval(savingstring);
		mysql_fetch_field_row(savingstring, "zHPos"); zHPos[playerid] = strval(savingstring);
		
		new X = xHPos[playerid];
		new Y = yHPos[playerid];
		new Z = zHPos[playerid];
		format(string1,sizeof string1,"House Owner: %s\nX:%d, Y:%d,Z:%d\nHouse ID:%d",HouseOwner,xHPos,yHPos,zHPos,HouseID);
		CreatePickup(1273,1,X,Y,Z);
		Create3DTextLabel(string1, 0xFFFFFFFF, X,Y,Z, 10.0, 0, 0);

	}
	mysql_free_result();
	return 1;
}
Any ideas on how to fix this?
Reply
#2

EDIT: Use "floatstr(string);"

pawn Код:
mysql_fetch_field_row(savingstring, "xHPos"); zHPos[playerid] = floatstr(savingstring);
mysql_fetch_field_row(savingstring, "yHPos"); yHPos[playerid] = floatstr(savingstring);
mysql_fetch_field_row(savingstring, "zHPos"); zHPos[playerid] = floatstr(savingstring);
       
new Float:X = xHPos[playerid];
new Float:Y = yHPos[playerid];
new Float:Z = zHPos[playerid];
Reply
#3

Use what bogdan1992 said, but i would really recommend you use sscanf to load.
Reply
#4

Meh, Call me a noob or not but im getting errors

Код:
		mysql_fetch_field_row(savingstring, "xHPos"); zHPos[playerid] = floatstr(savingstring);
		mysql_fetch_field_row(savingstring, "yHPos"); yHPos[playerid] = floatstr(savingstring);
		mysql_fetch_field_row(savingstring, "zHPos"); zHPos[playerid] = floatstr(savingstring);
Код:
C:\Documents and Settings\Chris\My Documents\GTA\SAMP\filterscripts\Admin.pwn(409) : warning 213: tag mismatch
C:\Documents and Settings\Chris\My Documents\GTA\SAMP\filterscripts\Admin.pwn(410) : warning 213: tag mismatch
C:\Documents and Settings\Chris\My Documents\GTA\SAMP\filterscripts\Admin.pwn(411) : warning 213: tag mismatch
Reply
#5

Tell me xHPos, yHPos, zHPos are defined as floats?
Reply
#6

Indeed, they are.
Reply
#7

pawn Код:
stock MySQL_House(playerid)
{
    new query[300], pname[24], savingstring[20],string1[128], x[20], y[20], z[20];
    GetPlayerName(playerid, pname, 24);
    format(query, sizeof(query), "SELECT * FROM house WHERE houseid = <0");
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row_format(query,"|"))
    {
        mysql_fetch_field_row(savingstring, "houseid"); HouseID[playerid] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Owner"); HouseOwner[playerid] = strval(savingstring);
        mysql_fetch_field_row(x, "xHPos");
        mysql_fetch_field_row(y, "yHPos");
        mysql_fetch_field_row(z, "zHPos");

        format(string1, sizeof string1, "House Owner: %s\nX:%d, Y:%d,Z:%d\nHouse ID:%d", HouseOwner, floatstr(x), floatstr(y), floatstr(z), HouseID);
        CreatePickup(1273, 1, floatstr(x), floatstr(y), floatstr(z));
        Create3DTextLabel(string1, 0xFFFFFFFF, floatstr(x), floatstr(y), floatstr(z), 10.0, 0, 0);

    }
    mysql_free_result();
    return 1;
}
Reply
#8

Same problems, Houses fail to load.
Reply
#9

Check the positions with a message

pawn Код:
new string2[50];
format(string2, 50, "x: %f, y:%f, z:%f", floatstr(x), floatstr(y), floatstr(z));
SendClientMessage(playerid, -1, string2);
EDIT: Try now,

pawn Код:
stock MySQL_House(playerid)
{
    new query[300], pname[24], savingstring[20],string1[128], x[20], y[20], z[20];
    GetPlayerName(playerid, pname, 24);
    format(query, sizeof(query), "SELECT * FROM `house`");
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row_format(query,"|"))
    {
        mysql_fetch_field_row(savingstring, "houseid"); HouseID[playerid] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Owner"); HouseOwner[playerid] = strval(savingstring);
        mysql_fetch_field_row(x, "xHPos");
        mysql_fetch_field_row(y, "yHPos");
        mysql_fetch_field_row(z, "zHPos");

        format(string1, sizeof string1, "House Owner: %s\nX:%d, Y:%d,Z:%d\nHouse ID:%d", HouseOwner, floatstr(x), floatstr(y), floatstr(z), strval(HouseID));
        CreatePickup(1273, 1, floatstr(x), floatstr(y), floatstr(z));
        Create3DTextLabel(string1, 0xFFFFFFFF, floatstr(x), floatstr(y), floatstr(z), 10.0, 0, 0);

    }
    mysql_free_result();
    return 1;
}
Reply
#10

Recieved an Message.



Anything else we can try?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)