COMMAND:destroyhouse(playerid, params[])
{
new houseid;
if(GetPVarInt(playerid, "Admin") == 10 || IsPlayerAdmin(playerid))
{
if(!sscanf(params, "i", houseid))
{
new string[254];
format(string, sizeof(string), "Houses/house%i.ini", houseid);
if(DOF2_FileExists(string))
{
new ModelFile[124];
new XFile[124];
new YFile[124];
new ZFile[124];
new IntVwFile[124];
format(string, sizeof(string), "Houses/house%i.ini", houseid);
format(ModelFile,sizeof(ModelFile),"Houses/furnhouse%i.ini",houseid);
format(IntVwFile,sizeof(IntVwFile),"Houses/furnIntVwhouse%i.ini",houseid);
format(XFile,sizeof(XFile),"Houses/furnXhouse%i.ini",houseid);
format(YFile,sizeof(YFile),"Houses/furnYhouse%i.ini",houseid);
format(ZFile,sizeof(ZFile),"Houses/furnZhouse%i.ini",houseid);
DOF2_RemoveFile(ModelFile);
DOF2_RemoveFile(IntVwFile);
DOF2_RemoveFile(XFile);
DOF2_RemoveFile(YFile);
DOF2_RemoveFile(ZFile);
DOF2_RemoveFile(string);
format(string, sizeof(string),"House: %d destroyed successfuly.",houseid);
SendClientMessage(playerid, COLOR_ORANGE, string);
DestroyDynamic3DTextLabel(House3D[houseid]);
DestroyDynamicPickup(HousePickup[houseid]);
HouseInfo[houseid][HouseEnterPos][0] = 0;
HouseInfo[houseid][HouseEnterPos][1] = 0;
HouseInfo[houseid][HouseEnterPos][2] = 0;
for(new h = 0; h < MAX_FURNITURE;h++)
{
HouseInfo[houseid][ObjectID][h] = 0;
DestroyDynamicObject(HouseObject[houseid][h]);
}
return 1;
}
else return SendClientMessage(playerid, COLOR_LIGHTRED, "Error: This house does not exist!");
}
else return SendClientMessage(playerid, COLOR_LIGHTRED, "Error: /destroyhouse [houseid]!");
}
else return SendClientMessage(playerid, COLOR_LIGHTRED, "Error: You can not use this command!");
}
|
So basically the file is removed but the owner's name was not reset from the variables. Posting the enum for HouseInfo array would be useful.
|
enum hInfo
{
Owned,
OwnerName[124],
Rented,
Type,
RenterName[124],
Price,
RentPrice,
Locked,
//Furniture
Int,
Vw,
Float:HouseEnterPos[3],
Float:HouseIntPos[3],
ObjectID[MAX_FURNITURE],
Float:ObjectPosX[MAX_FURNITURE],
Float:ObjectPosZ[MAX_FURNITURE],
Float:ObjectPosY[MAX_FURNITURE],
Float:ObjectPosRX[MAX_FURNITURE],
Float:ObjectPosRY[MAX_FURNITURE],
Float:ObjectPosRZ[MAX_FURNITURE],
ObjectVW[MAX_FURNITURE],
ObjectInt[MAX_FURNITURE]
}
new HouseInfo[MAX_HOUSES][hInfo];
new Text3D:House3D[MAX_HOUSES];
new HousePickup[MAX_HOUSES];
new FurnObject[MAX_PLAYERS];
new FurnID[MAX_PLAYERS];
new HouseObject[MAX_HOUSES][MAX_FURNITURE];
HouseInfo[houseid][OwnerName][0] = HouseInfo[houseid][RenterName][0] = EOS;
HouseInfo[houseid][Owned] = HouseInfo[houseid][Rented] = 0;