Server Crash cuz of house system
#1

Hi!

I made a house system [MySQL] but it crashes when i load the FS, why?

And please look under the "OnPlayerPickUpPickup" callback i wrote something there, and please look after some mistakes who maybe bug the system :P

Thanks

-Unknown123

Here is the code:
pawn Код:
#include <a_samp>
#include <mysql>
#include <sscanf2>

#define COLOR_RED           0xFF0000FF
#define COLOR_GREEN         0x00AF11FF
#define COLOR_GREY          0x909090FF

#define MySQLhost           "localhost"
#define MySQLuser           "root"
#define MySQLpass           "mypass"
#define MySQLdb             "ServerDataBase"

#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

#define MAX_HOUSES 100

new HouseCount = -1;
new PickupID[MAX_HOUSES];

enum HouseInfo
{
    HouseOwner[24],
    HouseName[128],
    HousePrice,
    Float:EnterX,
    Float:EnterY,
    Float:EnterZ,
    Float:ExitX,
    Float:ExitY,
    Float:ExitZ,
    Interior,
    Virtual,
    Owned
}
new HouseData[MAX_HOUSES][HouseInfo];

public OnFilterScriptInit()
{
    for(new h = 0; h < MAX_HOUSES; h++)
    {
        LoadHouses(h);
        print("Houses Loaded");
        return 1;
    }
    return 1;
}

stock LoadHouses(playerid)
{
    new row[512];
    mysql_query("SELECT * FROM `Houses`");
    mysql_store_result();
    while(mysql_fetch_row(row, "|"))
    {
        sscanf(row, "p<|>s[24]s[128]dffffffdd", HouseData[playerid][HouseOwner], HouseData[playerid][HouseName], HouseData[playerid][HousePrice], HouseData[playerid][EnterX], HouseData[playerid][EnterY], HouseData[playerid][EnterZ], HouseData[playerid][ExitX], HouseData[playerid][ExitY], HouseData[playerid][ExitZ], HouseData[playerid][Interior], HouseData[playerid][Virtual]);

        CreateHouse(HouseData[playerid][HouseOwner], HouseData[playerid][HouseName], HouseData[playerid][HousePrice], HouseData[playerid][EnterX], HouseData[playerid][EnterY], HouseData[playerid][EnterZ], HouseData[playerid][ExitX], HouseData[playerid][ExitY], HouseData[playerid][ExitZ], HouseData[playerid][Interior], HouseData[playerid][Virtual]);
    }
    mysql_free_result();
}

stock CreateHouse(hOwner, hName, hPrice, Float:hEnterX, Float:hEnterY, Float:hEnterZ, Float:hExitX, Float:hExitY, Float:hExitZ, hInterior, hVirtual)
{
    new queue[512];
   
    HouseCount ++;
    new ID = HouseCount;
   
    PickupID[ID] = CreatePickup(1273, 23, hEnterX, hEnterY, hEnterZ, -1); //!
   
    format(queue, sizeof(queue), "INSERT INTO `Houses` (HouseOwner, HouseName, HousePrice, EnterX, EnterY, EnterZ, ExitX, ExitY, ExitZ, Interior, Virtual, Owned) VALUES ('%s', '%s', '%d', '%f', '%f', '%f', '%f', '%f', '%f', '%d', '%d', '0')", hOwner, hName, hPrice, hEnterX, hEnterY, hEnterZ, hExitX, hExitY, hExitZ, hInterior, hVirtual+ID);
    mysql_query(queue);
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    for(new h; h<MAX_HOUSES; h++)
    {
        if(pickupid == PickupID[h])
        {
            /*
            if(!IsPlayerOwner(h) && HouseData[h][Owned] == 0))
            {
                SendClientMessage(h, 0xFF0000FF, "House for sale");
                return 1;
            }
            if(HouseData[h][Owned] == 1))
            {
                new string[64];
                format(string,sizeof(string),"House owner: %s", PlayerData[h][HouseOwner]);
                SendClientMessage(playerid,0xFFFFFFAA,string);
                return 1;
            }
            if(HouseData[h][Owned] == 1 && HouseData[h][HouseOwner]))
            {
                Put player in his house, how? xD
            }
            */

        }
    }
    return 1;
}

//-Commands

public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(createhouse, 11, cmdtext);
    return 0;
}

dcmd_createhouse(playerid, params[])
{
    if(IsPlayerAdmin(playerid))
    {
        new owner, name, price;
        if(sscanf(params, "s[24]s[128]d", owner, name, price)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /createhouse (owner name) (house name) (price)");
        {
            new Float:x, Float:y, Float:z;
            GetPlayerPos(playerid, x, y, z);
   
            CreateHouse(owner, name, price, 314.820984, -141.431992, 999.661987, x, y+3, z, 7, 100);
           
            SendClientMessage(playerid, COLOR_GREY, "House Created");
            return 1;
        }
    }
    return 0;
}
Reply


Messages In This Thread
Server Crash cuz of house system - by Unknown123 - 14.03.2011, 05:57
Re: Server Crash cuz of house system - by Larsey123IsMe - 15.03.2011, 01:22
Re: Server Crash cuz of house system - by Unknown123 - 15.03.2011, 01:31
Re: Server Crash cuz of house system - by elcid7772 - 15.03.2011, 01:46
Re: Server Crash cuz of house system - by Unknown123 - 16.03.2011, 23:02

Forum Jump:


Users browsing this thread: 2 Guest(s)