31.10.2014, 18:48
Greetings,
i have a problem with my houses , and the problem is after im buying the house he is telling me house Owned by " my name " but if i did command /safe purchase (id house slot ) confirm ( till here is good ) if i relog evry thing is good ,
but if i restart the server and i go to check im finding safe (pickup) doesnt exists there and house owner still by my name but i cant sell the house or buy it .. its kinda my name stocked there ..
If you guys needs anything from script tell it to me
i have a problem with my houses , and the problem is after im buying the house he is telling me house Owned by " my name " but if i did command /safe purchase (id house slot ) confirm ( till here is good ) if i relog evry thing is good ,
but if i restart the server and i go to check im finding safe (pickup) doesnt exists there and house owner still by my name but i cant sell the house or buy it .. its kinda my name stocked there ..
If you guys needs anything from script tell it to me
PHP код:
if(strcmp(cmd, "/buyhouse", true) == 0)
{
new i = IsPlayerNearHouse(playerid);
if (i == -1) return SendClientMessage(playerid, GREY, " You are not near a house that's for sale.");
if(IsPlayerConnected(playerid))
{
if(IsPlayerNearHouse(playerid))
{
if(PlayerInfo[playerid][pHouseKey] != -1 && PlayerInfo[playerid][pHouseKey2] != -1 && PlayerInfo[playerid][pHouseKey3] != -1 && PlayerInfo[playerid][pHouseKey4] != -1) return SendClientMessage(playerid, GREY, " You already own 4 houses.");
if(HouseInfo[i][HouseOwned] == 0)
{
SetPVarInt(playerid, "HouseToBuy", i);
SetPVarInt(playerid, "HousePrice", HouseInfo[i][HousePrice]);
format(string, sizeof(string), "Are you sure you would like to purchase '%s' for $%d?", HouseInfo[i][HouseType], HouseInfo[i][HousePrice]);
ShowPlayerDialog(playerid, 5498, DIALOG_STYLE_MSGBOX, "House Purchase Confirmation", string, "Yes", "No");
return 1;
}
else
{
SendClientMessage(playerid, GREY, "This house is already owned.");
return 1;
}
}
}
return 1;
}
if(strcmp(cmd, "/sellhouse", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new i = PlayerInfo[playerid][pHouseKey];
new i2 = PlayerInfo[playerid][pHouseKey2];
new i3 = PlayerInfo[playerid][pHouseKey3];
new i4 = PlayerInfo[playerid][pHouseKey4];
if(i == -1 && i2 == -1 && i3 == -1 && i4 == -1) return SendClientMessage(playerid, GREY, " You don't own a house.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SyntaxMessage(playerid, "/sellhouse [1/2/3/4] [confirm]");
return 1;
}
new slot = strval(tmp);
if (slot < 1 || slot > 4) return SendClientMessage(playerid, GREY, "Slot can't be below 1, or above 4.");
if (slot == 1)
{
if (PlayerInfo[playerid][pHouseKey] == -1) return SendClientMessage(playerid, GREY, " You don't own a house in this slot.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SyntaxMessage(playerid, "/sellhouse [1/2] [confirm]");
format(string, sizeof(string), "Your house is worth $%d. Are you really sure you wanna sell it?", HouseInfo[i][HousePrice] / 100 * 80);
SendClientMessage(playerid, YELLOW, string);
return 1;
}
if(strcmp(tmp,"confirm",true) == 0)
{
GiveMoney(playerid, HouseInfo[i][HousePrice] / 100 * 80);
HouseInfo[i][HouseOwned] = 0;
strmid(HouseInfo[i][HouseOwner], "The State", 0, strlen("The State"), 255);
format(string, sizeof(string), "Congratulations, you have successfully sold your house for $%d.", HouseInfo[i][HousePrice] / 100 * 80);
SendClientMessage(playerid, YELLOW, string);
new location[MAX_ZONE_NAME];
DestroyDynamicPickup(HouseInfo[i][HousePickup]);
DestroyDynamic3DTextLabel(HouseInfo[i][HouseLabel]);
HouseInfo[i][HousePickup] = CreateDynamicPickup(1273, 23, HouseInfo[i][HouseEnterX], HouseInfo[i][HouseEnterY], HouseInfo[i][HouseEnterZ]);
Get2DZone(location, MAX_ZONE_NAME, HouseInfo[i][HouseEnterX], HouseInfo[i][HouseEnterY], HouseInfo[i][HouseEnterZ]);
format(string, sizeof(string), "House Owner: {FFFFFF}The State\n"HOUSE_HEX"House Location: {FFFFFF}%s\n"HOUSE_HEX"House Interior: {FFFFFF}%s\n"HOUSE_HEX"House Cost: {FFFFFF}$%d", location, HouseInfo[i][HouseType]);
HouseInfo[i][HouseLabel] = CreateStreamed3DTextLabel(string, HOUSE_COLOR, HouseInfo[i][HouseEnterX], HouseInfo[i][HouseEnterY], HouseInfo[i][HouseEnterZ], 10.0, 0);
PlayerInfo[playerid][pHouseKey] = -1;
SaveHouses();
return 1;
}
}
if (slot == 2)
{
if (PlayerInfo[playerid][pHouseKey2] == -1) return SendClientMessage(playerid, GREY, " You don't own a house in this slot.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SyntaxMessage(playerid, "/sellhouse [1/2] [confirm]");
format(string, sizeof(string), "Your house is worth $%d. Are you really sure you wanna sell it?", HouseInfo[i2][HousePrice] / 100 * 80);
SendClientMessage(playerid, YELLOW, string);
return 1;
}
if(strcmp(tmp,"confirm",true) == 0)
{
GiveMoney(playerid, HouseInfo[i2][HousePrice] / 100 * 80);
HouseInfo[i2][HouseOwned] = 0;
strmid(HouseInfo[i2][HouseOwner], "The State", 0, strlen("The State"), 255);
format(string, sizeof(string), "Congratulations, you have successfully sold your house for $%d.", HouseInfo[i2][HousePrice] / 100 * 80);
SendClientMessage(playerid, YELLOW, string);
new location[MAX_ZONE_NAME];
DestroyDynamicPickup(HouseInfo[i2][HousePickup]);
DestroyDynamic3DTextLabel(HouseInfo[i2][HouseLabel]);
HouseInfo[i2][HousePickup] = CreateDynamicPickup(1273, 23, HouseInfo[i2][HouseEnterX], HouseInfo[i2][HouseEnterY], HouseInfo[i2][HouseEnterZ]);
Get2DZone(location, MAX_ZONE_NAME, HouseInfo[i2][HouseEnterX], HouseInfo[i2][HouseEnterY], HouseInfo[i2][HouseEnterZ]);
format(string, sizeof(string), "House Owner: {FFFFFF}The State\n"HOUSE_HEX"House Location: {FFFFFF}%s\n"HOUSE_HEX"House Interior: {FFFFFF}%s\n"HOUSE_HEX"House Cost: {FFFFFF}$%d", location, HouseInfo[i2][HouseType]);
HouseInfo[i2][HouseLabel] = CreateStreamed3DTextLabel(string, HOUSE_COLOR, HouseInfo[i2][HouseEnterX], HouseInfo[i2][HouseEnterY], HouseInfo[i2][HouseEnterZ], 10.0, 0);
PlayerInfo[playerid][pHouseKey2] = -1;
SaveHouses();
return 1;
}
}
if (slot == 3)
{
if (PlayerInfo[playerid][pHouseKey3] == -1) return SendClientMessage(playerid, GREY, " You don't own a house in this slot.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SyntaxMessage(playerid, "/sellhouse [1/2/3/4] [confirm]");
format(string, sizeof(string), "Your house is worth $%d. Are you really sure you wanna sell it?", HouseInfo[i3][HousePrice] / 100 * 80);
SendClientMessage(playerid, YELLOW, string);
return 1;
}
if(strcmp(tmp,"confirm",true) == 0)
{
GiveMoney(playerid, HouseInfo[i3][HousePrice] / 100 * 80);
HouseInfo[i3][HouseOwned] = 0;
strmid(HouseInfo[i3][HouseOwner], "The State", 0, strlen("The State"), 255);
format(string, sizeof(string), "Congratulations, you have successfully sold your house for $%d.", HouseInfo[i3][HousePrice] / 100 * 80);
SendClientMessage(playerid, YELLOW, string);
new location[MAX_ZONE_NAME];
DestroyDynamicPickup(HouseInfo[i3][HousePickup]);
DestroyDynamic3DTextLabel(HouseInfo[i3][HouseLabel]);
HouseInfo[i2][HousePickup] = CreateDynamicPickup(1273, 23, HouseInfo[i3][HouseEnterX], HouseInfo[i3][HouseEnterY], HouseInfo[i3][HouseEnterZ]);
Get2DZone(location, MAX_ZONE_NAME, HouseInfo[i3][HouseEnterX], HouseInfo[i3][HouseEnterY], HouseInfo[i3][HouseEnterZ]);
format(string, sizeof(string), "House Owner: {FFFFFF}The State\n"HOUSE_HEX"House Location: {FFFFFF}%s\n"HOUSE_HEX"House Interior: {FFFFFF}%s\n"HOUSE_HEX"House Cost: {FFFFFF}$%d", location, HouseInfo[i3][HouseType]);
HouseInfo[i3][HouseLabel] = CreateStreamed3DTextLabel(string, HOUSE_COLOR, HouseInfo[i3][HouseEnterX], HouseInfo[i3][HouseEnterY], HouseInfo[i3][HouseEnterZ], 10.0, 0);
PlayerInfo[playerid][pHouseKey3] = -1;
SaveHouses();
return 1;
}
}
if (slot == 4)
{
if (PlayerInfo[playerid][pHouseKey4] == -1) return SendClientMessage(playerid, GREY, " You don't own a house in this slot.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SyntaxMessage(playerid, "/sellhouse [1/2/3/4] [confirm]");
format(string, sizeof(string), "Your house is worth $%d. Are you really sure you wanna sell it?", HouseInfo[i4][HousePrice] / 100 * 80);
SendClientMessage(playerid, YELLOW, string);
return 1;
}
if(strcmp(tmp,"confirm",true) == 0)
{
GiveMoney(playerid, HouseInfo[i4][HousePrice] / 100 * 80);
HouseInfo[i4][HouseOwned] = 0;
strmid(HouseInfo[i4][HouseOwner], "The State", 0, strlen("The State"), 255);
format(string, sizeof(string), "Congratulations, you have successfully sold your house for $%d.", HouseInfo[i4][HousePrice] / 100 * 80);
SendClientMessage(playerid, YELLOW, string);
new location[MAX_ZONE_NAME];
DestroyDynamicPickup(HouseInfo[i4][HousePickup]);
DestroyDynamic3DTextLabel(HouseInfo[i4][HouseLabel]);
HouseInfo[i4][HousePickup] = CreateDynamicPickup(1273, 23, HouseInfo[i4][HouseEnterX], HouseInfo[i4][HouseEnterY], HouseInfo[i4][HouseEnterZ]);
Get2DZone(location, MAX_ZONE_NAME, HouseInfo[i4][HouseEnterX], HouseInfo[i4][HouseEnterY], HouseInfo[i4][HouseEnterZ]);
format(string, sizeof(string), "House Owner: {FFFFFF}The State\n"HOUSE_HEX"House Location: {FFFFFF}%s\n"HOUSE_HEX"House Interior: {FFFFFF}%s\n"HOUSE_HEX"House Cost: {FFFFFF}$%d", location, HouseInfo[i2][HouseType]);
HouseInfo[i4][HouseLabel] = CreateStreamed3DTextLabel(string, HOUSE_COLOR, HouseInfo[i4][HouseEnterX], HouseInfo[i4][HouseEnterY], HouseInfo[i4][HouseEnterZ], 10.0, 0);
PlayerInfo[playerid][pHouseKey4] = -1;
SaveHouses();
return 1;
}
}
}
return 1;
}
PHP код:
if(strcmp(cmd, "/safe", true) == 0)
{
tmp = strtok(cmdtext, idx);
if (!strlen(tmp)) return SyntaxMessage(playerid, "/safe [name]"), SendClientMessage(playerid, WHITE, "Available names: Withdraw, Deposit, Balance, Open, Close, Purchase, Code");
if (strcmp(tmp, "purchase", true) == 0)
{
new i = PlayerInfo[playerid][pHouseKey];
new i2 = PlayerInfo[playerid][pHouseKey2];
new i3 = PlayerInfo[playerid][pHouseKey3];
new i4 = PlayerInfo[playerid][pHouseKey4];
if(i == -1 && i2 == -1 && i3 == -1 && i4 == -1) return SendClientMessage(playerid, GREY, " You don't own a house.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SyntaxMessage(playerid, "/safe purchase [1/2/3/4] [confirm]");
return 1;
}
new slot = strval(tmp);
if (slot < 1 || slot > 4) return SendClientMessage(playerid, GREY, "Slot can't be below 1, or above 4.");
if (slot == 1)
{
if (PlayerInfo[playerid][pHouseKey] == -1) return SendClientMessage(playerid, GREY, " You don't own a house in that slot.");
if(IsPlayerInRangeOfPoint(playerid, 100.0, HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseInsideX], HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseInsideY], HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseInsideZ]))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SyntaxMessage(playerid, "/safe purchase [1/2/3/4] [confirm]");
if(HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafe] != 0)
{
SendClientMessage(playerid, GREY,"Adjusting the position of your House's Safe will cost $25,000.");
return 1;
}
else
{
SendClientMessage(playerid, GREY,"Purchasing a Safe for your House will cost $25,000.");
SendClientMessage(playerid, WHITE,"HINT: Purchasing a safe will give you the ability to store drugs, materials, cash, and guns.");
}
return 1;
}
if(strcmp(tmp, "confirm", true) == 0)
{
if(GetMoney(playerid) >= 25000)
{
GiveMoney(playerid, -25000);
HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafe] = 1;
SendClientMessage(playerid, LIGHTBLUE, "House safe purchased/moved. If you have not set your safe code yet, use /safe code.");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafeX] = x;
HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafeY] = y;
HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafeZ] = z;
DestroyDynamic3DTextLabel(HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafeLabel]);
DestroyDynamicPickup(HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafePickup]);
HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafeLabel] = CreateStreamed3DTextLabel("House Safe", HOUSE_COLOR, HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafeX], HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafeY], HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafeZ], 10.0, PlayerInfo[playerid][pHouseKey]);
HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafePickup] = CreateDynamicPickup(1239, 23, HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafeX], HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafeY], HouseInfo[PlayerInfo[playerid][pHouseKey]][HouseSafeZ], PlayerInfo[playerid][pHouseKey]);
return 1;
}
else
{
SendClientMessage(playerid, GREY, " You cannot afford this.");
return 1;
}
}
}
else
{
SendClientMessage(playerid, GREY, " You are not inside your house.");
}
}
if (slot == 2)
{
if (PlayerInfo[playerid][pHouseKey2] == -1) return SendClientMessage(playerid, GREY, " You don't own a house in that slot.");
if(IsPlayerInRangeOfPoint(playerid, 100.0, HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseInsideX], HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseInsideY], HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseInsideZ]))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SyntaxMessage(playerid, "/safe purchase [1/2/3/4] [confirm]");
if(HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafe] != 0)
{
SendClientMessage(playerid, GREY,"Adjusting the position of your House's Safe will cost $25,000.");
return 1;
}
else
{
SendClientMessage(playerid, GREY,"Purchasing a Safe for your House will cost $25,000.");
SendClientMessage(playerid, WHITE,"HINT: Purchasing a safe will give you the ability to store drugs, materials, cash, and guns.");
}
return 1;
}
if(strcmp(tmp, "confirm", true) == 0)
{
if(GetMoney(playerid) >= 25000)
{
GiveMoney(playerid, -25000);
HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafe] = 1;
SendClientMessage(playerid, LIGHTBLUE, "House safe purchased/moved. If you have not set your safe code yet, use /safe code.");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafeX] = x;
HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafeY] = y;
HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafeZ] = z;
DestroyDynamic3DTextLabel(HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafeLabel]);
DestroyDynamicPickup(HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafePickup]);
HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafeLabel] = CreateStreamed3DTextLabel("House Safe", HOUSE_COLOR, HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafeX], HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafeY], HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafeZ], 10.0, PlayerInfo[playerid][pHouseKey2]);
HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafePickup] = CreateDynamicPickup(1239, 23, HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafeX], HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafeY], HouseInfo[PlayerInfo[playerid][pHouseKey2]][HouseSafeZ], PlayerInfo[playerid][pHouseKey2]);
return 1;
}
else
{
SendClientMessage(playerid, GREY, " You cannot afford this.");
return 1;
}
}
}
else
{
SendClientMessage(playerid, GREY, " You are not inside your house.");
}
}
if (slot == 3)
{
if (PlayerInfo[playerid][pHouseKey3] == -1) return SendClientMessage(playerid, GREY, " You don't own a house in that slot.");
if(IsPlayerInRangeOfPoint(playerid, 100.0, HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseInsideX], HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseInsideY], HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseInsideZ]))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SyntaxMessage(playerid, "/safe purchase [1/2/3/4] [confirm]");
if(HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafe] != 0)
{
SendClientMessage(playerid, GREY,"Adjusting the position of your House's Safe will cost $25,000.");
return 1;
}
else
{
SendClientMessage(playerid, GREY,"Purchasing a Safe for your House will cost $25,000.");
SendClientMessage(playerid, WHITE,"HINT: Purchasing a safe will give you the ability to store drugs, materials, cash, and guns.");
}
return 1;
}
if(strcmp(tmp, "confirm", true) == 0)
{
if(GetMoney(playerid) >= 25000)
{
GiveMoney(playerid, -25000);
HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafe] = 1;
SendClientMessage(playerid, LIGHTBLUE, "House safe purchased/moved. If you have not set your safe code yet, use /safe code.");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafeX] = x;
HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafeY] = y;
HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafeZ] = z;
DestroyDynamic3DTextLabel(HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafeLabel]);
DestroyDynamicPickup(HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafePickup]);
HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafeLabel] = CreateStreamed3DTextLabel("House Safe", HOUSE_COLOR, HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafeX], HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafeY], HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafeZ], 10.0, PlayerInfo[playerid][pHouseKey3]);
HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafePickup] = CreateDynamicPickup(1239, 23, HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafeX], HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafeY], HouseInfo[PlayerInfo[playerid][pHouseKey3]][HouseSafeZ], PlayerInfo[playerid][pHouseKey3]);
return 1;
}
else
{
SendClientMessage(playerid, GREY, " You cannot afford this.");
return 1;
}
}
}
else
{
SendClientMessage(playerid, GREY, " You are not inside your house.");
}
}
if (slot == 4)
{
if (PlayerInfo[playerid][pHouseKey4] == -1) return SendClientMessage(playerid, GREY, " You don't own a house in that slot.");
if(IsPlayerInRangeOfPoint(playerid, 100.0, HouseInfo[PlayerInfo[playerid][pHouseKey4]][HouseInsideX], HouseInfo[PlayerInfo[playerid][pHouseKey4]][HouseInsideY], HouseInfo[PlayerInfo[playerid][pHouseKey4]][HouseInsideZ]))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SyntaxMessage(playerid, "/safe purchase [1/2/3/4] [confirm]");
if(HouseInfo[PlayerInfo[playerid][pHouseKey4]][HouseSafe] != 0)
{
SendClientMessage(playerid, GREY,"Adjusting the position of your House's Safe will cost $25,000.");
return 1;
}
else
{
SendClientMessage(playerid, GREY,"Purchasing a Safe for your House will cost $25,000.");
SendClientMessage(playerid, WHITE,"HINT: Purchasing a safe will give you the ability to store drugs, materials, cash, and guns.");
}
return 1;
}
.
.
.
.
.
PHP код:
LoadHouses()
{
new string[256];
new arrCoords[33][64];
new strFromFile2[260];
new File: file = fopen("houses.cfg", io_read);
if(file)
{
new idx;
while (idx < sizeof(HouseInfo))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, '|');
HouseIDTaken[idx] = strval(arrCoords[0]);
HouseInfo[idx][HouseOwned] = strval(arrCoords[1]);
HouseInfo[idx][HousePrice] = strval(arrCoords[2]);
HouseInfo[idx][HouseVirtual] = strval(arrCoords[3]);
HouseInfo[idx][HouseEnterX] = floatstr(arrCoords[4]);
HouseInfo[idx][HouseEnterY] = floatstr(arrCoords[5]);
HouseInfo[idx][HouseEnterZ] = floatstr(arrCoords[6]);
HouseInfo[idx][HouseInsideX] = floatstr(arrCoords[7]);
HouseInfo[idx][HouseInsideY] = floatstr(arrCoords[8]);
HouseInfo[idx][HouseInsideZ] = floatstr(arrCoords[9]);
HouseInfo[idx][HouseInsideA] = floatstr(arrCoords[10]);
HouseInfo[idx][HouseInterior] = strval(arrCoords[11]);
strmid(HouseInfo[idx][HouseType], arrCoords[12], 0, strlen(arrCoords[12]), 255);
strmid(HouseInfo[idx][HouseOwner], arrCoords[13], 0, strlen(arrCoords[13]), 255);
HouseInfo[idx][HouseSafe] = strval(arrCoords[14]);
HouseInfo[idx][HouseLock] = strval(arrCoords[15]);
HouseInfo[idx][HouseSafeX] = floatstr(arrCoords[16]);
HouseInfo[idx][HouseSafeY] = floatstr(arrCoords[17]);
HouseInfo[idx][HouseSafeZ] = floatstr(arrCoords[18]);
HouseInfo[idx][HouseCash] = strval(arrCoords[19]);
HouseInfo[idx][HouseMats] = strval(arrCoords[20]);
HouseInfo[idx][HouseWeed] = strval(arrCoords[21]);
HouseInfo[idx][HouseCocaine] = strval(arrCoords[22]);
HouseInfo[idx][HouseGun1] = strval(arrCoords[23]);
HouseInfo[idx][HouseGun2] = strval(arrCoords[24]);
HouseInfo[idx][HouseGun3] = strval(arrCoords[25]);
HouseInfo[idx][HouseGun4] = strval(arrCoords[26]);
HouseInfo[idx][HouseSafeCode] = strval(arrCoords[27]);
HouseInfo[idx][HouseExitVW] = strval(arrCoords[28]);
HouseInfo[idx][HouseExitInt] = strval(arrCoords[29]);
HouseInfo[idx][HouseMeth] = strval(arrCoords[30]);
HouseInfo[idx][HouseHeroin] = strval(arrCoords[31]);
HouseInfo[idx][HouseWait] = strval(arrCoords[32]);
if(HouseIDTaken[idx])
{
new location[MAX_ZONE_NAME];
HouseInfo[idx][HousePickup] = CreateDynamicPickup(1273, 23, HouseInfo[idx][HouseEnterX], HouseInfo[idx][HouseEnterY], HouseInfo[idx][HouseEnterZ]);
Get2DZone(location, MAX_ZONE_NAME, HouseInfo[idx][HouseEnterX], HouseInfo[idx][HouseEnterY], HouseInfo[idx][HouseEnterZ]);
format(string, sizeof(string), "House Owner: {FFFFFF}%s\n"HOUSE_HEX"House Location: {FFFFFF}%s\n"HOUSE_HEX"House Interior: {FFFFFF}%s\n"HOUSE_HEX"House Cost: {FFFFFF}$%d", HouseInfo[idx][HouseOwner], location, HouseInfo[idx][HouseType], HouseInfo[idx][HousePrice]);
HouseInfo[idx][HouseLabel] = CreateStreamed3DTextLabel(string, HOUSE_COLOR, HouseInfo[idx][HouseEnterX], HouseInfo[idx][HouseEnterY], HouseInfo[idx][HouseEnterZ], 10.0, 0);
if(HouseInfo[idx][HouseSafe])
{
HouseInfo[idx][HouseSafeLabel] = CreateStreamed3DTextLabel("House Safe", HOUSE_COLOR, HouseInfo[idx][HouseSafeX], HouseInfo[idx][HouseSafeY], HouseInfo[idx][HouseSafeZ], 10.0, idx);
HouseInfo[idx][HouseSafePickup] = CreateDynamicPickup(1239, 23, HouseInfo[idx][HouseSafeX], HouseInfo[idx][HouseSafeY], HouseInfo[idx][HouseSafeZ], idx);
}
houses++;
}
idx++;
}
}
return 1;
}
SaveHouses()
{
new idx;
new File: file2;
while (idx < sizeof(HouseInfo))
{
new coordsstring[260];
format(coordsstring, sizeof(coordsstring), "%d|%d|%d|%d|%f|%f|%f|%f|%f|%f|%f|%d|%s|%s|%d|%d|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
HouseIDTaken[idx],
HouseInfo[idx][HouseOwned],
HouseInfo[idx][HousePrice],
HouseInfo[idx][HouseVirtual],
HouseInfo[idx][HouseEnterX],
HouseInfo[idx][HouseEnterY],
HouseInfo[idx][HouseEnterZ],
HouseInfo[idx][HouseInsideX],
HouseInfo[idx][HouseInsideY],
HouseInfo[idx][HouseInsideZ],
HouseInfo[idx][HouseInsideA],
HouseInfo[idx][HouseInterior],
HouseInfo[idx][HouseType],
HouseInfo[idx][HouseOwner],
HouseInfo[idx][HouseSafe],
HouseInfo[idx][HouseLock],
HouseInfo[idx][HouseSafeX],
HouseInfo[idx][HouseSafeY],
HouseInfo[idx][HouseSafeZ],
HouseInfo[idx][HouseCash],
HouseInfo[idx][HouseMats],
HouseInfo[idx][HouseWeed],
HouseInfo[idx][HouseCocaine],
HouseInfo[idx][HouseGun1],
HouseInfo[idx][HouseGun2],
HouseInfo[idx][HouseGun3],
HouseInfo[idx][HouseGun4],
HouseInfo[idx][HouseSafeCode],
HouseInfo[idx][HouseExitVW],
HouseInfo[idx][HouseExitInt],
HouseInfo[idx][HouseMeth],
HouseInfo[idx][HouseHeroin],
HouseInfo[idx][HouseWait]);
if(idx == 0)
{
file2 = fopen("houses.cfg", io_write);
}
else
{
file2 = fopen("houses.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}