Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- A SA:MP streamer plugin map file allows to store and load objects, pickups, 3D text labels, map icons, areas, checkpoints, and race checkpoints within multiple groups.
- /=====File Structure==========================================================================\
- | |
- | Header: 11 bytes |
- | Constant: "strmrgrps01" |
- | Sequence: |
- | Chunk: |
- | Size: 2 bytes |
- | ID: 4 bytes |
- | "Head", "Gnrt", "NGrp", "GrpH", "_Obj", "Pckp", "TxtL", "_Chk", "RChk", "Crcl", |
- | "Rect", "Sphr", "Cube", "Plgn", "MapI", "Wrld", "_Int", "Plyr", "_EOF" |
- | Data: "Size" bytes |
- | Checksum: 4 bytes ( Only from "Data", using CRC32 ) |
- | |
- \=============================================================================================/
- /=====IDs=============================================================================================\
- | |
- | "Head" ( 0x64616548 ): ( Global Header ) |
- | This chunk provides any kind of data a scripter can use. |
- | Examples: Title, ID, credits, or map information. |
- | Structure: |
- | "Size" bytes: Data (char array) |
- | |
- | "Gnrt" ( 0x74726E47 ): ( File Generator ) |
- | A file generator can create this chunk to write its signature. |
- | Multiple "Gnrt"s are invalid. |
- | Structure: |
- | "Size" bytes: Data (char array) |
- | |
- | "NGrp" ( 0x7072474E ): ( Next Group ) |
- | Tells the intepreter to create the next group. |
- | "Size" is always 0 |
- | No need to use "NGrp" to create the first group, hence "Next Group". |
- | If a group before "NGrp" is empty, the group before has to be destroyed. But it is still valid. |
- | "Checksum" always returns 0x2144DF1C or 558161692. |
- | |
- | "GrpH" ( 0x48707247 ): ( Group Header ) |
- | This chunk provides any kind of data within a group, which can be used by a scripter. |
- | Using multiple "GrpH"s inside a single group is invalid. |
- | Examples: Title, ID, credits, or map information. |
- | Structure: |
- | "size" bytes: Data (char array) |
- | |
- | "_Obj" ( 0x6A624F5F ): ( Object ) |
- | Adds a new object to the current selected group. |
- | "Size" can only be 28, 32, or 36. |
- | Structure: |
- | 4 bytes: Model ID (long) |
- | 4 bytes: X (float) |
- | 4 bytes: Y (float) |
- | 4 bytes: Z (float) |
- | 4 bytes: Rotation X (float) |
- | 4 bytes: Rotation Y (float) |
- | 4 bytes: Rotation Z (float) |
- | ( optional ) 4 bytes: Stream Distance (float) |
- | ( optional ) 4 bytes: Draw Distance (float) |
- | |
- | "Pckp" ( 0x706B6350 ): ( Pickup ) |
- | Adds a new pickup to the current selected group. |
- | "Size" can only be 20, or 24. |
- | Structure: |
- | 4 bytes: Model ID (long) |
- | 4 bytes: Type (long) |
- | 4 bytes: X (float) |
- | 4 bytes: Y (float) |
- | 4 bytes: Z (float) |
- | ( optional ) 4 bytes: Stream Distance (float) |
- | |
- | "TxtL" ( 0x4C747854 ): ( 3D Text Label ) |
- | Adds a new 3D text label to the current selected group. |
- | "Size" can't be smaller than 17. |
- | Structure: |
- | 4 bytes: X (float) |
- | 4 bytes: Y (float) |
- | 4 bytes: Z (float) |
- | 1 byte: Test Line Of Sight (bool) |
- | 4 bytes: Stream Distance (float) |
- | ( optional ) "size"-17 bytes: Text (string) |
- | |
- | "_Chk" ( 0x6B68435F ): ( Checkpoint ) |
- | Adds a checkpoint to the current selected group. |
- | "Size" can only be 16 or 20. |
- | Structure: |
- | 4 bytes: X (float) |
- | 4 bytes: Y (float) |
- | 4 bytes: Z (float) |
- | 4 bytes: Size (float) |
- | ( optional ) 4 bytes: Stream Distance (float) |
- | |
- | "RChk" ( 0x6B684352 ): ( Race Checkpoint ) |
- | Adds a race checkpoint to the current selected group. |
- | "Size" can only be 25 or 29. |
- | Structure: |
- | 1 byte: Type (char) |
- | 4 bytes: X (float) |
- | 4 bytes: Y (float) |
- | 4 bytes: Z (float) |
- | 4 bytes: Next X (float) |
- | 4 bytes: Next Y (float) |
- | 4 bytes: Next Z (float) |
- | ( optional ) 4 bytes: Stream Distance (float) |
- | "Crcl" ( 0x6C637243 ): ( Circled Area ) |
- | Adds a circle area to the current selected group. |
- | "Size" always equals 12. |
- | Structure: |
- | 4 bytes: X (float) |
- | 4 bytes: Y (float) |
- | 4 bytes: Z (float) |
- | 4 bytes: Size (float) |
- | |
- | "Rect" ( 0x74636552 ): ( Rectangled Area ) |
- | Adds an rectangled area to the current selected group. |
- | "Size" always equals 12. |
- | Structure: |
- | 4 bytes: Min X (float) |
- | 4 bytes: Min Y (float) |
- | 4 bytes: Max X (float) |
- | 4 bytes: Max Y (float) |
- | |
- | "Sphr" ( 0x72687053 ): ( Sphered Area ) |
- | Adds a sphered area to the selected group. |
- | "Size" always equals 12. |
- | Structure: |
- | 4 bytes: X (float) |
- | 4 bytes: Y (float) |
- | 4 bytes: Z (float) |
- | 4 bytes: Size (float) |
- | |
- | "Cube" ( 0x43756265 ): ( Cubed Area ) |
- | Adds a cubed area to the current selected group. |
- | "Size" always equals 28. |
- | Structure: |
- | 4 bytes: Min X (float) |
- | 4 bytes: Min X (float) |
- | 4 bytes: Min Y (float) |
- | 4 bytes: Min Z (float) |
- | 4 bytes: Max X (float) |
- | 4 bytes: Max Y (float) |
- | 4 bytes: Max Z (float) |
- | |
- | "Plgn" ( 0x506C676E ): ( Polygoned Area ) |
- | Adds a polygoned area to the current selected group. |
- | "Size" can't be smaller than 34. It also has to be divisible by 2. |
- | Structure: |
- | 4 bytes: Min X (float) |
- | 4 bytes: Min Y (float) |
- | 2 bytes: Number Of Points (short) |
- | 8*"Number Of Points" bytes: (float array) |
- | 4 bytes: X (float) |
- | 4 bytes: Y (float) |
- | |
- | "MapI" ( 0x4D617049 ): ( Map Icon ) |
- | Adds a map icon to the current selected group. |
- | "Size" can only be 18 or 22. |
- | Structure: |
- | 4 bytes: X (float) |
- | 4 bytes: Y (float) |
- | 4 bytes: Z (float) |
- | 1 byte: Type (char) |
- | 4 bytes: Color (long) |
- | 1 byte: Style (char) |
- | ( optional ) 4 bytes: Stream Distance (float) |
- | |
- | "Wrld" ( 0x57726C64 ): ( Group Virtual World ) |
- | Sets the virtual worlds of the current selected group. |
- | "Size" can't be smaller than 8. It also has to be divisible by 4. |
- | Structure: |
- | 4 bytes: "Number Of Virtual Worlds" |
- | 4*"Number Of Virtual Worlds" bytes: Virtual Worlds (long array) |
- | 4 bytes: Virtual World (long) |
- | |
- | "_Int" ( 0x5F496E74 ): ( Group Interior ) |
- | Sets the interiors of the current selected group. |
- | "Size" can't be smaller than 8. It also has to be divisible by 4. |
- | Structure: |
- | 4 bytes: "Number Of Interiors" |
- | 4*"Number Of Interiors" bytes: Interiors (long array) |
- | 4 bytes: Interior (long) |
- | |
- | "Plyr" ( 0x506C7972 ): ( Group Player ) |
- | Sets the players of the current selected group. |
- | "Size" can't be smaller than 8. It also has to be divisible by 4. |
- | Structure: |
- | 4 bytes: "Number Of Players" |
- | 4*"Number Of Players" bytes: Players (long array) |
- | 4 bytes: Player (long) |
- | |
- | "_EOF" ( 0x5F454F46 ): ( End Of File ) |
- | Tells the intepreter to be finished. |
- | "Size" is always 0 |
- | "Checksum" always returns 0x2144DF1C or 558161692. |
- | |
- \=====================================================================================================/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement