House system info issue
#1

So I've tried to use the singleplayer info box by Kevln but I've got another problem which I have in my housing system -

PHP код:

House_Refresh
(houseid)
{
    if (
houseid != -1 && HouseData[houseid][houseExists])
    {
        if (
IsValidDynamic3DTextLabel(HouseData[houseid][houseText3D]))
            
DestroyDynamic3DTextLabel(HouseData[houseid][houseText3D]);
        if (
IsValidDynamicPickup(HouseData[houseid][housePickup]))
            
DestroyDynamicPickup(HouseData[houseid][housePickup]);
        if (
IsValidDynamicMapIcon(HouseData[houseid][houseMapIcon]))
            
DestroyDynamicMapIcon(HouseData[houseid][houseMapIcon]);
        static
            
string[128];
        if (!
HouseData[houseid][houseOwner]) {
            
format(string, sizeof(string), "Price: %s\nAddress: %s", FormatNumber(HouseData[houseid][housePrice]), HouseData[houseid][houseAddress]);
            
HouseData[houseid][houseText3D] = CreateDynamic3DTextLabel(string, COLOR_NICEBLUE, HouseData[houseid][housePos][0], HouseData[houseid][housePos][1], HouseData[houseid][housePos][2], 15.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, HouseData[houseid][houseExteriorVW], HouseData[houseid][houseExterior]);
        }
        else {
            
//format(string, sizeof(string), "Owned house\nAddress: %s", HouseData[houseid][houseAddress]);
            //HouseData[houseid][houseText3D] = CreateDynamic3DTextLabel(string, COLOR_NICEDBLUE, HouseData[houseid][housePos][0], HouseData[houseid][housePos][1], HouseData[houseid][housePos][2], 15.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, HouseData[houseid][houseExteriorVW], HouseData[houseid][houseExterior]);
            
format(string, sizeof(string), "Owned house\nAddress: %s", HouseData[houseid][houseAddress]);
            
ShowInfoBox(playerid, 0xFF0000FF, 10, string);
  }
        
HouseData[houseid][housePickup] = CreateDynamicPickup(1559, 23, HouseData[houseid][housePos][0], HouseData[houseid][housePos][1], HouseData[houseid][housePos][2], HouseData[houseid][houseExteriorVW], HouseData[houseid][houseExterior]);
        
//HouseData[houseid][houseMapIcon] = CreateDynamicMapIcon(HouseData[houseid][housePos][0], HouseData[houseid][housePos][1], HouseData[houseid][housePos][2], (HouseData[houseid][houseOwner] != 0) ? (32) : (31), 0, HouseData[houseid][houseExteriorVW], HouseData[houseid][houseExterior]);
 
}
    return 
1;
} 
When I try to compile, it gives me an error that I can't use player id in this stock, how do I add the player id that stands on the pickup, then it will show the "ShowInfoBox".

Thanks for the assistence, +rep to who will fix this.
Reply
#2

You can't use playerid in this stock, because on the top of your stock, you haven't defined it.
House_Refresh(houseid), only houseid, no playerid.
Reply
#3

Quote:
Originally Posted by kamiliuxliuxliux
Посмотреть сообщение
You can't use playerid in this stock, because on the top of your stock, you haven't defined it.
House_Refresh(houseid), only houseid, no playerid.
Urh, I know that. how do I define a playerid with it, read the last line.
Reply
#4

House_Refresh(houseid, playerid)
Reply
#5

Show us where House_Refresh(houseid) is called.
Reply
#6

Quote:
Originally Posted by jihadmeneer
Посмотреть сообщение
Show us where House_Refresh(houseid) is called.
on "Houseload"

PHP код:

forward House_Load
();
public 
House_Load()
{
    static
        
rows,
        
fields,
        
str[128];
    
cache_get_data(rows, fields, g_iHandle);
    for (new 
i = 0; i < rows; i ++) if (i < MAX_HOUSES)
    {
        
HouseData[i][houseExists] = true;
        
HouseData[i][houseLights] = false;
        
HouseData[i][houseID] = cache_get_field_int(i, "houseID");
        
HouseData[i][houseOwner] = cache_get_field_int(i, "houseOwner");
        
HouseData[i][housePrice] = cache_get_field_int(i, "housePrice");
        
cache_get_field_content(i, "houseAddress", HouseData[i][houseAddress], g_iHandle, 32);
        
HouseData[i][housePos][0] = cache_get_field_float(i, "housePosX");
        
HouseData[i][housePos][1] = cache_get_field_float(i, "housePosY");
        
HouseData[i][housePos][2] = cache_get_field_float(i, "housePosZ");
        
HouseData[i][housePos][3] = cache_get_field_float(i, "housePosA");
        
HouseData[i][houseInt][0] = cache_get_field_float(i, "houseIntX");
        
HouseData[i][houseInt][1] = cache_get_field_float(i, "houseIntY");
        
HouseData[i][houseInt][2] = cache_get_field_float(i, "houseIntZ");
        
HouseData[i][houseInt][3] = cache_get_field_float(i, "houseIntA");
        
HouseData[i][houseInterior] = cache_get_field_int(i, "houseInterior");
        
HouseData[i][houseExterior] = cache_get_field_int(i, "houseExterior");
        
HouseData[i][houseExteriorVW] = cache_get_field_int(i, "houseExteriorVW");
        
HouseData[i][houseLocked] = cache_get_field_int(i, "houseLocked");
        
HouseData[i][houseMoney] = cache_get_field_int(i, "houseMoney");
        for (new 
j = 0; j < 10; j ++)
        {
            
format(str, 24, "houseWeapon%d", j + 1);
            
HouseData[i][houseWeapons][j] = cache_get_field_int(i, str);
            
format(str, 24, "houseAmmo%d", j + 1);
            
HouseData[i][houseAmmo][j] = cache_get_field_int(i, str);
        }
        
House_Refresh(i);
    }
    for (new 
i = 0; i < MAX_HOUSES; i ++) if (HouseData[i][houseExists]) {
        
format(str, sizeof(str), "SELECT * FROM `housestorage` WHERE `ID` = '%d'", HouseData[i][houseID]);
        
mysql_tquery(g_iHandle, str, "OnLoadStorage", "d", i);
        
format(str, sizeof(str), "SELECT * FROM `furniture` WHERE `ID` = '%d'", HouseData[i][houseID]);
        
mysql_tquery(g_iHandle, str, "OnLoadFurniture", "d", i);
    }
    return 
1;
} 
Reply
#7

Quote:
Originally Posted by kamiliuxliuxliux
Посмотреть сообщение
House_Refresh(houseid, playerid)
when I do this, the whole system getting down, which means it will not work at all.
Reply
#8

Show us where House_Load is called.
Reply
#9

Quote:
Originally Posted by jihadmeneer
Посмотреть сообщение
Show us where House_Load is called.
OnGameModeInit();

PHP код:
mysql_tquery(g_iHandle, "SELECT * FROM `houses`", "House_Load", ""); 
Reply
#10

Код:
mysql_tquery(g_iHandle, "SELECT * FROM `houses`", "House_Load", "d", playerid); 

then

add playerid to forward House_Load(); 
public House_Load().

Then change: House_Refresh(i); 
Into House_Refresh(playerid, i); 

After that:

House_Refresh(houseid) 

to House_Refresh(playerid, houseid)
Oh wait this above won't work because OnGameModeInit doens't have a playerid variable.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)