House system only loading 1 house.
#1

Hello guys. Well, i created a dynamic house system. It creates all right, but when i restart server it only loads the first house.. I made it same way as vehicle system, but vehicles load and this one doesn't.

The codes:

The OnGameModeInit() Load part:

pawn Код:
for(new h = 1; h < sizeof(HouseInfo); h++)
    {
        format(file, sizeof(file), "RRP/houses/%d.ini", h);
        if(fexist(file))
        {
            if(HouseInfo[h][Owner] == 0)
            {
                new string[128];
                housepickup[h] = CreatePickup(1273, 1, HouseInfo[h][X], HouseInfo[h][Y], HouseInfo[h][Z], 0);
                format(string, sizeof(string), "This house is for sale. Use /buyhouse to buy it. Price: %d", HouseInfo[h][Price]);
                housetext[h] = Create3DTextLabel(string, COLOR_RED, HouseInfo[h][X], HouseInfo[h][Y], HouseInfo[h][Z], 10.0, 0);
            }
            else
            {
                new string[128];
                housepickup[h] = CreatePickup(1273, 1, HouseInfo[h][X], HouseInfo[h][Y], HouseInfo[h][Z], 0);
                format(string, sizeof(string), "This house is owned by %s.", HouseInfo[h][Owner]);
                housetext[h] = Create3DTextLabel(string, COLOR_RED, HouseInfo[h][X], HouseInfo[h][Y], HouseInfo[h][Z], 10.0, 0);
            }
        }
        return 1;
    }
    return 1;
Whole OnGameModeInit:
pawn Код:
public OnGameModeInit()
{
    SetGameModeText("RRP v0.01");
    AddPlayerClass(0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0);
    LoadServerInfo();
    LoadVehiclesInfo();
    LoadVehicles();
    for(new h = 1; h < sizeof(CarInfo); h++)
    {
        format(file, sizeof(file), "RRP/vehicles/%d.ini", h);
        if(fexist(file))
        {
            if(CarInfo[h][Owner] == 0)
            {
                new string[128];
                CreateVehicle(CarInfo[h][Model], CarInfo[h][X], CarInfo[h][Y], CarInfo[h][Z], CarInfo[h][A], CarInfo[h][Color1], CarInfo[h][Color2], 86400);
                format(string, sizeof(string), "This vehicle is for sale. Use /buycar to buy it. Price: %d", CarInfo[h][Price]);
                dealercar[h] = Create3DTextLabel(string, COLOR_RED, CarInfo[h][X], CarInfo[h][Y], CarInfo[h][Z], 10.0, 0, 0);
            }
            else CreateVehicle(CarInfo[h][Model], CarInfo[h][X], CarInfo[h][Y], CarInfo[h][Z], CarInfo[h][A], CarInfo[h][Color1], CarInfo[h][Color2], 86400);
        }
    }
    LoadHousesInfo();
    LoadHouses();
    for(new h = 1; h < sizeof(HouseInfo); h++)
    {
        format(file, sizeof(file), "RRP/houses/%d.ini", h);
        if(fexist(file))
        {
            if(HouseInfo[h][Owner] == 0)
            {
                new string[128];
                housepickup[h] = CreatePickup(1273, 1, HouseInfo[h][X], HouseInfo[h][Y], HouseInfo[h][Z], 0);
                format(string, sizeof(string), "This house is for sale. Use /buyhouse to buy it. Price: %d", HouseInfo[h][Price]);
                housetext[h] = Create3DTextLabel(string, COLOR_RED, HouseInfo[h][X], HouseInfo[h][Y], HouseInfo[h][Z], 10.0, 0);
            }
            else
            {
                new string[128];
                housepickup[h] = CreatePickup(1273, 1, HouseInfo[h][X], HouseInfo[h][Y], HouseInfo[h][Z], 0);
                format(string, sizeof(string), "This house is owned by %s.", HouseInfo[h][Owner]);
                housetext[h] = Create3DTextLabel(string, COLOR_RED, HouseInfo[h][X], HouseInfo[h][Y], HouseInfo[h][Z], 10.0, 0);
            }
        }
        return 1;
    }
    return 1;
}
Create house cmd:
pawn Код:
CMD:createhouse(playerid, params[])
{
    new Float:px, Float:py, Float:pz, hprice, hint, string[128];
    GetPlayerPos(playerid, px, py, pz);
    if(!sscanf(params, "ii", hint, hprice))
    {
        new hid;
        hid = Houses[topnumber]+1;
        new vwid;
        vwid = Houses[vwtopnumber]+1;
        if(hint == 1)
        {
            format(file, sizeof(file), "RRP/houses/%d.ini", hid);
            dini_Create(file);
            dini_FloatSet(file, "X", Float:px);
            dini_FloatSet(file, "Y", Float:py);
            dini_FloatSet(file, "Z", Float:pz);
            dini_IntSet(file, "Price", hprice);
            dini_IntSet(file, "Int", hint);
            dini_IntSet(file, "Owner", 0);
            dini_IntSet(file, "Lock", 0);
            dini_FloatSet(file, "IntX", 223.043991);
            dini_FloatSet(file, "IntY", 1289.259888);
            dini_FloatSet(file, "IntZ", 1082.199951);
            dini_IntSet(file, "Vw", vwid);
            LoadHouses();
            housepickup[hid] = CreatePickup(1273, 1, Float:px, Float:py, Float:pz, 0);
            format(string, sizeof(string), "This house is for sale. Use /buyhouse to buy it. Price: %d", hprice);
            housetext[hid] = Create3DTextLabel(string, COLOR_RED, Float:px, Float:py, Float:pz, 10.0, 0);
            Houses[topnumber] = Houses[topnumber]+1;
            Houses[vwtopnumber] = Houses[vwtopnumber]+1;
        }
        if(hint == 2)
        {
            format(file, sizeof(file), "RRP/houses/%d.ini", hid);
            dini_Create(file);
            dini_FloatSet(file, "X", Float:px);
            dini_FloatSet(file, "Y", Float:py);
            dini_FloatSet(file, "Z", Float:pz);
            dini_IntSet(file, "Price", hprice);
            dini_IntSet(file, "Int", hint);
            dini_IntSet(file, "Owner", 0);
            dini_IntSet(file, "Lock", 0);
            dini_FloatSet(file, "IntX", 225.756989);
            dini_FloatSet(file, "IntY", 1240.000000);
            dini_FloatSet(file, "IntZ", 1082.149902);
            dini_IntSet(file, "Vw", vwid);
            LoadHouses();
            housepickup[hid] = CreatePickup(1273, 1, Float:px, Float:py, Float:pz, 0);
            format(string, sizeof(string), "This house is for sale. Use /buyhouse to buy it. Price: %d", hprice);
            housetext[hid] = Create3DTextLabel(string, COLOR_RED, Float:px, Float:py, Float:pz, 10.0, 0);
            Houses[topnumber] = Houses[topnumber]+1;
            Houses[vwtopnumber] = Houses[vwtopnumber]+1;
        }
        if(hint == 3)
        {
            format(file, sizeof(file), "RRP/houses/%d.ini", hid);
            dini_Create(file);
            dini_FloatSet(file, "X", Float:px);
            dini_FloatSet(file, "Y", Float:py);
            dini_FloatSet(file, "Z", Float:pz);
            dini_IntSet(file, "Price", hprice);
            dini_IntSet(file, "Int", hint);
            dini_IntSet(file, "Owner", 0);
            dini_IntSet(file, "Lock", 0);
            dini_FloatSet(file, "IntX", 235.508994);
            dini_FloatSet(file, "IntY", 1189.169897);
            dini_FloatSet(file, "IntZ", 1080.339966);
            dini_IntSet(file, "Vw", vwid);
            LoadHouses();
            housepickup[hid] = CreatePickup(1273, 1, Float:px, Float:py, Float:pz, 0);
            format(string, sizeof(string), "This house is for sale. Use /buyhouse to buy it. Price: %d", hprice);
            housetext[hid] = Create3DTextLabel(string, COLOR_RED, Float:px, Float:py, Float:pz, 10.0, 0);
            Houses[topnumber] = Houses[topnumber]+1;
            Houses[vwtopnumber] = Houses[vwtopnumber]+1;
        }
        if(hint == 5)
        {
            format(file, sizeof(file), "RRP/houses/%d.ini", hid);
            dini_Create(file);
            dini_FloatSet(file, "X", Float:px);
            dini_FloatSet(file, "Y", Float:py);
            dini_FloatSet(file, "Z", Float:pz);
            dini_IntSet(file, "Price", hprice);
            dini_IntSet(file, "Int", hint);
            dini_IntSet(file, "Owner", 0);
            dini_IntSet(file, "Lock", 0);
            dini_FloatSet(file, "IntX", 1299.14);
            dini_FloatSet(file, "IntY", -794.77);
            dini_FloatSet(file, "IntZ", 1084.00);
            dini_IntSet(file, "Vw", vwid);
            LoadHouses();
            housepickup[hid] = CreatePickup(1273, 1, Float:px, Float:py, Float:pz, 0);
            format(string, sizeof(string), "This house is for sale. Use /buyhouse to buy it. Price: %d", hprice);
            housetext[hid] = Create3DTextLabel(string, COLOR_RED, Float:px, Float:py, Float:pz, 10.0, 0);
            Houses[topnumber] = Houses[topnumber]+1;
            Houses[vwtopnumber] = Houses[vwtopnumber]+1;
        }
        if(hint == 7)
        {
            format(file, sizeof(file), "RRP/houses/%d.ini", hid);
            dini_Create(file);
            dini_FloatSet(file, "X", Float:px);
            dini_FloatSet(file, "Y", Float:py);
            dini_FloatSet(file, "Z", Float:pz);
            dini_IntSet(file, "Price", hprice);
            dini_IntSet(file, "Int", hint);
            dini_IntSet(file, "Owner", 0);
            dini_IntSet(file, "Lock", 0);
            dini_FloatSet(file, "IntX", 225.630997);
            dini_FloatSet(file, "IntY", 1022.479980);
            dini_FloatSet(file, "IntZ", 1084.069946);
            dini_IntSet(file, "Vw", vwid);
            LoadHouses();
            housepickup[hid] = CreatePickup(1273, 1, Float:px, Float:py, Float:pz, 0);
            format(string, sizeof(string), "This house is for sale. Use /buyhouse to buy it. Price: %d", hprice);
            housetext[hid] = Create3DTextLabel(string, COLOR_RED, Float:px, Float:py, Float:pz, 10.0, 0);
            Houses[topnumber] = Houses[topnumber]+1;
            Houses[vwtopnumber] = Houses[vwtopnumber]+1;
        }
        if(hint == 8)
        {
            format(file, sizeof(file), "RRP/houses/%d.ini", hid);
            dini_Create(file);
            dini_FloatSet(file, "X", Float:px);
            dini_FloatSet(file, "Y", Float:py);
            dini_FloatSet(file, "Z", Float:pz);
            dini_IntSet(file, "Price", hprice);
            dini_IntSet(file, "Int", hint);
            dini_IntSet(file, "Owner", 0);
            dini_IntSet(file, "Lock", 0);
            dini_FloatSet(file, "IntX", 2365.42);
            dini_FloatSet(file, "IntY", -1131.85);
            dini_FloatSet(file, "IntZ", 1050.88);
            dini_IntSet(file, "Vw", vwid);
            LoadHouses();
            housepickup[hid] = CreatePickup(1273, 1, Float:px, Float:py, Float:pz, 0);
            format(string, sizeof(string), "This house is for sale. Use /buyhouse to buy it. Price: %d", hprice);
            housetext[hid] = Create3DTextLabel(string, COLOR_RED, Float:px, Float:py, Float:pz, 10.0, 0);
            Houses[topnumber] = Houses[topnumber]+1;
            Houses[vwtopnumber] = Houses[vwtopnumber]+1;
        }
        if(hint == 10)
        {
            format(file, sizeof(file), "RRP/houses/%d.ini", hid);
            dini_Create(file);
            dini_FloatSet(file, "X", Float:px);
            dini_FloatSet(file, "Y", Float:py);
            dini_FloatSet(file, "Z", Float:pz);
            dini_IntSet(file, "Price", hprice);
            dini_IntSet(file, "Int", hint);
            dini_IntSet(file, "Owner", 0);
            dini_IntSet(file, "Lock", 0);
            dini_FloatSet(file, "IntX", 2260.76);
            dini_FloatSet(file, "IntY", -1210.45);
            dini_FloatSet(file, "IntZ", 1049.02);
            dini_IntSet(file, "Vw", vwid);
            LoadHouses();
            housepickup[hid] = CreatePickup(1273, 1, Float:px, Float:py, Float:pz, 0);
            format(string, sizeof(string), "This house is for sale. Use /buyhouse to buy it. Price: %d", hprice);
            housetext[hid] = Create3DTextLabel(string, COLOR_RED, Float:px, Float:py, Float:pz, 10.0, 0);
            Houses[topnumber] = Houses[topnumber]+1;
            Houses[vwtopnumber] = Houses[vwtopnumber]+1;
        }
        format(file, sizeof(file), "RRP/houses/Hindex.ini");
        if(fexist(file))
        {
            dini_IntSet(file, "topnumber", Houses[topnumber]);
            dini_IntSet(file, "vwtopnumber", Houses[vwtopnumber]);
        }
        return 1;
    }
    else
    {
        SendClientMessage(playerid, COLOR_DARKGOLD, "USAGE: /createhouse [Interior] [Price]");
        SendClientMessage(playerid, COLOR_DARKGOLD, "||Interiors|| Madd Doggs: 5 || Very Largue: 7 || Largue: 3 || Medium: 2 || Small: 1 || Very Small: 7 || CJ House: 3 || Verdant Bluffs: 8 || Hashbury: 10");
        return 1;
    }
}
OnGameModeExit:
pawn Код:
public OnGameModeExit()
{
    SaveServerInfo();
    SaveVehicles();
    SaveHousesInfo();
    SaveHouses();
    return 1;
}
Load and Save houses and house info:
pawn Код:
//LoadHousesInfo
forward LoadHousesInfo();
public LoadHousesInfo()
{
    format(file, sizeof(file), "RRP/houses/Hindex.ini");
    if(fexist(file))
    {
        Houses[topnumber] = dini_Int(file, "topnumber");
    }
    return 1;
}
//LoadHouses
forward LoadHouses();
public LoadHouses()
{
    for(new i = 1; i < sizeof(HouseInfo); i++)
    {
        format(file, sizeof(file), "RRP/houses/%d.ini", i);
        if(fexist(file))
        {
            HouseInfo[i][X] = dini_Int(file, "X");
            HouseInfo[i][Y] = dini_Int(file, "Y");
            HouseInfo[i][Z] = dini_Int(file, "Z");
            HouseInfo[i][Int] = dini_Int(file, "Int");
            HouseInfo[i][Vw] = dini_Int(file, "Vw");
            HouseInfo[i][Owner] = dini_Int(file, "Owner");
            HouseInfo[i][Lock] = dini_Int(file, "Lock");
            HouseInfo[i][Price] = dini_Int(file, "Price");
        }
        return 1;
    }
    print("[RRP]: Houses Loadeds");
    return 1;
}
//Save Houses
forward SaveHouses();
public SaveHouses()
{
    for(new i = 1; i < sizeof(CarInfo); i++)
    {
        format(file, sizeof(file), "RRP/houses/%d", i);
        if(fexist(file))
        {
            dini_IntSet(file, "X", HouseInfo[i][X]);
            dini_IntSet(file, "Y", HouseInfo[i][Y]);
            dini_IntSet(file, "Z", HouseInfo[i][Z]);
            dini_IntSet(file, "Int", HouseInfo[i][Int]);
            dini_IntSet(file, "Vw", HouseInfo[i][Vw]);
            dini_IntSet(file, "Owner", HouseInfo[i][Owner]);
            dini_IntSet(file, "Lock", HouseInfo[i][Lock]);
            dini_IntSet(file, "Price", HouseInfo[i][Price]);
        }
    }
    return 1;
}
forward SaveHousesInfo();
public SaveHousesInfo()
{
    format(file, sizeof(file), "RRP/houses/Hindex.ini");
    if(fexist(file))
    {
        dini_IntSet(file, "topnumber", Houses[topnumber]);
        dini_IntSet(file, "vwtopnumber", Houses[vwtopnumber]);
    }
    return 1;
}
Thank you.
It actualy has 5 house files(5 houses) annd only creates the first one.
Reply


Messages In This Thread
House system only loading 1 house. - by ricardo178 - 17.02.2012, 21:37
Re: House system only loading 1 house. - by TheGamer! - 17.02.2012, 21:42
Re: House system only loading 1 house. - by milanosie - 17.02.2012, 21:42
Re : House system only loading 1 house. - by ricardo178 - 17.02.2012, 21:55
Re : House system only loading 1 house. - by ricardo178 - 18.02.2012, 11:10
Re: House system only loading 1 house. - by DaRkM - 18.02.2012, 19:53
Re : Re: House system only loading 1 house. - by ricardo178 - 18.02.2012, 21:16
Re : House system only loading 1 house. - by ricardo178 - 18.02.2012, 21:28
Re: House system only loading 1 house. - by DaRkM - 19.02.2012, 06:37

Forum Jump:


Users browsing this thread: 5 Guest(s)