16.04.2013, 19:20
I've been reading up a bit about files, the best way to do it is this. (Should've been kind of obvious to all of us I guess)
pawn Код:
stock LoadHouses()
{
new FileName[13]; // Assuming you have 1,000,000 (0-999,999) houses, this is never going to be over 13.
new HousesLoaded;
for(new i = 0; i < MAX_HOUSES; i++)
{
format(FileName, sizeof(FileName), "Houses/House_%d.ini", i);
if(fexist(FileName))
{
INI_Int("InteriorID", HouseVar[i][hInteriorID]);
INI_Float("InteriorX", HouseVar[i][hInteriorX]);
INI_Float("InteriorY", HouseVar[i][hInteriorY]);
INI_Float("InteriorZ", HouseVar[i][hInteriorZ]);
INI_Int("HousePrice", HouseVar[i][HousePrice]);
INI_Int("ExteriorID", HouseVar[i][hExteriorID]);
INI_Float("ExteriorX", HouseVar[i][hExteriorX]);
INI_Float("ExteriorY", HouseVar[i][hExteriorY]);
INI_Float("ExteriorZ", HouseVar[i][hExteriorZ]);
INI_Int("Owner", HouseVar[i][hOwner]);
INI_Int("LockStatus", HouseVar[i][LockStatus]);
HousesLoaded++;
if(strcmp(HouseVar[i][hOwner], "Nobody", true) == 0)
{
HouseVar[i][LockStatus] = 0;
HouseVar[i][HPickupID] = CreateDynamicPickup(1273, 23, HouseVar[i][hExteriorX], HouseVar[i][hExteriorY], HouseVar[i][hExteriorZ], 0, -1, -1, 150.0);
}
else
{
HouseVar[i][HPickupID] = CreateDynamicPickup(1272, 23, HouseVar[i][hExteriorX], HouseVar[i][hExteriorY], HouseVar[i][hExteriorZ], 0, -1, -1, 150.0);
}
}
else break;
}
printf("["ServerName"] %d Houses loaded.", HousesLoaded);
return 1;
}