Housing System - Loading from MySQL
#8

Quote:
Originally Posted by kirollos
Посмотреть сообщение
I have tweaked this abit, also i have commented your errors etc..

pawn Код:
stock LoadHouseInfo()
{
    new query[100], savingstring[20], string[256];
    for(new houseid=1; houseid<MAX_HOUSES; houseid++)
    {
        format(query, sizeof(query), "SELECT * FROM houses WHERE ID=%d", houseid);
        mysql_query(query);
        mysql_store_result();
        if(mysql_num_rows())
        {
            while(mysql_fetch_row_format(query,"|"))
            {
                /*mysql_fetch_field_row(savingstring, "Address"); HouseInfo[houseid][hAddress] = strval(savingstring);
                mysql_fetch_field_row(savingstring, "Owner"); HouseInfo[houseid][hOwner] = strval(savingstring);*/

                /*i wonder why you use strval to convert strings? Look below for good ones for strings..*/

                //Strings
                mysql_fetch_field_row(savingstring, "Address"); format(HouseInfo[houseid][hAddress], 100, "%s", savingstring);
                mysql_fetch_field_row(savingstring, "Owner"); format(HouseInfo[houseid][hOwner], MAX_PLAYER_NAME, "%s", savingstring);

                //Integers
                mysql_fetch_field_row(savingstring, "Owned"); HouseInfo[houseid][hOwned] = strval(savingstring);
                mysql_fetch_field_row(savingstring, "Price"); HouseInfo[houseid][hPrice] = strval(savingstring);

                //Floats
                mysql_fetch_field_row(savingstring, "X"); HouseInfo[houseid][hX] = floatstr(savingstring);
                mysql_fetch_field_row(savingstring, "Y"); HouseInfo[houseid][hY] = floatstr(savingstring);
                mysql_fetch_field_row(savingstring, "Z"); HouseInfo[houseid][hZ] = floatstr(savingstring);
            }
           
            HouseInfo[houseid][hID] = houseid;
            HouseInfo[houseid][hPickUp] = CreateDynamicPickup(1273, 1, HouseInfo[houseid][hX], HouseInfo[houseid][hY], HouseInfo[houseid][hZ], 0);
            format(string, sizeof(string), ""Green"ID: %d\nHouse Address: %s\nOwner: %s\nPrice: $%d", HouseInfo[houseid][hID], HouseInfo[houseid][hAddress], HouseInfo[houseid][hOwner], HouseInfo[houseid][hPrice]);
            HouseInfo[houseid][hText] = CreateDynamic3DTextLabel(string, -1, HouseInfo[houseid][hX], HouseInfo[houseid][hY], HouseInfo[houseid][hZ], 20.0);
            /*format(string, sizeof(string), "House ID: %f", HouseInfo[houseid][hX]);
            printf(string);*/

            printf("House ID: %i", HouseInfo[houseid][hID]);
            //houseid++; // no need
            //break; // Why zdding this? :/
         }
         mysql_free_result(); // This is the warning line.
    }
    printf("All houses have been successfully loaded.");
    return 1;
}
Hello kirollos, thanks for replying.
I have tried this code and it gives a warning:
Код:
C:\Users\Mike\Desktop\FA-RP\gamemodes\MySQL.pwn(2118) : warning 217: loose indentation
The warning line has been displayed in the code but despite this warning, when I compile and run the server it shows the "All houses have been successfully loaded" print but not the "House ID: %i" print.

Here is the CREATE TABLE for 'houses':
pawn Код:
mysql_query("CREATE TABLE IF NOT EXISTS houses(ID INT(10), Address VARCHAR(24), Owner VARCHAR(24), Owned INT(10), Price INT(10), X FLOAT(20), Y FLOAT(20), Z FLOAT(20) )");
Here is the enum for the house variables and strings:
pawn Код:
enum hInfo
{
    hID,
    hAddress[50],
    hOwner[50],
    hOwned,
    Float:hX,
    Float:hY,
    Float:hZ,
    hPrice,
    hPickUp,
    Text3D:hText
}

new HouseInfo[MAX_HOUSES][hInfo];
Here is the /createhouse command:
pawn Код:
CMD:createhouse(playerid, params[])
{
    new string[128], query[300], Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    if(isnull(params)) return SendClientMessage(playerid, -1, ""Grey"Syntax"White": /createhouse [address].");
    for(new houseid=1; houseid<MAX_HOUSES; houseid++)
    {
        if(HouseInfo[houseid][hID] != 0) continue;
        HouseInfo[houseid][hID] = houseid;
        format(HouseInfo[houseid][hAddress], 100, "%s", params);
        format(HouseInfo[houseid][hOwner],  50, "None");
        HouseInfo[houseid][hOwned] = 0;
        HouseInfo[houseid][hPrice] = 120000;
        HouseInfo[houseid][hX] = x;
        HouseInfo[houseid][hY] = y;
        HouseInfo[houseid][hZ] = z;
        HouseInfo[houseid][hPickUp] = CreateDynamicPickup(1273, 1, x, y, z, 0);
        format(string, sizeof(string), ""Green"ID: %d\nHouse Address: %s\nOwner: %s\nPrice: $%d", HouseInfo[houseid][hID], HouseInfo[houseid][hAddress], HouseInfo[houseid][hOwner], HouseInfo[houseid][hPrice]);
        HouseInfo[houseid][hText] = CreateDynamic3DTextLabel(string, -1, x, y, z, 20.0);
        format(query, sizeof(query), "INSERT INTO houses (ID, Address, Owner, Owned, Price, X, Y, Z) VALUES(%d, '%s', '%s', %d, %d, %f, %f, %f)", HouseInfo[houseid][hID], HouseInfo[houseid][hAddress], HouseInfo[houseid][hOwner], HouseInfo[houseid][hOwned], HouseInfo[houseid][hPrice], HouseInfo[houseid][hX], HouseInfo[houseid][hY], HouseInfo[houseid][hZ]);
        mysql_query(query);
        format(string, sizeof(string), ""Green"Notice"White": You have created house ID %d.", HouseInfo[houseid][hID]);
        SendClientMessage(playerid, -1, string);
        break;
    }
    return 1;
}
Here is a screenshot of my 'houses' table after using /createhouse:
Reply


Messages In This Thread
Housing System - Loading from MySQL - by AphexCCFC - 13.09.2013, 06:03
Re: Housing System - Loading from MySQL - by WopsS - 13.09.2013, 07:07
Re: Housing System - Loading from MySQL - by DanishHaq - 13.09.2013, 07:12
Re: Housing System - Loading from MySQL - by AphexCCFC - 13.09.2013, 08:07
Re: Housing System - Loading from MySQL - by AphexCCFC - 13.09.2013, 09:59
Re: Housing System - Loading from MySQL - by AphexCCFC - 13.09.2013, 16:10
Re: Housing System - Loading from MySQL - by Kirollos - 13.09.2013, 16:37
Re: Housing System - Loading from MySQL - by AphexCCFC - 13.09.2013, 17:48
Re: Housing System - Loading from MySQL - by Emmet_ - 13.09.2013, 17:55
Re: Housing System - Loading from MySQL - by Kirollos - 13.09.2013, 18:00

Forum Jump:


Users browsing this thread: 1 Guest(s)