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;