The RedM developer’s field guide
Know the native.
Build the world.
Engine functions, framework docs, and game assets.
One reference. From the first lookup to the last line.
knowledge base
Explore / RedM
Native reference
- SCRIPTSvoid
_SET_PLAYER_BIT_AT_INDEX
Description not yet documented
0x31010318BA9897AC - SCRIPTSvoid
SET_SCRIPT_AS_NO_LONGER_NEEDED
Description not yet documented
0x0086D3067E1CFD1C - SCRIPTSvoid
SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED
Description not yet documented
0x50723A1567C8361E - SCRIPTSvoid
SHUTDOWN_LOADING_SCREEN
Description not yet documented
0xFC179D7E8886DADF - SCRIPTSint
START_NEW_SCRIPT
``` Examples: g_384A = SYSTEM::START_NEW_SCRIPT("cellphone_flashhand", 1424); l_10D = SYSTEM::START_NEW_SCRIPT("taxiService", 1828); SYSTEM::START_NEW_SCRIPT("AM_MP_YACHT", 5000); SYSTEM::START_NEW_SCRIPT("emergencycall", 512); SYSTEM::START_NEW_SCRIPT("emergencycall", 512); SYSTEM::START_NEW_SCRIPT("FM_maintain_cloud_header_data", 1424); SYSTEM::START_NEW_SCRIPT("FM_Mission_Controller", 31000); SYSTEM::START_NEW_SCRIPT("tennis_family", 3650); SYSTEM::START_NEW_SCRIPT("Celebrations", 3650); Decompiled examples of usage when starting a script: SCRIPT::REQUEST_SCRIPT(a_0); if (SCRIPT::HAS_SCRIPT_LOADED(a_0)) { SYSTEM::START_NEW_SCRIPT(a_0, v_3); SCRIPT::SET_SCRIPT_AS_NO_LONGER_NEEDED(a_0); return 1; } or: v_2 = "MrsPhilips2"; SCRIPT::REQUEST_SCRIPT(v_2); while (!SCRIPT::HAS_SCRIPT_LOADED(v_2)) { SCRIPT::REQUEST_SCRIPT(v_2); SYSTEM::WAIT(0); } sub_8792(36); SYSTEM::START_NEW_SCRIPT(v_2, 17000); SCRIPT::SET_SCRIPT_AS_NO_LONGER_NEEDED(v_2); All native script names: pastebin.com/K9adDsu4 and pastebin.com/yLNWicUi ```
0xE81651AD79516E48 - SCRIPTSint
START_NEW_SCRIPT_WITH_ARGS
``` return : script thread id, 0 if failed Pass pointer to struct of args in p1, size of struct goes into p2 ```
0xB8BA7F44DF1575E1 - SCRIPTSint
START_NEW_SCRIPT_WITH_NAME_HASH
Description not yet documented
0xEB1C67C3A5333A92 - SCRIPTSint
START_NEW_SCRIPT_WITH_NAME_HASH_AND_ARGS
Description not yet documented
0xC4BB298BD441BE78 - SCRIPTSvoid
STOP_DISPLAYING_MP_TRANSITION_LOADING_SCREENS
Description not yet documented
0x778D4733E0F2F265 - SCRIPTSBOOL
_STORE_GLOBAL_BLOCK
Description not yet documented
0xB952A3AC41D58F2F - SCRIPTSvoid
TERMINATE_THIS_THREAD
Description not yet documented
0x5E8B6D17FF91CD59 - SCRIPTSvoid
TERMINATE_THREAD
Description not yet documented
0x87ED52AE40EA1A52 - SCRIPTSvoid
TRIGGER_SCRIPT_EVENT
eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork), 2 = unk, 3 = unk, 4 = SCRIPT_EVENT_QUEUE_SCRIPT_ERRORS (CEventGroupScriptErrors) Note: eventDataSize is NOT the size in bytes, it is the size determined by the SIZE_OF operator (RAGE Script operator, not C/C++ sizeof). That is, the size in bytes divided by 8 (script variables are always 8-byte aligned!). playerBits (also known as playersToBroadcastTo) is a bitset that indicates which players this event should be sent to. In order to send the event to specific players only, use (1 << playerIndex). Set all bits if it should be broadcast to all players.
0x5AE99C571D5BBE5D - SCRIPTSvoid
_TRIGGER_SCRIPT_EVENT_2
Description not yet documented
0x8B61C950A148FFA2
A living reference. Documentation coverage varies by native and source.