stock LoadHouses()
{
if(!fexist("houses.cfg")) return 1;
new
szFileStr[1024],
File: iFileHandle = fopen("houses.cfg", io_read),
iIndex;
while(iIndex < sizeof(HouseInfo) && fread(iFileHandle, szFileStr))
{
sscanf(szFileStr, "p<|>iiis[24]ffffffffiiiiiiiiiiiiiiiiifff",
HouseInfo[iIndex][hOwned],
HouseInfo[iIndex][hLevel],
HouseInfo[iIndex][hHInteriorWorld],
//HouseInfo[iIndex][hDescription],
HouseInfo[iIndex][hOwner],
HouseInfo[iIndex][hExteriorX],
HouseInfo[iIndex][hExteriorY],
HouseInfo[iIndex][hExteriorZ],
HouseInfo[iIndex][hExteriorR],
HouseInfo[iIndex][hInteriorX],
HouseInfo[iIndex][hInteriorY],
HouseInfo[iIndex][hInteriorZ],
HouseInfo[iIndex][hInteriorR],
HouseInfo[iIndex][hLock],
HouseInfo[iIndex][hRentable],
HouseInfo[iIndex][hRentFee],
HouseInfo[iIndex][hValue],
HouseInfo[iIndex][hSafeMoney],
HouseInfo[iIndex][hPot],
HouseInfo[iIndex][hCrack],
HouseInfo[iIndex][hMaterials],
HouseInfo[iIndex][hWeapons][0],
HouseInfo[iIndex][hWeapons][1],
HouseInfo[iIndex][hWeapons][2],
HouseInfo[iIndex][hWeapons][3],
HouseInfo[iIndex][hWeapons][4],
HouseInfo[iIndex][hGLUpgrade],
HouseInfo[iIndex][hPickupID],
HouseInfo[iIndex][hCustomInterior],
HouseInfo[iIndex][hCustomExterior],
HouseInfo[iIndex][hExteriorA],
HouseInfo[iIndex][hInteriorA],
HouseInfo[iIndex][hAddress]
);
if(HouseInfo[iIndex][hLevel] != 0)
{
if(HouseInfo[iIndex][hOwned])
{
if(HouseInfo[iIndex][hRentable] == 0) format(szFileStr, sizeof(szFileStr), "House owner: %s\nLevel: %d\nHouse number: %d\n Street name: %s",HouseInfo[iIndex][hOwner],HouseInfo[iIndex][hLevel],iIndex,HouseInfo[iIndex][hAddress]);
else format(szFileStr, sizeof(szFileStr), "House owner: %s\nLevel: %d\nHouse number: %d\n Street name: %s\nRent: $%d\nType /rentroom to rent a room",HouseInfo[iIndex][hOwner],HouseInfo[iIndex][hLevel],iIndex,HouseInfo[iIndex][hAddress],HouseInfo[iIndex][hRentFee]);
}
else format(szFileStr, sizeof(szFileStr), "This house is for sale!\n Level: %d\nHouse number: %d\n Street name: %s\nPrice: $%d\nTo buy this house type /buyhouse",HouseInfo[iIndex][hLevel],iIndex,HouseInfo[iIndex][hAddress],HouseInfo[iIndex][hValue]);
HouseInfo[iIndex][hPickupID] = CreatePickup(19524, 23, HouseInfo[iIndex][hExteriorX], HouseInfo[iIndex][hExteriorY], HouseInfo[iIndex][hExteriorZ], -1);
HouseInfo[iIndex][hTextID] = CreateDynamic3DTextLabel(szFileStr, COLOR_HOUSEGREEN, HouseInfo[iIndex][hExteriorX], HouseInfo[iIndex][hExteriorY], HouseInfo[iIndex][hExteriorZ]+0.5,20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
}
++iIndex;
}
print("Houses successfully loaded[No Mysql]");
return fclose(iFileHandle);
}
stock SaveHouses()
{
new
szFileStr[1024],
File: fHandle = fopen("houses.cfg", io_write);
for(new iIndex; iIndex < MAX_HOUSES; iIndex++) {
format(szFileStr, sizeof(szFileStr), "%d|%d|%d|%s|%f|%f|%f|%f|%f|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%f|%f|%f\r\n",
HouseInfo[iIndex][hOwned],
HouseInfo[iIndex][hLevel],
HouseInfo[iIndex][hHInteriorWorld],
//HouseInfo[iIndex][hDescription],
HouseInfo[iIndex][hOwner],
HouseInfo[iIndex][hExteriorX],
HouseInfo[iIndex][hExteriorY],
HouseInfo[iIndex][hExteriorZ],
HouseInfo[iIndex][hExteriorR],
HouseInfo[iIndex][hInteriorX],
HouseInfo[iIndex][hInteriorY],
HouseInfo[iIndex][hInteriorZ],
HouseInfo[iIndex][hInteriorR],
HouseInfo[iIndex][hLock],
HouseInfo[iIndex][hRentable],
HouseInfo[iIndex][hRentFee],
HouseInfo[iIndex][hValue],
HouseInfo[iIndex][hSafeMoney],
HouseInfo[iIndex][hPot],
HouseInfo[iIndex][hCrack],
HouseInfo[iIndex][hMaterials],
HouseInfo[iIndex][hWeapons][0],
HouseInfo[iIndex][hWeapons][1],
HouseInfo[iIndex][hWeapons][2],
HouseInfo[iIndex][hWeapons][3],
HouseInfo[iIndex][hWeapons][4],
HouseInfo[iIndex][hGLUpgrade],
HouseInfo[iIndex][hPickupID],
HouseInfo[iIndex][hCustomInterior],
HouseInfo[iIndex][hCustomExterior],
HouseInfo[iIndex][hExteriorA],
HouseInfo[iIndex][hInteriorA],
HouseInfo[iIndex][hAddress]
);
fwrite(fHandle, szFileStr);
}
return fclose(fHandle);
}
stock SaveHouses()
{
new
szFileStr[1024],
File: fHandle = fopen("houses.cfg", io_write);
for(new iIndex; iIndex < MAX_HOUSES; iIndex++) {
format(szFileStr, sizeof(szFileStr), "%d|%d|%d|%s|%f|%f|%f|%f|%f|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%f|%f|%s\r\n",
HouseInfo[iIndex][hOwned],
HouseInfo[iIndex][hLevel],
HouseInfo[iIndex][hHInteriorWorld],
//HouseInfo[iIndex][hDescription],
HouseInfo[iIndex][hOwner],
HouseInfo[iIndex][hExteriorX],
HouseInfo[iIndex][hExteriorY],
HouseInfo[iIndex][hExteriorZ],
HouseInfo[iIndex][hExteriorR],
HouseInfo[iIndex][hInteriorX],
HouseInfo[iIndex][hInteriorY],
HouseInfo[iIndex][hInteriorZ],
HouseInfo[iIndex][hInteriorR],
HouseInfo[iIndex][hLock],
HouseInfo[iIndex][hRentable],
HouseInfo[iIndex][hRentFee],
HouseInfo[iIndex][hValue],
HouseInfo[iIndex][hSafeMoney],
HouseInfo[iIndex][hPot],
HouseInfo[iIndex][hCrack],
HouseInfo[iIndex][hMaterials],
HouseInfo[iIndex][hWeapons][0],
HouseInfo[iIndex][hWeapons][1],
HouseInfo[iIndex][hWeapons][2],
HouseInfo[iIndex][hWeapons][3],
HouseInfo[iIndex][hWeapons][4],
HouseInfo[iIndex][hGLUpgrade],
HouseInfo[iIndex][hPickupID],
HouseInfo[iIndex][hCustomInterior],
HouseInfo[iIndex][hCustomExterior],
HouseInfo[iIndex][hExteriorA],
HouseInfo[iIndex][hInteriorA],
HouseInfo[iIndex][hAddress]
);
fwrite(fHandle, szFileStr);
}
return fclose(fHandle);
}
stock LoadHouses()
{
if(!fexist("houses.cfg")) return 1;
new
szFileStr[1024],
File: iFileHandle = fopen("houses.cfg", io_read),
iIndex;
while(iIndex < sizeof(HouseInfo) && fread(iFileHandle, szFileStr))
{
sscanf(szFileStr, "p<|>iiis[24]ffffffffiiiiiiiiiiiiiiiiiffs[30]",
HouseInfo[iIndex][hOwned],
HouseInfo[iIndex][hLevel],
HouseInfo[iIndex][hHInteriorWorld],
//HouseInfo[iIndex][hDescription],
HouseInfo[iIndex][hOwner],
HouseInfo[iIndex][hExteriorX],
HouseInfo[iIndex][hExteriorY],
HouseInfo[iIndex][hExteriorZ],
HouseInfo[iIndex][hExteriorR],
HouseInfo[iIndex][hInteriorX],
HouseInfo[iIndex][hInteriorY],
HouseInfo[iIndex][hInteriorZ],
HouseInfo[iIndex][hInteriorR],
HouseInfo[iIndex][hLock],
HouseInfo[iIndex][hRentable],
HouseInfo[iIndex][hRentFee],
HouseInfo[iIndex][hValue],
HouseInfo[iIndex][hSafeMoney],
HouseInfo[iIndex][hPot],
HouseInfo[iIndex][hCrack],
HouseInfo[iIndex][hMaterials],
HouseInfo[iIndex][hWeapons][0],
HouseInfo[iIndex][hWeapons][1],
HouseInfo[iIndex][hWeapons][2],
HouseInfo[iIndex][hWeapons][3],
HouseInfo[iIndex][hWeapons][4],
HouseInfo[iIndex][hGLUpgrade],
HouseInfo[iIndex][hPickupID],
HouseInfo[iIndex][hCustomInterior],
HouseInfo[iIndex][hCustomExterior],
HouseInfo[iIndex][hExteriorA],
HouseInfo[iIndex][hInteriorA],
HouseInfo[iIndex][hAddress]
);
if(HouseInfo[iIndex][hLevel] != 0)
{
if(HouseInfo[iIndex][hOwned])
{
if(HouseInfo[iIndex][hRentable] == 0) format(szFileStr, sizeof(szFileStr), "House owner: %s\nLevel: %d\nHouse number: %d\n Street name: %s",HouseInfo[iIndex][hOwner],HouseInfo[iIndex][hLevel],iIndex,HouseInfo[iIndex][hAddress]);
else format(szFileStr, sizeof(szFileStr), "House owner: %s\nLevel: %d\nHouse number: %d\n Street name: %s\nRent: $%d\nType /rentroom to rent a room",HouseInfo[iIndex][hOwner],HouseInfo[iIndex][hLevel],iIndex,HouseInfo[iIndex][hAddress],HouseInfo[iIndex][hRentFee]);
}
else format(szFileStr, sizeof(szFileStr), "This house is for sale!\n Level: %d\nHouse number: %d\n Street name: %s\nPrice: $%d\nTo buy this house type /buyhouse",HouseInfo[iIndex][hLevel],iIndex,HouseInfo[iIndex][hAddress],HouseInfo[iIndex][hValue]);
HouseInfo[iIndex][hPickupID] = CreatePickup(19524, 23, HouseInfo[iIndex][hExteriorX], HouseInfo[iIndex][hExteriorY], HouseInfo[iIndex][hExteriorZ], -1);
HouseInfo[iIndex][hTextID] = CreateDynamic3DTextLabel(szFileStr, COLOR_NEWHOUSEGREEN, HouseInfo[iIndex][hExteriorX], HouseInfo[iIndex][hExteriorY], HouseInfo[iIndex][hExteriorZ]+0.5,20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
}
++iIndex;
}
print("Houses successfully loaded[No Mysql]");
return fclose(iFileHandle);
}
|
I will suggest you to use MySQL based housing system. Dini/ SII is outdated and too slow.
|
|
I think it's better to upgrade to the latest mysql version.
R41 => https://github.com/pBlueG/SA-MP-MySQL/releases Maybe you find a tutorial on the Internet where you can see how you upgrade R5 to R40 / R41. (Here is a tutorial for R33, maybe you can use this and the link above. https://sampforum.blast.hk/showthread.php?tid=485633) |
Roleplay\gamemodes\RP.pwn(3133) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(7183) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(7199) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(8777) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(13363) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(13432) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(13470) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(13570) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(13609) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(13677) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(16138) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(21081) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(21708) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(22631) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(24455) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(25800) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(34587) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(36760) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(36786) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(40856) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(40944) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(45453) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(45462) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(45488) : error 035: argument type mismatch (argument 1) Roleplay\gamemodes\RP.pwn(45531) : error 025: function heading differs from prototype Roleplay\gamemodes\RP.pwn(45536) : warning 235: public function lacks forward declaration (symbol "OnQueryFinish") Roleplay\gamemodes\RP.pwn(45544) : error 017: undefined symbol "mysql_fetch_int" Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 26 Errors.