RF Online What Do You Need To Know ! (part3)
Typically between parts of a file in the RF is 8 bytes long (although some have, and 4)
Code:
Code
seek(nBlocks1*nBlockSize1 +8)
This means that we missed the first part of the file (the count blokov1 * size bloka1 + 8 bytes free)
Be sure to specify a group for child
Just a child for the second part of the specified Offset from which part of the ETA will begin (the count blokov1 * size bloka1 8 free bytes + 8 bytes charge count blokov2 and size bloka2)
After the structure for the block Block1 write the structure for the block Block2 Code:
Code
All GM Commandstruct Block1
{
u32 [tag="----"] DWORD;
....
...
....
...
...
}
struct Block2
{
u32 [tag="----"] DWORD;
....
...
....
...
...
}
So we get the structure of the form
Code:
IV.Operator repeatCode
[filemask="Имя файла.dat"]
struct "Название"
{
u32 nBlocks1;
u32 nBlockSize1;
child Block1 [group="1",count=nBlocks1];
seek(nBlocks1*nBlockSize1 +8)
u32 nBlocks2;
u32 nBlockSize2;
child Block2 [group="2",count=nBlocks2,offset=nBlocks1*nBlockSize1 +16];
......
.....
}
struct Block1
{
u32 [tag="----"] DWORD;
....
...
....
...
...
}
struct Block2
{
u32 [tag="----"] DWORD;
....
...
....
...
...
}
Also there operotor repeat-he repeats this block a few times
Example
Code:
And we shall see in Dateditor that he repeated 7 timesCode
repeat 7
{
u32 [tag="----"] DWORD;
}
Åòî comfortable when we see that the same is repeated many times (eg Store, StoreList etc.) and that the structure was easier to read we can use this operator
Post a Comment
Post a Comment