EvilEngine/SCRP
A script is essentially a timeline of events. Upon receiving the Run event, the script will start to send events to other objects in the scene at the relative time offsets they are defined at.
Scripts can still receive and send events separately from its timed events.
Format
SCRP are object assets, so they start with their 0x8 byte header, then are followed by:
Offset | Type | Variable | Description |
---|---|---|---|
0x08 | float | unknown | Always 1. Maybe a speed multiplier? |
0x0C | int | timedEventCount | Number of timed events. |
0x10 | byte | flag1 | Always 0 or 1 |
0x11 | byte | flag2 | Always 0 |
0x12 | byte | flag3 | Always 0 |
0x13 | byte | flag4 | Always 0 |
0x14 | TimedEvent[timedEventCount] | timedEvents | Array of TimedEvent definitions. (See below) |
Events | |||
- | Event[numberOfEvents] | Events |
TimedEvent
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | float | time | Time of event in seconds, relative to the time the script starts running. |
0x04 | AssetID | targetAssetID | Asset to send this asset to. |
0x08 | int | event | Event ID enum. (See the list of events for your game to find the correct event ID) |
0x0C | number32[5] | arguments | Event parameters (can be floats, ints, AssetIDs, etc.) |