enum -
ATomas - 02.08.2014
Hello,
i need advice with this script
pawn Код:
enum house_shop
{
house_item[128],//1st line
house_waiting[64],//2nd line
house_cost[256]//3rd line
}
new House[50][house_shop];
stock SaveHouseInfo(houseid)
{
new string[16];
new File:SaveFile = fopen("Houses.txt",io_write);
for(new i;i<sizeof(House[]);i++)
{
format(string,sizeof(string),"%d\r\n",House[houseid][house_shop:i]);
fwrite(SaveFile,string);
}
fclose(SaveFile);
return 1;
}
Result is:
Код:
56//1st line
85//1st line
96//1st line
..
45//2nd line
12//2nd line
85//2nd line
..
63//3rd line
21//3rd line
58//3rd line
..
Bud I need write like this:
Код:
56 85 96 ...//1st line
45 12 85 ...//1st line
63 21 58 ...//3rd line
This is the bad way
pawn Код:
stock SaveHouseInfo(houseid)
{
new string[16];
new File:SaveFile = fopen("Houses.txt",io_write);
for(new i;i<sizeof(House[]);i++)
{
format(string,sizeof(string),"%d ",House[houseid][house_shop:i]);
fwrite(SaveFile,string);
if(i == 128 || i == 128+64 || i == 128+64+256) fwrite(SaveFile,"\r\n");
}
fclose(SaveFile);
return 1;
}
I do not want to write this. Is there any function that detects when the enum "line"?
Re: enum -
Lajko1 - 02.08.2014
house_item[128], house_waiting[64],house_cost[256]
This ?
Re: enum -
ATomas - 02.08.2014
Quote:
Originally Posted by Lajko1
house_item[128], house_waiting[64],house_cost[256]
This ?
|
Yes, a function that determine the house_item ended and starts house_waiting
Re: enum -
SlimDkhili - 02.08.2014
Код:
stock SaveHouseInfo(houseid)
{
new string[16];
new k;
k=0;
new File:SaveFile = fopen("Houses.txt",io_write);
for(new i;i<sizeof(House[]);i++)
{
format(string,sizeof(string),"%d ",House[houseid][house_shop:i]);
fwrite(SaveFile,string);
if(i == 128 || i == 128+64 || i == 128+64+256)
{
if(k!=3)
{
fwrite(SaveFile,"\r\n");
k++;
}
else
{
fwrite(SaveFile,"\r");
k=0;
}
}
}
fclose(SaveFile);
return 1;
}
that should work , if you get error ,i mean one more saved house in the line , make k=1;
Re: enum -
ATomas - 02.08.2014
For example, when I will have a very long enum
pawn Код:
enum house_shop
{
house_item[128],
house_waiting[64],
house_cost[256]
item[256]
car[23]
show[128]
owners[16]
colors[32]
weapon[46]
ammo[46]
//many many many items
}
it is very difficult to write:
pawn Код:
if(i == 128 || i == 128+64 || i == 128+64+256 ...)
I wonder if there is something like
pawn Код:
if(IsEnumNewLine(house_shop:i)) // true or false