From dd45b4509f512162bfc19299cef082bae79265fa Mon Sep 17 00:00:00 2001 From: Keramis <81401952+Keramis@users.noreply.github.com> Date: Mon, 24 Jan 2022 18:15:28 -0800 Subject: [PATCH] Drop this in the /lib folder. --- natives-1614644776.lua | 16805 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 16805 insertions(+) create mode 100644 natives-1614644776.lua diff --git a/natives-1614644776.lua b/natives-1614644776.lua new file mode 100644 index 0000000..62b832f --- /dev/null +++ b/natives-1614644776.lua @@ -0,0 +1,16805 @@ +-- DONT RENAME THIS FILE +-- This should be natives-1614644776.lua wherein 1614644776 represents the version. +-- Any given version may not be compatible with any given script using this library. +-- Additionally, you should bundle the version of this library that you are developing against with your script, so "installing" your script is a simple drag & drop operation. + +SYSTEM={ + -- Pauses execution of the current script, please note this behavior is only seen when called from one of the game script files(ysc). In order to wait an asi script use "static void WAIT(DWORD time);" found in main.h + ["WAIT"]=--[[void]] function(--[[int]] ms)native_invoker.begin_call();native_invoker.push_arg_int(ms);native_invoker.end_call("4EDE34FBADD967A6");end, + -- 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 + ["START_NEW_SCRIPT"]=--[[int]] function(--[[string]] scriptName,--[[int]] stackSize)native_invoker.begin_call();native_invoker.push_arg_string(scriptName);native_invoker.push_arg_int(stackSize);native_invoker.end_call("E81651AD79516E48");return native_invoker.get_return_value_int();end, + -- return : script thread id, 0 if failed + -- Pass pointer to struct of args in p1, size of struct goes into p2 + ["START_NEW_SCRIPT_WITH_ARGS"]=--[[int]] function(--[[string]] scriptName,--[[Any* (pointer)]] args,--[[int]] argCount,--[[int]] stackSize)native_invoker.begin_call();native_invoker.push_arg_string(scriptName);native_invoker.push_arg_pointer(args);native_invoker.push_arg_int(argCount);native_invoker.push_arg_int(stackSize);native_invoker.end_call("B8BA7F44DF1575E1");return native_invoker.get_return_value_int();end, + ["START_NEW_SCRIPT_WITH_NAME_HASH"]=--[[int]] function(--[[Hash (int)]] scriptHash,--[[int]] stackSize)native_invoker.begin_call();native_invoker.push_arg_int(scriptHash);native_invoker.push_arg_int(stackSize);native_invoker.end_call("EB1C67C3A5333A92");return native_invoker.get_return_value_int();end, + ["START_NEW_SCRIPT_WITH_NAME_HASH_AND_ARGS"]=--[[int]] function(--[[Hash (int)]] scriptHash,--[[Any* (pointer)]] args,--[[int]] argCount,--[[int]] stackSize)native_invoker.begin_call();native_invoker.push_arg_int(scriptHash);native_invoker.push_arg_pointer(args);native_invoker.push_arg_int(argCount);native_invoker.push_arg_int(stackSize);native_invoker.end_call("C4BB298BD441BE78");return native_invoker.get_return_value_int();end, + -- Counts up. Every 1000 is 1 real-time second. Use SETTIMERA(int value) to set the timer (e.g.: SETTIMERA(0)). + ["TIMERA"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("83666F9FB8FEBD4B");return native_invoker.get_return_value_int();end, + ["TIMERB"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("C9D9444186B5A374");return native_invoker.get_return_value_int();end, + ["SETTIMERA"]=--[[void]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("C1B1E9A034A63A62");end, + ["SETTIMERB"]=--[[void]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("5AE11BC36633DE4E");end, + -- Gets the current frame time. + ["TIMESTEP"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("0000000050597EE2");return native_invoker.get_return_value_float();end, + ["SIN"]=--[[float]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("0BADBFA3B172435F");return native_invoker.get_return_value_float();end, + ["COS"]=--[[float]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("D0FFB162F40A139C");return native_invoker.get_return_value_float();end, + ["SQRT"]=--[[float]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("71D93B57D07F9804");return native_invoker.get_return_value_float();end, + ["POW"]=--[[float]] function(--[[float]] base,--[[float]] exponent)native_invoker.begin_call();native_invoker.push_arg_float(base);native_invoker.push_arg_float(exponent);native_invoker.end_call("E3621CC40F31FE2E");return native_invoker.get_return_value_float();end, + ["_LOG10"]=--[[float]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("E816E655DE37FE20");return native_invoker.get_return_value_float();end, + -- Calculates the magnitude of a vector. + ["VMAG"]=--[[float]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("652D2EEEF1D3E62C");return native_invoker.get_return_value_float();end, + -- Calculates the magnitude of a vector but does not perform Sqrt operations. (Its way faster) + ["VMAG2"]=--[[float]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("A8CEACB4F35AE058");return native_invoker.get_return_value_float();end, + -- Calculates distance between vectors. + ["VDIST"]=--[[float]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.end_call("2A488C176D52CCA5");return native_invoker.get_return_value_float();end, + -- Calculates distance between vectors but does not perform Sqrt operations. (Its way faster) + ["VDIST2"]=--[[float]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.end_call("B7A628320EFF8E47");return native_invoker.get_return_value_float();end, + ["SHIFT_LEFT"]=--[[int]] function(--[[int]] value,--[[int]] bitShift)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.push_arg_int(bitShift);native_invoker.end_call("EDD95A39E5544DE8");return native_invoker.get_return_value_int();end, + ["SHIFT_RIGHT"]=--[[int]] function(--[[int]] value,--[[int]] bitShift)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.push_arg_int(bitShift);native_invoker.end_call("97EF1E5BCE9DC075");return native_invoker.get_return_value_int();end, + ["FLOOR"]=--[[int]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("F34EE736CF047844");return native_invoker.get_return_value_int();end, + -- I'm guessing this rounds a float value up to the next whole number, and FLOOR rounds it down + ["CEIL"]=--[[int]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("11E019C8F43ACC8A");return native_invoker.get_return_value_int();end, + ["ROUND"]=--[[int]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("F2DB717A73826179");return native_invoker.get_return_value_int();end, + ["TO_FLOAT"]=--[[float]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("BBDA792448DB5A89");return native_invoker.get_return_value_float();end, + -- 0 = high + -- 1 = normal + -- 2 = low + ["_SET_THREAD_PRIORITY"]=--[[void]] function(--[[int]] priority)native_invoker.begin_call();native_invoker.push_arg_int(priority);native_invoker.end_call("42B65DEEF2EDF2A1");end, +} +APP={ + ["APP_DATA_VALID"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("846AA8E7D55EE5B6");return native_invoker.get_return_value_bool();end, + ["APP_GET_INT"]=--[[int]] function(--[[string]] property)native_invoker.begin_call();native_invoker.push_arg_string(property);native_invoker.end_call("D3A58A12C77D9D4B");return native_invoker.get_return_value_int();end, + ["APP_GET_FLOAT"]=--[[float]] function(--[[string]] property)native_invoker.begin_call();native_invoker.push_arg_string(property);native_invoker.end_call("1514FB24C02C2322");return native_invoker.get_return_value_float();end, + ["APP_GET_STRING"]=--[[string]] function(--[[string]] property)native_invoker.begin_call();native_invoker.push_arg_string(property);native_invoker.end_call("749B023950D2311C");return native_invoker.get_return_value_string();end, + ["APP_SET_INT"]=--[[void]] function(--[[string]] property,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_string(property);native_invoker.push_arg_int(value);native_invoker.end_call("607E8E3D3E4F9611");end, + ["APP_SET_FLOAT"]=--[[void]] function(--[[string]] property,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_string(property);native_invoker.push_arg_float(value);native_invoker.end_call("25D7687C68E0DAA4");end, + ["APP_SET_STRING"]=--[[void]] function(--[[string]] property,--[[string]] value)native_invoker.begin_call();native_invoker.push_arg_string(property);native_invoker.push_arg_string(value);native_invoker.end_call("3FF2FCEC4B7721B4");end, + -- Called in the gamescripts like: + -- APP::APP_SET_APP("car"); + -- APP::APP_SET_APP("dog"); + ["APP_SET_APP"]=--[[void]] function(--[[string]] appName)native_invoker.begin_call();native_invoker.push_arg_string(appName);native_invoker.end_call("CFD0406ADAF90D2B");end, + ["APP_SET_BLOCK"]=--[[void]] function(--[[string]] blockName)native_invoker.begin_call();native_invoker.push_arg_string(blockName);native_invoker.end_call("262AB456A3D21F93");end, + ["APP_CLEAR_BLOCK"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5FE1DF3342DB7DBA");end, + ["APP_CLOSE_APP"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E41C65E07A5F05FC");end, + ["APP_CLOSE_BLOCK"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E8E3FCF72EAC0EF8");end, + ["APP_HAS_LINKED_SOCIAL_CLUB_ACCOUNT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("71EEE69745088DA0");return native_invoker.get_return_value_bool();end, + ["APP_HAS_SYNCED_DATA"]=--[[BOOL (bool)]] function(--[[string]] appName)native_invoker.begin_call();native_invoker.push_arg_string(appName);native_invoker.end_call("CA52279A7271517F");return native_invoker.get_return_value_bool();end, + ["APP_SAVE_DATA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("95C5D356CDA6E85F");end, + ["APP_GET_DELETED_FILE_STATUS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("C9853A2BE3DED1A6");return native_invoker.get_return_value_int();end, + ["APP_DELETE_APP_DATA"]=--[[BOOL (bool)]] function(--[[string]] appName)native_invoker.begin_call();native_invoker.push_arg_string(appName);native_invoker.end_call("44151AEA95C8A003");return native_invoker.get_return_value_bool();end, +} +AUDIO={ + -- All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/RFb4GTny + -- + -- AUDIO::PLAY_PED_RINGTONE("Remote_Ring", PLAYER::PLAYER_PED_ID(), 1); + -- AUDIO::PLAY_PED_RINGTONE("Dial_and_Remote_Ring", PLAYER::PLAYER_PED_ID(), 1); + -- + ["PLAY_PED_RINGTONE"]=--[[void]] function(--[[string]] ringtoneName,--[[Ped (int)]] ped,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_string(ringtoneName);native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p2);native_invoker.end_call("F9E56683CA8E11A5");end, + ["IS_PED_RINGTONE_PLAYING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("1E8E5E20937E3137");return native_invoker.get_return_value_bool();end, + ["STOP_PED_RINGTONE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("6C5AE23EFA885092");end, + ["IS_MOBILE_PHONE_CALL_ONGOING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("7497D2CE2C30D24C");return native_invoker.get_return_value_bool();end, + -- IS_MOBILE_PHONE_* + ["_0xC8B1B2425604CDD0"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C8B1B2425604CDD0");return native_invoker.get_return_value_bool();end, + ["CREATE_NEW_SCRIPTED_CONVERSATION"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D2C91A0B572AAE56");end, + -- NOTE: ones that are -1, 0 - 35 are determined by a function where it gets a TextLabel from a global then runs, + -- _GET_TEXT_SUBSTRING and depending on what the result is it goes in check order of 0 - 9 then A - Z then z (lowercase). So it will then return 0 - 35 or -1 if it's 'z'. The func to handle that ^^ is func_67 in dialog_handler.c atleast in TU27 Xbox360 scripts. + -- + -- p0 is -1, 0 - 35 + -- p1 is a char or string (whatever you wanna call it) + -- p2 is Global 10597 + i * 6. 'i' is a while(i < 70) loop + -- p3 is again -1, 0 - 35 + -- p4 is again -1, 0 - 35 + -- p5 is either 0 or 1 (bool ?) + -- p6 is either 0 or 1 (The func to determine this is bool) + -- p7 is either 0 or 1 (The func to determine this is bool) + -- p8 is either 0 or 1 (The func to determine this is bool) + -- p9 is 0 - 3 (Determined by func_60 in dialogue_handler.c) + -- p10 is either 0 or 1 (The func to determine this is bool) + -- p11 is either 0 or 1 (The func to determine this is bool) + -- p12 is unknown as in TU27 X360 scripts it only goes to p11. + ["ADD_LINE_TO_CONVERSATION"]=--[[void]] function(--[[int]] index,--[[string]] p1,--[[string]] p2,--[[int]] p3,--[[int]] p4,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8,--[[int]] p9,--[[BOOL (bool)]] p10,--[[BOOL (bool)]] p11,--[[BOOL (bool)]] p12)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_string(p1);native_invoker.push_arg_string(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_bool(p10);native_invoker.push_arg_bool(p11);native_invoker.push_arg_bool(p12);native_invoker.end_call("C5EF963405593646");end, + -- 4 calls in the b617d scripts. The only one with p0 and p2 in clear text: + -- + -- AUDIO::ADD_PED_TO_CONVERSATION(5, l_AF, "DINAPOLI"); + -- + -- ================================================= + -- One of the 2 calls in dialogue_handler.c p0 is in a while-loop, and so is determined to also possibly be 0 - 15. + ["ADD_PED_TO_CONVERSATION"]=--[[void]] function(--[[int]] index,--[[Ped (int)]] ped,--[[string]] p2)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_int(ped);native_invoker.push_arg_string(p2);native_invoker.end_call("95D9F4BC443956E7");end, + ["_0x33E3C6C6F2F0B506"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("33E3C6C6F2F0B506");end, + ["_0x892B6AB8F33606F5"]=--[[void]] function(--[[int]] p0,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(entity);native_invoker.end_call("892B6AB8F33606F5");end, + -- If this is the correct name, what microphone? I know your TV isn't going to reach out and adjust your headset so.. + ["SET_MICROPHONE_POSITION"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] x3,--[[float]] y3,--[[float]] z3)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(x3);native_invoker.push_arg_float(y3);native_invoker.push_arg_float(z3);native_invoker.end_call("B6AE90EDDE95C762");end, + ["_0x0B568201DD99F0EB"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("0B568201DD99F0EB");end, + ["_0x61631F5DF50D1C34"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("61631F5DF50D1C34");end, + ["START_SCRIPT_PHONE_CONVERSATION"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("252E5F915EABB675");end, + ["PRELOAD_SCRIPT_PHONE_CONVERSATION"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("6004BCB0E226AAEA");end, + ["START_SCRIPT_CONVERSATION"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("6B17C62C9635D2DC");end, + ["PRELOAD_SCRIPT_CONVERSATION"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("3B3CAD6166916D87");end, + ["START_PRELOADED_CONVERSATION"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("23641AFE870AF385");end, + ["GET_IS_PRELOADED_CONVERSATION_READY"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("E73364DB90778FFA");return native_invoker.get_return_value_bool();end, + ["IS_SCRIPTED_CONVERSATION_ONGOING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("16754C556D2EDE3D");return native_invoker.get_return_value_bool();end, + ["IS_SCRIPTED_CONVERSATION_LOADED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("DF0D54BE7A776737");return native_invoker.get_return_value_bool();end, + ["GET_CURRENT_SCRIPTED_CONVERSATION_LINE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("480357EE890C295A");return native_invoker.get_return_value_int();end, + ["PAUSE_SCRIPTED_CONVERSATION"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("8530AD776CD72B12");end, + ["RESTART_SCRIPTED_CONVERSATION"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9AEB285D1818C9AC");end, + ["STOP_SCRIPTED_CONVERSATION"]=--[[int]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("D79DEEFB53455EBA");return native_invoker.get_return_value_int();end, + ["SKIP_TO_NEXT_SCRIPTED_CONVERSATION_LINE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9663FE6B7A61EB00");end, + ["INTERRUPT_CONVERSATION"]=--[[void]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("A018A12E5C5C2FA6");end, + -- One call found in the b617d scripts: + -- + -- AUDIO::_8A694D7A68F8DC38(NETWORK::NET_TO_PED(l_3989._f26F[0/*1*/]), "CONV_INTERRUPT_QUIT_IT", "LESTER"); + ["INTERRUPT_CONVERSATION_AND_PAUSE"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] p1,--[[string]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(p1);native_invoker.push_arg_string(p2);native_invoker.end_call("8A694D7A68F8DC38");end, + ["_0xAA19F5572C38B564"]=--[[Any (int)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("AA19F5572C38B564");return native_invoker.get_return_value_int();end, + ["_0xB542DE8C3D1CB210"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("B542DE8C3D1CB210");end, + -- This native does absolutely nothing, just a nullsub + ["REGISTER_SCRIPT_WITH_AUDIO"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("C6ED9D5092438D91");end, + -- This native does absolutely nothing, just a nullsub + ["UNREGISTER_SCRIPT_WITH_AUDIO"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A8638BE228D4751A");end, + -- All occurrences and usages found in b617d: pastebin.com/NzZZ2Tmm + -- + ["REQUEST_MISSION_AUDIO_BANK"]=--[[BOOL (bool)]] function(--[[string]] p0,--[[BOOL (bool)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("7345BDD95E62E0F2");return native_invoker.get_return_value_bool();end, + -- All occurrences and usages found in b617d, sorted alphabetically and identical lines removed: pastebin.com/XZ1tmGEz + ["REQUEST_AMBIENT_AUDIO_BANK"]=--[[BOOL (bool)]] function(--[[string]] p0,--[[BOOL (bool)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("FE02FFBED8CA9D99");return native_invoker.get_return_value_bool();end, + -- All occurrences and usages found in b617d, sorted alphabetically and identical lines removed: pastebin.com/AkmDAVn6 + ["REQUEST_SCRIPT_AUDIO_BANK"]=--[[BOOL (bool)]] function(--[[string]] p0,--[[BOOL (bool)]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("2F844A8B08D76685");return native_invoker.get_return_value_bool();end, + ["_0x40763EA7B9B783E7"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("40763EA7B9B783E7");return native_invoker.get_return_value_int();end, + ["HINT_AMBIENT_AUDIO_BANK"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("8F8C0E370AE62F5C");return native_invoker.get_return_value_int();end, + ["HINT_SCRIPT_AUDIO_BANK"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("FB380A29641EC31A");return native_invoker.get_return_value_int();end, + ["RELEASE_MISSION_AUDIO_BANK"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0EC92A1BF0857187");end, + ["RELEASE_AMBIENT_AUDIO_BANK"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("65475A218FFAA93D");end, + ["RELEASE_NAMED_SCRIPT_AUDIO_BANK"]=--[[void]] function(--[[string]] audioBank)native_invoker.begin_call();native_invoker.push_arg_string(audioBank);native_invoker.end_call("77ED170667F50170");end, + ["RELEASE_SCRIPT_AUDIO_BANK"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("7A2D8AD0A9EB9C3F");end, + ["_0x19AF7ED9B9D23058"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("19AF7ED9B9D23058");end, + ["_0x9AC92EED5E4793AB"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9AC92EED5E4793AB");end, + ["_0x11579D940949C49E"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("11579D940949C49E");end, + ["GET_SOUND_ID"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("430386FE9BF80B45");return native_invoker.get_return_value_int();end, + ["RELEASE_SOUND_ID"]=--[[void]] function(--[[int]] soundId)native_invoker.begin_call();native_invoker.push_arg_int(soundId);native_invoker.end_call("353FC880830B88FA");end, + -- All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/A8Ny8AHZ + -- + -- Full list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json + ["PLAY_SOUND"]=--[[void]] function(--[[int]] soundId,--[[string]] audioName,--[[string]] audioRef,--[[BOOL (bool)]] p3,--[[Any (int)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(soundId);native_invoker.push_arg_string(audioName);native_invoker.push_arg_string(audioRef);native_invoker.push_arg_bool(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("7FF4944CC209192D");end, + -- List: https://pastebin.com/DCeRiaLJ + -- + -- All occurrences as of Cayo Perico Heist DLC (b2189), sorted alphabetically and identical lines removed: https://git.io/JtLxM + -- + -- Full list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json + ["PLAY_SOUND_FRONTEND"]=--[[void]] function(--[[int]] soundId,--[[string]] audioName,--[[string]] audioRef,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(soundId);native_invoker.push_arg_string(audioName);native_invoker.push_arg_string(audioRef);native_invoker.push_arg_bool(p3);native_invoker.end_call("67C540AA08E4A6F5");end, + -- Only call found in the b617d scripts: + -- + -- AUDIO::PLAY_DEFERRED_SOUND_FRONTEND("BACK", "HUD_FREEMODE_SOUNDSET"); + -- + -- Full list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json + ["PLAY_DEFERRED_SOUND_FRONTEND"]=--[[void]] function(--[[string]] soundName,--[[string]] soundsetName)native_invoker.begin_call();native_invoker.push_arg_string(soundName);native_invoker.push_arg_string(soundsetName);native_invoker.end_call("CADA5A0D0702381E");end, + -- All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/f2A7vTj0 + -- No changes made in b678d. + -- + -- gtaforums.com/topic/795622-audio-for-mods + -- + -- Full list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json + ["PLAY_SOUND_FROM_ENTITY"]=--[[void]] function(--[[int]] soundId,--[[string]] audioName,--[[Entity (int)]] entity,--[[string]] audioRef,--[[BOOL (bool)]] isNetwork,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(soundId);native_invoker.push_arg_string(audioName);native_invoker.push_arg_int(entity);native_invoker.push_arg_string(audioRef);native_invoker.push_arg_bool(isNetwork);native_invoker.push_arg_int(p5);native_invoker.end_call("E65F427EB70AB1ED");end, + ["_0x5B9853296731E88D"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("5B9853296731E88D");end, + -- All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/eeFc5DiW + -- + -- gtaforums.com/topic/795622-audio-for-mods + -- + -- Full list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json + ["PLAY_SOUND_FROM_COORD"]=--[[void]] function(--[[int]] soundId,--[[string]] audioName,--[[float]] x,--[[float]] y,--[[float]] z,--[[string]] audioRef,--[[BOOL (bool)]] isNetwork,--[[int]] range,--[[BOOL (bool)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(soundId);native_invoker.push_arg_string(audioName);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_string(audioRef);native_invoker.push_arg_bool(isNetwork);native_invoker.push_arg_int(range);native_invoker.push_arg_bool(p8);native_invoker.end_call("8D8686B622B88120");end, + ["_0x7EC3C679D0E7E46B"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("7EC3C679D0E7E46B");end, + ["STOP_SOUND"]=--[[void]] function(--[[int]] soundId)native_invoker.begin_call();native_invoker.push_arg_int(soundId);native_invoker.end_call("A3B0C41BA5CC0BB5");end, + -- Could this be used alongside either, + -- SET_NETWORK_ID_EXISTS_ON_ALL_MACHINES or _SET_NETWORK_ID_SYNC_TO_PLAYER to make it so other players can hear the sound while online? It'd be a bit troll-fun to be able to play the Zancudo UFO creepy sounds globally. + ["GET_NETWORK_ID_FROM_SOUND_ID"]=--[[int]] function(--[[int]] soundId)native_invoker.begin_call();native_invoker.push_arg_int(soundId);native_invoker.end_call("2DE3F0A134FFBC0D");return native_invoker.get_return_value_int();end, + ["GET_SOUND_ID_FROM_NETWORK_ID"]=--[[int]] function(--[[int]] netId)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.end_call("75262FD12D0A1C84");return native_invoker.get_return_value_int();end, + ["SET_VARIABLE_ON_SOUND"]=--[[void]] function(--[[int]] soundId,--[[Any* (pointer)]] p1,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(soundId);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_float(p2);native_invoker.end_call("AD6B3148A78AE9B6");end, + -- From the scripts, p0: + -- + -- "ArmWrestlingIntensity", + -- "INOUT", + -- "Monkey_Stream", + -- "ZoomLevel" + ["SET_VARIABLE_ON_STREAM"]=--[[void]] function(--[[string]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("2F9D3834AEB9EF79");end, + ["OVERRIDE_UNDERWATER_STREAM"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("F2A9CDABCEA04BD6");end, + -- AUDIO::SET_VARIABLE_ON_UNDER_WATER_STREAM("inTunnel", 1.0); + -- AUDIO::SET_VARIABLE_ON_UNDER_WATER_STREAM("inTunnel", 0.0); + ["SET_VARIABLE_ON_UNDER_WATER_STREAM"]=--[[void]] function(--[[string]] variableName,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_string(variableName);native_invoker.push_arg_float(value);native_invoker.end_call("733ADF241531E5C2");end, + ["HAS_SOUND_FINISHED"]=--[[BOOL (bool)]] function(--[[int]] soundId)native_invoker.begin_call();native_invoker.push_arg_int(soundId);native_invoker.end_call("FCBDCE714A7C88E5");return native_invoker.get_return_value_bool();end, + -- Plays ambient speech. See also _0x444180DB. + -- + -- ped: The ped to play the ambient speech. + -- speechName: Name of the speech to play, eg. "GENERIC_HI". + -- speechParam: Can be one of the following: + -- SPEECH_PARAMS_STANDARD + -- SPEECH_PARAMS_ALLOW_REPEAT + -- SPEECH_PARAMS_BEAT + -- SPEECH_PARAMS_FORCE + -- SPEECH_PARAMS_FORCE_FRONTEND + -- SPEECH_PARAMS_FORCE_NO_REPEAT_FRONTEND + -- SPEECH_PARAMS_FORCE_NORMAL + -- SPEECH_PARAMS_FORCE_NORMAL_CLEAR + -- SPEECH_PARAMS_FORCE_NORMAL_CRITICAL + -- SPEECH_PARAMS_FORCE_SHOUTED + -- SPEECH_PARAMS_FORCE_SHOUTED_CLEAR + -- SPEECH_PARAMS_FORCE_SHOUTED_CRITICAL + -- SPEECH_PARAMS_FORCE_PRELOAD_ONLY + -- SPEECH_PARAMS_MEGAPHONE + -- SPEECH_PARAMS_HELI + -- SPEECH_PARAMS_FORCE_MEGAPHONE + -- SPEECH_PARAMS_FORCE_HELI + -- SPEECH_PARAMS_INTERRUPT + -- SPEECH_PARAMS_INTERRUPT_SHOUTED + -- SPEECH_PARAMS_INTERRUPT_SHOUTED_CLEAR + -- SPEECH_PARAMS_INTERRUPT_SHOUTED_CRITICAL + -- SPEECH_PARAMS_INTERRUPT_NO_FORCE + -- SPEECH_PARAMS_INTERRUPT_FRONTEND + -- SPEECH_PARAMS_INTERRUPT_NO_FORCE_FRONTEND + -- SPEECH_PARAMS_ADD_BLIP + -- SPEECH_PARAMS_ADD_BLIP_ALLOW_REPEAT + -- SPEECH_PARAMS_ADD_BLIP_FORCE + -- SPEECH_PARAMS_ADD_BLIP_SHOUTED + -- SPEECH_PARAMS_ADD_BLIP_SHOUTED_FORCE + -- SPEECH_PARAMS_ADD_BLIP_INTERRUPT + -- SPEECH_PARAMS_ADD_BLIP_INTERRUPT_FORCE + -- SPEECH_PARAMS_FORCE_PRELOAD_ONLY_SHOUTED + -- SPEECH_PARAMS_FORCE_PRELOAD_ONLY_SHOUTED_CLEAR + -- SPEECH_PARAMS_FORCE_PRELOAD_ONLY_SHOUTED_CRITICAL + -- SPEECH_PARAMS_SHOUTED + -- SPEECH_PARAMS_SHOUTED_CLEAR + -- SPEECH_PARAMS_SHOUTED_CRITICAL + -- + -- Note: A list of Name and Parameters can be found here pastebin.com/1GZS5dCL + -- + -- Full list of speeches and voices names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/speeches.json + -- + -- Old name: _PLAY_AMBIENT_SPEECH1 + ["PLAY_PED_AMBIENT_SPEECH_NATIVE"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] speechName,--[[string]] speechParam,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(speechName);native_invoker.push_arg_string(speechParam);native_invoker.push_arg_int(p3);native_invoker.end_call("8E04FEDD28D42462");end, + -- Plays ambient speech. See also _0x5C57B85D. + -- + -- See PLAY_PED_AMBIENT_SPEECH_NATIVE for parameter specifications. + -- + -- Full list of speeches and voices names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/speeches.json + ["PLAY_PED_AMBIENT_SPEECH_AND_CLONE_NATIVE"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] speechName,--[[string]] speechParam,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(speechName);native_invoker.push_arg_string(speechParam);native_invoker.push_arg_int(p3);native_invoker.end_call("C6941B4A3A8FBBB9");end, + -- This is the same as PLAY_PED_AMBIENT_SPEECH_NATIVE and PLAY_PED_AMBIENT_SPEECH_AND_CLONE_NATIVE but it will allow you to play a speech file from a specific voice file. It works on players and all peds, even animals. + -- + -- EX (C#): + -- GTA.Native.Function.Call(Hash._0x3523634255FC3318, Game.Player.Character, "GENERIC_INSULT_HIGH", "s_m_y_sheriff_01_white_full_01", "SPEECH_PARAMS_FORCE_SHOUTED", 0); + -- + -- The first param is the ped you want to play it on, the second is the speech name, the third is the voice name, the fourth is the speech param, and the last param is usually always 0. + -- + -- Full list of speeches and voices names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/speeches.json + ["PLAY_PED_AMBIENT_SPEECH_WITH_VOICE_NATIVE"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] speechName,--[[string]] voiceName,--[[string]] speechParam,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(speechName);native_invoker.push_arg_string(voiceName);native_invoker.push_arg_string(speechParam);native_invoker.push_arg_bool(p4);native_invoker.end_call("3523634255FC3318");end, + -- Full list of speeches and voices names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/speeches.json + ["PLAY_AMBIENT_SPEECH_FROM_POSITION_NATIVE"]=--[[void]] function(--[[string]] speechName,--[[string]] voiceName,--[[float]] x,--[[float]] y,--[[float]] z,--[[string]] speechParam)native_invoker.begin_call();native_invoker.push_arg_string(speechName);native_invoker.push_arg_string(voiceName);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_string(speechParam);native_invoker.end_call("ED640017ED337E45");end, + -- This native enables the audio flag "TrevorRageIsOverridden" and sets the voice effect to `voiceEffect` + ["OVERRIDE_TREVOR_RAGE"]=--[[void]] function(--[[string]] voiceEffect)native_invoker.begin_call();native_invoker.push_arg_string(voiceEffect);native_invoker.end_call("13AD665062541A7E");end, + ["RESET_TREVOR_RAGE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E78503B10C4314E0");end, + ["SET_PLAYER_ANGRY"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("EA241BB04110F091");end, + -- Needs another parameter [int p2]. The signature is PED::PLAY_PAIN(Ped ped, int painID, int p1, int p2); + -- + -- Last 2 parameters always seem to be 0. + -- + -- EX: Function.Call(Hash.PLAY_PAIN, TestPed, 6, 0, 0); + -- + -- Known Pain IDs + -- ________________________ + -- + -- 1 - Doesn't seem to do anything. Does NOT crash the game like previously said. (Latest patch) + -- 6 - Scream (Short) + -- 7 - Scared Scream (Kinda Long) + -- 8 - On Fire + -- + ["PLAY_PAIN"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] painID,--[[int]] p1,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(painID);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p3);native_invoker.end_call("BC9AE166038A5CEC");end, + ["RELEASE_WEAPON_AUDIO"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("CE4AC0439F607045");end, + ["ACTIVATE_AUDIO_SLOWMO_MODE"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("D01005D2BA2EB778");end, + ["DEACTIVATE_AUDIO_SLOWMO_MODE"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("DDC635D5B3262C56");end, + -- Audio List + -- gtaforums.com/topic/795622-audio-for-mods/ + -- + -- All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/FTeAj4yZ + -- + -- Yes + ["SET_AMBIENT_VOICE_NAME"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(name);native_invoker.end_call("6C8065A3B780185B");end, + ["_SET_AMBIENT_VOICE_NAME_HASH"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(hash);native_invoker.end_call("9A53DED9921DE990");end, + ["_GET_AMBIENT_VOICE_NAME_HASH"]=--[[Hash (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("5E203DA2BA15D436");return native_invoker.get_return_value_int();end, + -- Assigns some ambient voice to the ped. + ["_SET_PED_SCREAM"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("40CF0D12D142A9E8");end, + ["_0x1B7ABE26CBCBF8C7"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("1B7ABE26CBCBF8C7");end, + -- From the scripts: + -- + -- AUDIO::_SET_PED_VOICE_GROUP(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("PAIGE_PVG")); + -- AUDIO::_SET_PED_VOICE_GROUP(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("TALINA_PVG")); + -- AUDIO::_SET_PED_VOICE_GROUP(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("FEMALE_LOST_BLACK_PVG")); + -- AUDIO::_SET_PED_VOICE_GROUP(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("FEMALE_LOST_WHITE_PVG")); + ["_SET_PED_VOICE_GROUP"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] voiceGroupHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(voiceGroupHash);native_invoker.end_call("7CDC8C3B89F661B3");end, + ["_0xA5342D390CDA41D6"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("A5342D390CDA41D6");end, + ["STOP_CURRENT_PLAYING_SPEECH"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("7A73D05A607734C7");end, + ["STOP_CURRENT_PLAYING_AMBIENT_SPEECH"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("B8BEC0CA6F0EDB0F");end, + ["IS_AMBIENT_SPEECH_PLAYING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("9072C8B49907BFAD");return native_invoker.get_return_value_bool();end, + ["IS_SCRIPTED_SPEECH_PLAYING"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("CC9AA18DCC7084F4");return native_invoker.get_return_value_bool();end, + ["IS_ANY_SPEECH_PLAYING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("729072355FA39EC9");return native_invoker.get_return_value_bool();end, + ["_0x30CA2EF91D15ADF8"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("30CA2EF91D15ADF8");return native_invoker.get_return_value_int();end, + -- Checks if the ped can play the speech or has the speech file, last parameter is usually 0 + -- + -- DOES_C* + ["_CAN_PED_SPEAK"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[string]] speechName,--[[BOOL (bool)]] unk)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(speechName);native_invoker.push_arg_bool(unk);native_invoker.end_call("49B99BF3FDA89A7A");return native_invoker.get_return_value_bool();end, + ["IS_PED_IN_CURRENT_CONVERSATION"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("049E937F18F4020C");return native_invoker.get_return_value_bool();end, + -- Sets the ped drunk sounds. Only works with PLAYER_PED_ID + -- + -- ==================================================== + -- + -- As mentioned above, this only sets the drunk sound to ped/player. + -- + -- To give the Ped a drunk effect with drunk walking animation try using SET_PED_MOVEMENT_CLIPSET + -- + -- Below is an example + -- + -- if (!Function.Call(Hash.HAS_ANIM_SET_LOADED, "move_m@drunk@verydrunk")) + -- { + -- Function.Call(Hash.REQUEST_ANIM_SET, "move_m@drunk@verydrunk"); + -- } + -- Function.Call(Hash.SET_PED_MOVEMENT_CLIPSET, Ped.Handle, "move_m@drunk@verydrunk", 0x3E800000); + -- + -- + -- + -- And to stop the effect use + -- RESET_PED_MOVEMENT_CLIPSET + ["SET_PED_IS_DRUNK"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("95D2D383D5396B8A");end, + -- Plays sounds from a ped with chop model. For example it used to play bark or sniff sounds. p1 is always 3 or 4294967295 in decompiled scripts. By a quick disassembling I can assume that this arg is unused. + -- This native is works only when you call it on the ped with right model (ac_chop only ?) + -- Speech Name can be: CHOP_SNIFF_SEQ CHOP_WHINE CHOP_LICKS_MOUTH CHOP_PANT bark GROWL SNARL BARK_SEQ + ["PLAY_ANIMAL_VOCALIZATION"]=--[[void]] function(--[[Ped (int)]] pedHandle,--[[int]] p1,--[[string]] speechName)native_invoker.begin_call();native_invoker.push_arg_int(pedHandle);native_invoker.push_arg_int(p1);native_invoker.push_arg_string(speechName);native_invoker.end_call("EE066C7006C49C0A");end, + ["IS_ANIMAL_VOCALIZATION_PLAYING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] pedHandle)native_invoker.begin_call();native_invoker.push_arg_int(pedHandle);native_invoker.end_call("C265DF9FB44A9FBD");return native_invoker.get_return_value_bool();end, + -- mood can be 0 or 1 (it's not a boolean value!). Effects audio of the animal. + ["SET_ANIMAL_MOOD"]=--[[void]] function(--[[Ped (int)]] animal,--[[int]] mood)native_invoker.begin_call();native_invoker.push_arg_int(animal);native_invoker.push_arg_int(mood);native_invoker.end_call("CC97B29285B1DC3B");end, + ["IS_MOBILE_PHONE_RADIO_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B35CE999E8EF317E");return native_invoker.get_return_value_bool();end, + ["SET_MOBILE_PHONE_RADIO_STATE"]=--[[void]] function(--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_bool(state);native_invoker.end_call("BF286C554784F3DF");end, + -- Returns 255 (radio off index) if the function fails. + ["GET_PLAYER_RADIO_STATION_INDEX"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("E8AF77C4C06ADC93");return native_invoker.get_return_value_int();end, + -- Returns active radio station name + ["GET_PLAYER_RADIO_STATION_NAME"]=--[[string]] function()native_invoker.begin_call();native_invoker.end_call("F6D733C32076AD03");return native_invoker.get_return_value_string();end, + -- Returns String with radio station name. + ["GET_RADIO_STATION_NAME"]=--[[string]] function(--[[int]] radioStation)native_invoker.begin_call();native_invoker.push_arg_int(radioStation);native_invoker.end_call("B28ECA15046CA8B9");return native_invoker.get_return_value_string();end, + ["GET_PLAYER_RADIO_STATION_GENRE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("A571991A7FE6CCEB");return native_invoker.get_return_value_int();end, + ["IS_RADIO_RETUNING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A151A7394A214E65");return native_invoker.get_return_value_bool();end, + ["IS_RADIO_FADED_OUT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("0626A247D2405330");return native_invoker.get_return_value_bool();end, + -- Tune Forward... ? + -- + -- SET_RADIO_* + ["_0xFF266D1D0EB1195D"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FF266D1D0EB1195D");end, + -- Tune Backwards... ? + -- + -- SET_RADIO_* + ["_0xDD6BCF9E94425DF9"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("DD6BCF9E94425DF9");end, + -- For a full list, see here: pastebin.com/Kj9t38KF + ["SET_RADIO_TO_STATION_NAME"]=--[[void]] function(--[[string]] stationName)native_invoker.begin_call();native_invoker.push_arg_string(stationName);native_invoker.end_call("C69EDA28699D5107");end, + -- For a full list, see here: pastebin.com/Kj9t38KF + ["SET_VEH_RADIO_STATION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[string]] radioStation)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_string(radioStation);native_invoker.end_call("1B9C0099CB942AC6");end, + -- IS_VEHICLE_* + ["_0x0BE4BE946463F917"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("0BE4BE946463F917");return native_invoker.get_return_value_bool();end, + -- SET_VEH* + ["_0xC1805D05E6D4FE10"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("C1805D05E6D4FE10");end, + -- Full list of static emitters by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/staticEmitters.json + ["SET_EMITTER_RADIO_STATION"]=--[[void]] function(--[[string]] emitterName,--[[string]] radioStation)native_invoker.begin_call();native_invoker.push_arg_string(emitterName);native_invoker.push_arg_string(radioStation);native_invoker.end_call("ACF57305B12AF907");end, + -- Example: + -- AUDIO::SET_STATIC_EMITTER_ENABLED((Any*)"LOS_SANTOS_VANILLA_UNICORN_01_STAGE", false); AUDIO::SET_STATIC_EMITTER_ENABLED((Any*)"LOS_SANTOS_VANILLA_UNICORN_02_MAIN_ROOM", false); AUDIO::SET_STATIC_EMITTER_ENABLED((Any*)"LOS_SANTOS_VANILLA_UNICORN_03_BACK_ROOM", false); + -- + -- This turns off surrounding sounds not connected directly to peds. + -- + -- Full list of static emitters by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/staticEmitters.json + ["SET_STATIC_EMITTER_ENABLED"]=--[[void]] function(--[[string]] emitterName,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_string(emitterName);native_invoker.push_arg_bool(toggle);native_invoker.end_call("399D2D3B33F1B8EB");end, + -- L* (LINK_*?) + -- + -- Full list of static emitters by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/staticEmitters.json + ["_LINK_STATIC_EMITTER_TO_ENTITY"]=--[[void]] function(--[[string]] emitterName,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_string(emitterName);native_invoker.push_arg_int(entity);native_invoker.end_call("651D3228960D08AF");end, + -- Sets radio station by index. + ["SET_RADIO_TO_STATION_INDEX"]=--[[void]] function(--[[int]] radioStation)native_invoker.begin_call();native_invoker.push_arg_int(radioStation);native_invoker.end_call("A619B168B8A8570F");end, + ["SET_FRONTEND_RADIO_ACTIVE"]=--[[void]] function(--[[BOOL (bool)]] active)native_invoker.begin_call();native_invoker.push_arg_bool(active);native_invoker.end_call("F7F26C6E9CC9EBB8");end, + -- I see this as a native that would of been used back in GTA III when you finally unlocked the bridge to the next island and such. + ["UNLOCK_MISSION_NEWS_STORY"]=--[[void]] function(--[[int]] newsStory)native_invoker.begin_call();native_invoker.push_arg_int(newsStory);native_invoker.end_call("B165AB7C248B2DC1");end, + ["IS_MISSION_NEWS_STORY_UNLOCKED"]=--[[BOOL (bool)]] function(--[[int]] newsStory)native_invoker.begin_call();native_invoker.push_arg_int(newsStory);native_invoker.end_call("66E49BF55B4B1874");return native_invoker.get_return_value_bool();end, + ["GET_AUDIBLE_MUSIC_TRACK_TEXT_ID"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("50B196FC9ED6545B");return native_invoker.get_return_value_int();end, + ["PLAY_END_CREDITS_MUSIC"]=--[[void]] function(--[[BOOL (bool)]] play)native_invoker.begin_call();native_invoker.push_arg_bool(play);native_invoker.end_call("CD536C4D33DCC900");end, + ["SKIP_RADIO_FORWARD"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6DDBBDD98E2E9C25");end, + ["FREEZE_RADIO_STATION"]=--[[void]] function(--[[string]] radioStation)native_invoker.begin_call();native_invoker.push_arg_string(radioStation);native_invoker.end_call("344F393B027E38C3");end, + ["UNFREEZE_RADIO_STATION"]=--[[void]] function(--[[string]] radioStation)native_invoker.begin_call();native_invoker.push_arg_string(radioStation);native_invoker.end_call("FC00454CF60B91DD");end, + ["SET_RADIO_AUTO_UNFREEZE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("C1AA9F53CE982990");end, + ["SET_INITIAL_PLAYER_STATION"]=--[[void]] function(--[[string]] radioStation)native_invoker.begin_call();native_invoker.push_arg_string(radioStation);native_invoker.end_call("88795F13FACDA88D");end, + ["SET_USER_RADIO_CONTROL_ENABLED"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("19F21E63AE6EAE4E");end, + -- Only found this one in the decompiled scripts: + -- + -- AUDIO::SET_RADIO_TRACK("RADIO_03_HIPHOP_NEW", "ARM1_RADIO_STARTS"); + -- + ["SET_RADIO_TRACK"]=--[[void]] function(--[[string]] radioStation,--[[string]] radioTrack)native_invoker.begin_call();native_invoker.push_arg_string(radioStation);native_invoker.push_arg_string(radioTrack);native_invoker.end_call("B39786F201FEE30B");end, + ["_SET_RADIO_TRACK_MIX"]=--[[void]] function(--[[string]] radioStationName,--[[string]] mixName,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_string(radioStationName);native_invoker.push_arg_string(mixName);native_invoker.push_arg_int(p2);native_invoker.end_call("2CB0075110BE1E56");end, + ["_0x55ECF4D13D9903B0"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("55ECF4D13D9903B0");end, + ["SET_VEHICLE_RADIO_LOUD"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("BB6F1CAEC68B0BCE");end, + ["_IS_VEHICLE_RADIO_LOUD"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("032A116663A4D5AC");return native_invoker.get_return_value_bool();end, + ["SET_MOBILE_RADIO_ENABLED_DURING_GAMEPLAY"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("1098355A16064BB3");end, + ["DOES_PLAYER_VEH_HAVE_RADIO"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("109697E2FFBAC8A1");return native_invoker.get_return_value_bool();end, + ["IS_PLAYER_VEH_RADIO_ENABLE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5F43D83FD6738741");return native_invoker.get_return_value_bool();end, + -- can't seem to enable radio on cop cars etc + ["SET_VEHICLE_RADIO_ENABLED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("3B988190C0AA6C0B");end, + ["_0xDA07819E452FFE8F"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DA07819E452FFE8F");end, + -- Examples: + -- + -- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_MICHAEL", 1); + -- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_MICHAEL", 1); + -- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_TREVOR", 1); + -- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "END_CREDITS_SAVE_MICHAEL_TREVOR", 1); + -- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "OFF_ROAD_RADIO_ROCK_LIST", 1); + -- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_06_COUNTRY", "MAGDEMO2_RADIO_DINGHY", 1); + -- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_16_SILVERLAKE", "SEA_RACE_RADIO_PLAYLIST", 1); + -- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "OFF_ROAD_RADIO_ROCK_LIST", 1); + ["SET_CUSTOM_RADIO_TRACK_LIST"]=--[[void]] function(--[[string]] radioStation,--[[string]] trackListName,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_string(radioStation);native_invoker.push_arg_string(trackListName);native_invoker.push_arg_bool(p2);native_invoker.end_call("4E404A9361F75BB2");end, + -- 3 calls in the b617d scripts, removed duplicate. + -- + -- AUDIO::CLEAR_CUSTOM_RADIO_TRACK_LIST("RADIO_16_SILVERLAKE"); + -- AUDIO::CLEAR_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK"); + ["CLEAR_CUSTOM_RADIO_TRACK_LIST"]=--[[void]] function(--[[string]] radioStation)native_invoker.begin_call();native_invoker.push_arg_string(radioStation);native_invoker.end_call("1654F24A88A8E3FE");end, + ["GET_NUM_UNLOCKED_RADIO_STATIONS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("F1620ECB50E01DE7");return native_invoker.get_return_value_int();end, + ["FIND_RADIO_STATION_INDEX"]=--[[int]] function(--[[int]] station)native_invoker.begin_call();native_invoker.push_arg_int(station);native_invoker.end_call("8D67489793FF428B");return native_invoker.get_return_value_int();end, + -- 6 calls in the b617d scripts, removed identical lines: + -- + -- AUDIO::SET_RADIO_STATION_MUSIC_ONLY("RADIO_01_CLASS_ROCK", 1); + -- AUDIO::SET_RADIO_STATION_MUSIC_ONLY(AUDIO::GET_RADIO_STATION_NAME(10), 0); + -- AUDIO::SET_RADIO_STATION_MUSIC_ONLY(AUDIO::GET_RADIO_STATION_NAME(10), 1); + ["SET_RADIO_STATION_MUSIC_ONLY"]=--[[void]] function(--[[string]] radioStation,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_string(radioStation);native_invoker.push_arg_bool(toggle);native_invoker.end_call("774BD811F656A122");end, + ["SET_RADIO_FRONTEND_FADE_TIME"]=--[[void]] function(--[[float]] fadeTime)native_invoker.begin_call();native_invoker.push_arg_float(fadeTime);native_invoker.end_call("2C96CDB04FCA358E");end, + -- AUDIO::UNLOCK_RADIO_STATION_TRACK_LIST("RADIO_16_SILVERLAKE", "MIRRORPARK_LOCKED"); + ["UNLOCK_RADIO_STATION_TRACK_LIST"]=--[[void]] function(--[[string]] radioStation,--[[string]] trackListName)native_invoker.begin_call();native_invoker.push_arg_string(radioStation);native_invoker.push_arg_string(trackListName);native_invoker.end_call("031ACB6ABA18C729");end, + -- Just a nullsub (i.e. does absolutely nothing) since build 1604. + ["_UPDATE_LSUR"]=--[[void]] function(--[[BOOL (bool)]] enableMixes)native_invoker.begin_call();native_invoker.push_arg_bool(enableMixes);native_invoker.end_call("47AED84213A47510");end, + -- Disables the radio station (hides it from the radio wheel). + ["_LOCK_RADIO_STATION"]=--[[void]] function(--[[string]] radioStationName,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_string(radioStationName);native_invoker.push_arg_bool(toggle);native_invoker.end_call("477D9DB48F889591");end, + -- GET_NE* + -- Gets values from the radio? + ["_0xC64A06D939F826F5"]=--[[BOOL (bool)]] function(--[[float* (pointer)]] p0,--[[float* (pointer)]] p1,--[[int* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("C64A06D939F826F5");return native_invoker.get_return_value_bool();end, + -- GET_CURRENT_* + -- Seems to return hashed radio station name? + ["_GET_CURRENT_RADIO_STATION_HASH"]=--[[int]] function(--[[string]] radioStationName)native_invoker.begin_call();native_invoker.push_arg_string(radioStationName);native_invoker.end_call("3E65CDE5215832C1");return native_invoker.get_return_value_int();end, + -- GET_CURRENT_* + ["_0x34D66BC058019CE0"]=--[[Hash (int)]] function(--[[string]] radioStationName)native_invoker.begin_call();native_invoker.push_arg_string(radioStationName);native_invoker.end_call("34D66BC058019CE0");return native_invoker.get_return_value_int();end, + -- SET_VEHICLE_* + ["_0xF3365489E0DD50F9"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("F3365489E0DD50F9");end, + -- Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json + ["SET_AMBIENT_ZONE_STATE"]=--[[void]] function(--[[string]] zoneName,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_string(zoneName);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("BDA07E5950085E46");end, + -- This function also has a p2, unknown. Signature AUDIO::CLEAR_AMBIENT_ZONE_STATE(const char* zoneName, bool p1, Any p2); + -- + -- Still needs more research. + -- + -- Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json + ["CLEAR_AMBIENT_ZONE_STATE"]=--[[void]] function(--[[string]] zoneName,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(zoneName);native_invoker.push_arg_bool(p1);native_invoker.end_call("218DD44AAAC964FF");end, + ["SET_AMBIENT_ZONE_LIST_STATE"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("9748FA4DE50CCE3E");end, + ["CLEAR_AMBIENT_ZONE_LIST_STATE"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("120C48C614909FA4");end, + -- Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json + ["SET_AMBIENT_ZONE_STATE_PERSISTENT"]=--[[void]] function(--[[string]] ambientZone,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_string(ambientZone);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("1D6650420CEC9D3B");end, + -- Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json + ["SET_AMBIENT_ZONE_LIST_STATE_PERSISTENT"]=--[[void]] function(--[[string]] ambientZone,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_string(ambientZone);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("F3638DAE8C4045E1");end, + -- Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json + ["IS_AMBIENT_ZONE_ENABLED"]=--[[BOOL (bool)]] function(--[[string]] ambientZone)native_invoker.begin_call();native_invoker.push_arg_string(ambientZone);native_invoker.end_call("01E2817A479A7F9B");return native_invoker.get_return_value_bool();end, + ["_0x5D2BFAAB8D956E0E"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5D2BFAAB8D956E0E");end, + -- All occurrences found in b617d, sorted alphabetically and identical lines removed: + -- + -- AUDIO::SET_CUTSCENE_AUDIO_OVERRIDE("_AK"); + -- AUDIO::SET_CUTSCENE_AUDIO_OVERRIDE("_CUSTOM"); + -- AUDIO::SET_CUTSCENE_AUDIO_OVERRIDE("_TOOTHLESS"); + ["SET_CUTSCENE_AUDIO_OVERRIDE"]=--[[void]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("3B4BF5F0859204D9");end, + -- SET_VARIABLE_ON_* + ["_SET_VARIABLE_ON_CUTSCENE_AUDIO"]=--[[void]] function(--[[string]] variableName,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_string(variableName);native_invoker.push_arg_float(value);native_invoker.end_call("BCC29F935ED07688");end, + -- Plays the given police radio message. + -- + -- All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/GBnsQ5hr + ["PLAY_POLICE_REPORT"]=--[[int]] function(--[[string]] name,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_float(p1);native_invoker.end_call("DFEBD56D9BD1EB16");return native_invoker.get_return_value_int();end, + ["_CANCEL_CURRENT_POLICE_REPORT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B4F90FAF7670B16F");end, + -- Plays the siren sound of a vehicle which is otherwise activated when fastly double-pressing the horn key. + -- Only works on vehicles with a police siren. + ["BLIP_SIREN"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("1B9025BDA76822B6");end, + -- Overrides the vehicle's horn hash. + -- When changing this hash on a vehicle, it will not return the 'overwritten' hash. It will still always return the default horn hash (same as GET_VEHICLE_DEFAULT_HORN) + -- + -- vehicle - the vehicle whose horn should be overwritten + -- mute - p1 seems to be an option for muting the horn + -- p2 - maybe a horn id, since the function AUDIO::GET_VEHICLE_DEFAULT_HORN(veh) exists? + ["OVERRIDE_VEH_HORN"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] override,--[[int]] hornHash)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(override);native_invoker.push_arg_int(hornHash);native_invoker.end_call("3CDC1E622CCE0356");end, + -- Checks whether the horn of a vehicle is currently played. + ["IS_HORN_ACTIVE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("9D6BFC12B05C6121");return native_invoker.get_return_value_bool();end, + -- Makes pedestrians sound their horn longer, faster and more agressive when they use their horn. + ["SET_AGGRESSIVE_HORNS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("395BF71085D1B1D9");end, + -- Does nothing (it's a nullsub). + ["_0x02E93C796ABD3A97"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("02E93C796ABD3A97");end, + ["_0x58BB377BEC7CD5F4"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("58BB377BEC7CD5F4");end, + ["_0x9BD7BD55E4533183"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("9BD7BD55E4533183");end, + ["IS_STREAM_PLAYING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D11FA52EB849D978");return native_invoker.get_return_value_bool();end, + ["GET_STREAM_PLAY_TIME"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("4E72BBDBCA58A3DB");return native_invoker.get_return_value_int();end, + -- Example: + -- AUDIO::LOAD_STREAM("CAR_STEAL_1_PASSBY", "CAR_STEAL_1_SOUNDSET"); + -- + -- All found occurrences in the b678d decompiled scripts: pastebin.com/3rma6w5w + -- + -- Stream names often ends with "_MASTER", "_SMALL" or "_STREAM". Also "_IN", "_OUT" and numbers. + -- + -- soundSet is often set to 0 in the scripts. These are common to end the soundSets: "_SOUNDS", "_SOUNDSET" and numbers. + -- + -- Full list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json + ["LOAD_STREAM"]=--[[BOOL (bool)]] function(--[[string]] streamName,--[[string]] soundSet)native_invoker.begin_call();native_invoker.push_arg_string(streamName);native_invoker.push_arg_string(soundSet);native_invoker.end_call("1F1F957154EC51DF");return native_invoker.get_return_value_bool();end, + -- Example: + -- AUDIO::LOAD_STREAM_WITH_START_OFFSET("STASH_TOXIN_STREAM", 2400, "FBI_05_SOUNDS"); + -- + -- Only called a few times in the scripts. + -- + -- Full list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json + ["LOAD_STREAM_WITH_START_OFFSET"]=--[[BOOL (bool)]] function(--[[string]] streamName,--[[int]] startOffset,--[[string]] soundSet)native_invoker.begin_call();native_invoker.push_arg_string(streamName);native_invoker.push_arg_int(startOffset);native_invoker.push_arg_string(soundSet);native_invoker.end_call("59C16B79F53B3712");return native_invoker.get_return_value_bool();end, + ["PLAY_STREAM_FROM_PED"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("89049DD63C08B5D1");end, + ["PLAY_STREAM_FROM_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("B70374A758007DFA");end, + -- Used with AUDIO::LOAD_STREAM + -- + -- Example from finale_heist2b.c4: + -- TASK::TASK_SYNCHRONIZED_SCENE(l_4C8[2/*14*/], l_4C8[2/*14*/]._f7, l_30A, "push_out_vault_l", 4.0, -1.5, 5, 713, 4.0, 0); + -- PED::SET_SYNCHRONIZED_SCENE_PHASE(l_4C8[2/*14*/]._f7, 0.0); + -- PED::_2208438012482A1A(l_4C8[2/*14*/], 0, 0); + -- PED::SET_PED_COMBAT_ATTRIBUTES(l_4C8[2/*14*/], 38, 1); + -- PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_4C8[2/*14*/], 1); + -- if (AUDIO::LOAD_STREAM("Gold_Cart_Push_Anim_01", "BIG_SCORE_3B_SOUNDS")) { + -- AUDIO::PLAY_STREAM_FROM_OBJECT(l_36F[0/*1*/]); + -- } + ["PLAY_STREAM_FROM_OBJECT"]=--[[void]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("EBAA9B64D76356FD");end, + ["PLAY_STREAM_FRONTEND"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("58FCE43488F9F5F4");end, + ["PLAY_STREAM_FROM_POSITION"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("21442F412E8DE56B");end, + ["STOP_STREAM"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A4718A1419D18151");end, + ["STOP_PED_SPEAKING"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] shaking)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(shaking);native_invoker.end_call("9D64D7405520E3D3");end, + -- BL* + ["_0xF8AD2EED7C47E8FE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("F8AD2EED7C47E8FE");end, + ["_0xAB6781A5F3101470"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("AB6781A5F3101470");end, + ["DISABLE_PED_PAIN_AUDIO"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("A9A41C1E940FB0E8");end, + -- Common in the scripts: + -- AUDIO::IS_AMBIENT_SPEECH_DISABLED(PLAYER::PLAYER_PED_ID()); + ["IS_AMBIENT_SPEECH_DISABLED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("932C2D096A2C3FFF");return native_invoker.get_return_value_bool();end, + ["_0xA8A7D434AFB4B97B"]=--[[void]] function(--[[string]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("A8A7D434AFB4B97B");end, + ["_0x2ACABED337622DF2"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("2ACABED337622DF2");end, + ["SET_SIREN_WITH_NO_DRIVER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("1FEF0683B96EBCF2");end, + ["_TRIGGER_SIREN"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("66C3FB05206041BA");end, + -- SET_* + ["_SOUND_VEHICLE_HORN_THIS_FRAME"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("9C11908013EA4715");end, + ["SET_HORN_ENABLED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("76D683C108594D0E");end, + ["SET_AUDIO_VEHICLE_PRIORITY"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.end_call("E5564483E407F914");end, + -- SET_H* + ["_0x9D3AF56E94C9AE98"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p1);native_invoker.end_call("9D3AF56E94C9AE98");end, + ["USE_SIREN_AS_HORN"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("FA932DE350266EF8");end, + -- This native sets the audio of the specified vehicle to the audioName (p1). + -- + -- Use the audioNameHash found in vehicles.meta + -- + -- Example: + -- _SET_VEHICLE_AUDIO(veh, "ADDER"); + -- The selected vehicle will now have the audio of the Adder. + -- + -- FORCE_VEHICLE_??? + ["_FORCE_VEHICLE_ENGINE_AUDIO"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[string]] audioName)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_string(audioName);native_invoker.end_call("4F0C413926060B38");end, + ["_PRELOAD_VEHICLE_AUDIO"]=--[[void]] function(--[[Hash (int)]] vehicleModel)native_invoker.begin_call();native_invoker.push_arg_int(vehicleModel);native_invoker.end_call("CA4CEA6AE0000A7E");end, + -- 2 calls found in the b617d scripts: + -- + -- AUDIO::_F1F8157B8C3F171C(l_A42, "Franklin_Bike_Rev", "BIG_SCORE_3A_SOUNDS"); + -- AUDIO::_F1F8157B8C3F171C(l_166, "Trevor_Revs_Off", "PALETO_SCORE_SETUP_SOUNDS"); + ["_0xF1F8157B8C3F171C"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[string]] p1,--[[string]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_string(p1);native_invoker.push_arg_string(p2);native_invoker.end_call("F1F8157B8C3F171C");end, + ["_0xD2DCCD8E16E20997"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("D2DCCD8E16E20997");end, + ["_0x5DB8010EE71FDEF2"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("5DB8010EE71FDEF2");return native_invoker.get_return_value_bool();end, + ["SET_VEHICLE_AUDIO_ENGINE_DAMAGE_FACTOR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] damageFactor)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(damageFactor);native_invoker.end_call("59E7B488451F4D3A");end, + -- SET_VEHICLE_* + ["_0x01BB4D577D38BD9E"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p1);native_invoker.end_call("01BB4D577D38BD9E");end, + -- ENABLE_VEHICLE_* + ["_0x1C073274E065C6D2"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("1C073274E065C6D2");end, + ["ENABLE_VEHICLE_EXHAUST_POPS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2BE4BC731D039D5A");end, + -- SET_VEHICLE_BOOST_ACTIVE(vehicle, 1, 0); + -- SET_VEHICLE_BOOST_ACTIVE(vehicle, 0, 0); + -- + -- Will give a boost-soundeffect. + ["SET_VEHICLE_BOOST_ACTIVE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("4A04DE7CAB2739A1");end, + -- SET_P* + ["_0x6FDDAD856E36988A"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("6FDDAD856E36988A");end, + ["SET_SCRIPT_UPDATE_DOOR_AUDIO"]=--[[void]] function(--[[Hash (int)]] doorHash,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.push_arg_bool(toggle);native_invoker.end_call("06C0023BED16DD6B");end, + ["PLAY_VEHICLE_DOOR_OPEN_SOUND"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.end_call("3A539D52857EA82D");end, + ["PLAY_VEHICLE_DOOR_CLOSE_SOUND"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.end_call("62A456AA4769EF34");end, + -- Works for planes only. + ["ENABLE_STALL_WARNING_SOUNDS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C15907D667F7CFB2");end, + -- Hardcoded to return 1 + ["IS_GAME_IN_CONTROL_OF_MUSIC"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("6D28DC1671E334FD");return native_invoker.get_return_value_bool();end, + ["SET_GPS_ACTIVE"]=--[[void]] function(--[[BOOL (bool)]] active)native_invoker.begin_call();native_invoker.push_arg_bool(active);native_invoker.end_call("3BD3F52BA9B1E4E8");end, + -- Called 38 times in the scripts. There are 5 different audioNames used. + -- One unknown removed below. + -- + -- AUDIO::PLAY_MISSION_COMPLETE_AUDIO("DEAD"); + -- AUDIO::PLAY_MISSION_COMPLETE_AUDIO("FRANKLIN_BIG_01"); + -- AUDIO::PLAY_MISSION_COMPLETE_AUDIO("GENERIC_FAILED"); + -- AUDIO::PLAY_MISSION_COMPLETE_AUDIO("TREVOR_SMALL_01"); + ["PLAY_MISSION_COMPLETE_AUDIO"]=--[[void]] function(--[[string]] audioName)native_invoker.begin_call();native_invoker.push_arg_string(audioName);native_invoker.end_call("B138AAB8A70D3C69");end, + ["IS_MISSION_COMPLETE_PLAYING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("19A30C23F5827F8A");return native_invoker.get_return_value_bool();end, + ["IS_MISSION_COMPLETE_READY_FOR_UI"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("6F259F82D873B8B8");return native_invoker.get_return_value_bool();end, + ["BLOCK_DEATH_JINGLE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("F154B8D1775B2DEC");end, + -- Used to prepare a scene where the surrounding sound is muted or a bit changed. This does not play any sound. + -- + -- List of all usable scene names found in b617d. Sorted alphabetically and identical names removed: pastebin.com/MtM9N9CC + ["START_AUDIO_SCENE"]=--[[BOOL (bool)]] function(--[[string]] scene)native_invoker.begin_call();native_invoker.push_arg_string(scene);native_invoker.end_call("013A80FC08F6E4F2");return native_invoker.get_return_value_bool();end, + ["STOP_AUDIO_SCENE"]=--[[void]] function(--[[string]] scene)native_invoker.begin_call();native_invoker.push_arg_string(scene);native_invoker.end_call("DFE8422B3B94E688");end, + -- ?? + ["STOP_AUDIO_SCENES"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("BAC7FC81A75EC1A1");end, + ["IS_AUDIO_SCENE_ACTIVE"]=--[[BOOL (bool)]] function(--[[string]] scene)native_invoker.begin_call();native_invoker.push_arg_string(scene);native_invoker.end_call("B65B60556E2A9225");return native_invoker.get_return_value_bool();end, + ["SET_AUDIO_SCENE_VARIABLE"]=--[[void]] function(--[[string]] scene,--[[string]] variable,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_string(scene);native_invoker.push_arg_string(variable);native_invoker.push_arg_float(value);native_invoker.end_call("EF21A9EF089A2668");end, + -- SET_AUDIO_S* + ["_0xA5F377B175A699C5"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A5F377B175A699C5");end, + -- All found occurrences in b678d: + -- pastebin.com/ceu67jz8 + ["ADD_ENTITY_TO_AUDIO_MIX_GROUP"]=--[[void]] function(--[[Entity (int)]] entity,--[[string]] groupName,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(groupName);native_invoker.push_arg_float(p2);native_invoker.end_call("153973AB99FE8980");end, + ["REMOVE_ENTITY_FROM_AUDIO_MIX_GROUP"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(p1);native_invoker.end_call("18EB48CFC41F2EA0");end, + ["AUDIO_IS_SCRIPTED_MUSIC_PLAYING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("845FFC3A4FEEFA3E");return native_invoker.get_return_value_bool();end, + ["_0x2DD39BF3E2F9C47F"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("2DD39BF3E2F9C47F");return native_invoker.get_return_value_int();end, + -- All music event names found in the b617d scripts: pastebin.com/GnYt0R3P + ["PREPARE_MUSIC_EVENT"]=--[[BOOL (bool)]] function(--[[string]] eventName)native_invoker.begin_call();native_invoker.push_arg_string(eventName);native_invoker.end_call("1E5185B72EF5158A");return native_invoker.get_return_value_bool();end, + -- All music event names found in the b617d scripts: pastebin.com/GnYt0R3P + ["CANCEL_MUSIC_EVENT"]=--[[BOOL (bool)]] function(--[[string]] eventName)native_invoker.begin_call();native_invoker.push_arg_string(eventName);native_invoker.end_call("5B17A90291133DA5");return native_invoker.get_return_value_bool();end, + -- List of all usable event names found in b617d used with this native. Sorted alphabetically and identical names removed: pastebin.com/RzDFmB1W + -- + -- All music event names found in the b617d scripts: pastebin.com/GnYt0R3P + ["TRIGGER_MUSIC_EVENT"]=--[[BOOL (bool)]] function(--[[string]] eventName)native_invoker.begin_call();native_invoker.push_arg_string(eventName);native_invoker.end_call("706D57B0F50DA710");return native_invoker.get_return_value_bool();end, + ["IS_MUSIC_ONESHOT_PLAYING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A097AB275061FB21");return native_invoker.get_return_value_bool();end, + ["GET_MUSIC_PLAYTIME"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("E7A0D23DC414507B");return native_invoker.get_return_value_int();end, + ["_0x159B7318403A1CD8"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("159B7318403A1CD8");end, + ["RECORD_BROKEN_GLASS"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("FBE20329593DEC9D");end, + ["CLEAR_ALL_BROKEN_GLASS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B32209EFFDC04913");end, + ["_0x70B8EC8FC108A634"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("70B8EC8FC108A634");end, + ["_0x149AEE66F0CB3A99"]=--[[void]] function(--[[float]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("149AEE66F0CB3A99");end, + ["_0x8BF907833BE275DE"]=--[[void]] function(--[[float]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("8BF907833BE275DE");end, + -- FORCE_* + ["_0x062D5EAD4DA2FA6A"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("062D5EAD4DA2FA6A");end, + -- Example: + -- + -- bool prepareAlarm = AUDIO::PREPARE_ALARM("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS"); + ["PREPARE_ALARM"]=--[[BOOL (bool)]] function(--[[string]] alarmName)native_invoker.begin_call();native_invoker.push_arg_string(alarmName);native_invoker.end_call("9D74AE343DB65533");return native_invoker.get_return_value_bool();end, + -- Example: + -- + -- This will start the alarm at Fort Zancudo. + -- + -- AUDIO::START_ALARM("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS", 1); + -- + -- First parameter (char) is the name of the alarm. + -- Second parameter (bool) is unknown, it does not seem to make a difference if this one is 0 or 1. + -- + -- ---------- + -- + -- It DOES make a difference but it has to do with the duration or something I dunno yet + -- + -- ---------- + -- + -- Found in the b617d scripts: + -- + -- AUDIO::START_ALARM("AGENCY_HEIST_FIB_TOWER_ALARMS", 0); + -- AUDIO::START_ALARM("AGENCY_HEIST_FIB_TOWER_ALARMS_UPPER", 1); + -- AUDIO::START_ALARM("AGENCY_HEIST_FIB_TOWER_ALARMS_UPPER_B", 0); + -- AUDIO::START_ALARM("BIG_SCORE_HEIST_VAULT_ALARMS", a_0); + -- AUDIO::START_ALARM("FBI_01_MORGUE_ALARMS", 1); + -- AUDIO::START_ALARM("FIB_05_BIOTECH_LAB_ALARMS", 0); + -- AUDIO::START_ALARM("JEWEL_STORE_HEIST_ALARMS", 0); + -- AUDIO::START_ALARM("PALETO_BAY_SCORE_ALARM", 1); + -- AUDIO::START_ALARM("PALETO_BAY_SCORE_CHICKEN_FACTORY_ALARM", 0); + -- AUDIO::START_ALARM("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS", 1); + -- AUDIO::START_ALARM("PORT_OF_LS_HEIST_SHIP_ALARMS", 0); + -- AUDIO::START_ALARM("PRISON_ALARMS", 0); + -- AUDIO::START_ALARM("PROLOGUE_VAULT_ALARMS", 0); + ["START_ALARM"]=--[[void]] function(--[[string]] alarmName,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_string(alarmName);native_invoker.push_arg_bool(p2);native_invoker.end_call("0355EF116C4C97B2");end, + -- Example: + -- + -- This will stop the alarm at Fort Zancudo. + -- + -- AUDIO::STOP_ALARM("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS", 1); + -- + -- First parameter (char) is the name of the alarm. + -- Second parameter (bool) has to be true (1) to have any effect. + ["STOP_ALARM"]=--[[void]] function(--[[string]] alarmName,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_string(alarmName);native_invoker.push_arg_bool(toggle);native_invoker.end_call("A1CADDCD98415A41");end, + ["STOP_ALL_ALARMS"]=--[[void]] function(--[[BOOL (bool)]] stop)native_invoker.begin_call();native_invoker.push_arg_bool(stop);native_invoker.end_call("2F794A877ADD4C92");end, + -- Example: + -- + -- bool playing = AUDIO::IS_ALARM_PLAYING("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS"); + ["IS_ALARM_PLAYING"]=--[[BOOL (bool)]] function(--[[string]] alarmName)native_invoker.begin_call();native_invoker.push_arg_string(alarmName);native_invoker.end_call("226435CB96CCFC8C");return native_invoker.get_return_value_bool();end, + -- Returns hash of default vehicle horn + -- + -- Hash is stored in audVehicleAudioEntity + ["GET_VEHICLE_DEFAULT_HORN"]=--[[Hash (int)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("02165D55000219AC");return native_invoker.get_return_value_int();end, + ["GET_VEHICLE_DEFAULT_HORN_IGNORE_MODS"]=--[[Hash (int)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("ACB5DCCA1EC76840");return native_invoker.get_return_value_int();end, + ["RESET_PED_AUDIO_FLAGS"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("F54BB7B61036F335");end, + -- Enables/disables ped's "loud" footstep sound. + ["_SET_PED_LOUD_FOOSTEP_AUDIO"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("0653B735BFBDFE87");end, + -- Enables/disables ped's "quiet" footstep sound. + ["_SET_PED_QUIET_FOOTSTEP_AUDIO"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("29DA3CA8D8B2692D");end, + -- Sets audio flag "OverridePlayerGroundMaterial" + ["OVERRIDE_PLAYER_GROUND_MATERIAL"]=--[[void]] function(--[[Hash (int)]] hash,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D2CC78CD3D0B50F9");end, + -- Something like UPDATE_PED_* + ["_0xBF4DC1784BE94DFA"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(hash);native_invoker.end_call("BF4DC1784BE94DFA");end, + -- Sets audio flag "OverrideMicrophoneSettings" + ["_OVERRIDE_MICROPHONE_SETTINGS"]=--[[void]] function(--[[Hash (int)]] hash,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.push_arg_bool(toggle);native_invoker.end_call("75773E11BA459E90");end, + ["FREEZE_MICROPHONE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D57AAAE0E2214D11");end, + -- If value is set to true, and ambient siren sound will be played. + -- Appears to enable/disable an audio flag. + ["DISTANT_COP_CAR_SIRENS"]=--[[void]] function(--[[BOOL (bool)]] value)native_invoker.begin_call();native_invoker.push_arg_bool(value);native_invoker.end_call("552369F549563AD5");end, + ["_0x43FA0DFC5DF87815"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("43FA0DFC5DF87815");end, + ["_0xB81CF134AEB56FFB"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B81CF134AEB56FFB");end, + -- Possible flag names: + -- "ActivateSwitchWheelAudio" + -- "AllowAmbientSpeechInSlowMo" + -- "AllowCutsceneOverScreenFade" + -- "AllowForceRadioAfterRetune" + -- "AllowPainAndAmbientSpeechToPlayDuringCutscene" + -- "AllowPlayerAIOnMission" + -- "AllowPoliceScannerWhenPlayerHasNoControl" + -- "AllowRadioDuringSwitch" + -- "AllowRadioOverScreenFade" + -- "AllowScoreAndRadio" + -- "AllowScriptedSpeechInSlowMo" + -- "AvoidMissionCompleteDelay" + -- "DisableAbortConversationForDeathAndInjury" + -- "DisableAbortConversationForRagdoll" + -- "DisableBarks" + -- "DisableFlightMusic" + -- "DisableReplayScriptStreamRecording" + -- "EnableHeadsetBeep" + -- "ForceConversationInterrupt" + -- "ForceSeamlessRadioSwitch" + -- "ForceSniperAudio" + -- "FrontendRadioDisabled" + -- "HoldMissionCompleteWhenPrepared" + -- "IsDirectorModeActive" + -- "IsPlayerOnMissionForSpeech" + -- "ListenerReverbDisabled" + -- "LoadMPData" + -- "MobileRadioInGame" + -- "OnlyAllowScriptTriggerPoliceScanner" + -- "PlayMenuMusic" + -- "PoliceScannerDisabled" + -- "ScriptedConvListenerMaySpeak" + -- "SpeechDucksScore" + -- "SuppressPlayerScubaBreathing" + -- "WantedMusicDisabled" + -- "WantedMusicOnMission" + -- + -- ------------------------------- + -- No added flag names between b393d and b573d, including b573d. + -- + -- ####################################################################### + -- + -- "IsDirectorModeActive" is an audio flag which will allow you to play speech infinitely without any pauses like in Director Mode. + -- + -- ----------------------------------------------------------------------- + -- + -- All flag IDs and hashes: + -- + -- ID: 00 | Hash: 0x0FED7A7F + -- ID: 01 | Hash: 0x20A7858F + -- ID: 02 | Hash: 0xA11C2259 + -- ID: 03 | Hash: 0x08DE4700 + -- ID: 04 | Hash: 0x989F652F + -- ID: 05 | Hash: 0x3C9E76BA + -- ID: 06 | Hash: 0xA805FEB0 + -- ID: 07 | Hash: 0x4B94EA26 + -- ID: 08 | Hash: 0x803ACD34 + -- ID: 09 | Hash: 0x7C741226 + -- ID: 10 | Hash: 0x31DB9EBD + -- ID: 11 | Hash: 0xDF386F18 + -- ID: 12 | Hash: 0x669CED42 + -- ID: 13 | Hash: 0x51F22743 + -- ID: 14 | Hash: 0x2052B35C + -- ID: 15 | Hash: 0x071472DC + -- ID: 16 | Hash: 0xF9928BCC + -- ID: 17 | Hash: 0x7ADBDD48 + -- ID: 18 | Hash: 0xA959BA1A + -- ID: 19 | Hash: 0xBBE89B60 + -- ID: 20 | Hash: 0x87A08871 + -- ID: 21 | Hash: 0xED1057CE + -- ID: 22 | Hash: 0x1584AD7A + -- ID: 23 | Hash: 0x8582CFCB + -- ID: 24 | Hash: 0x7E5E2FB0 + -- ID: 25 | Hash: 0xAE4F72DB + -- ID: 26 | Hash: 0x5D16D1FA + -- ID: 27 | Hash: 0x06B2F4B8 + -- ID: 28 | Hash: 0x5D4CDC96 + -- ID: 29 | Hash: 0x8B5A48BA + -- ID: 30 | Hash: 0x98FBD539 + -- ID: 31 | Hash: 0xD8CB0473 + -- ID: 32 | Hash: 0x5CBB4874 + -- ID: 33 | Hash: 0x2E9F93A9 + -- ID: 34 | Hash: 0xD93BEA86 + -- ID: 35 | Hash: 0x92109B7D + -- ID: 36 | Hash: 0xB7EC9E4D + -- ID: 37 | Hash: 0xCABDBB1D + -- ID: 38 | Hash: 0xB3FD4A52 + -- ID: 39 | Hash: 0x370D94E5 + -- ID: 40 | Hash: 0xA0F7938F + -- ID: 41 | Hash: 0xCBE1CE81 + -- ID: 42 | Hash: 0xC27F1271 + -- ID: 43 | Hash: 0x9E3258EB + -- ID: 44 | Hash: 0x551CDA5B + -- ID: 45 | Hash: 0xCB6D663C + -- ID: 46 | Hash: 0x7DACE87F + -- ID: 47 | Hash: 0xF9DE416F + -- ID: 48 | Hash: 0x882E6E9E + -- ID: 49 | Hash: 0x16B447E7 + -- ID: 50 | Hash: 0xBD867739 + -- ID: 51 | Hash: 0xA3A58604 + -- ID: 52 | Hash: 0x7E046BBC + -- ID: 53 | Hash: 0xD95FDB98 + -- ID: 54 | Hash: 0x5842C0ED + -- ID: 55 | Hash: 0x285FECC6 + -- ID: 56 | Hash: 0x9351AC43 + -- ID: 57 | Hash: 0x50032E75 + -- ID: 58 | Hash: 0xAE6D0D59 + -- ID: 59 | Hash: 0xD6351785 + -- ID: 60 | Hash: 0xD25D71BC + -- ID: 61 | Hash: 0x1F7F6423 + -- ID: 62 | Hash: 0xE24C3AA6 + -- ID: 63 | Hash: 0xBFFDD2B7 + ["SET_AUDIO_FLAG"]=--[[void]] function(--[[string]] flagName,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_string(flagName);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B9EFD5C25018725A");end, + ["PREPARE_SYNCHRONIZED_AUDIO_EVENT"]=--[[Any (int)]] function(--[[string]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("C7ABCACA4985A766");return native_invoker.get_return_value_int();end, + ["PREPARE_SYNCHRONIZED_AUDIO_EVENT_FOR_SCENE"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("029FE7CD1B7E2E75");return native_invoker.get_return_value_bool();end, + ["PLAY_SYNCHRONIZED_AUDIO_EVENT"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8B2FD4560E55DD2D");return native_invoker.get_return_value_bool();end, + ["STOP_SYNCHRONIZED_AUDIO_EVENT"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("92D6A88E64A94430");return native_invoker.get_return_value_bool();end, + ["_0xC8EDE9BDBCCBA6D4"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("C8EDE9BDBCCBA6D4");end, + -- Sets the position of the audio event to the entity's position for one frame(?) + -- + -- if (l_8C3 == 0) { + -- sub_27fd1(0, -1, 1); + -- if (PED::IS_SYNCHRONIZED_SCENE_RUNNING(l_87D)) { + -- AUDIO::STOP_SYNCHRONIZED_AUDIO_EVENT(l_87D); + -- } + -- if (sub_7dd(l_A00)) { + -- AUDIO::_950A154B8DAB6185("PAP2_IG1_POPPYSEX", l_A00); + -- } + -- sub_91c("TK************ SETTING SYNCH SCENE AUDIO POSITION THIS FRAME ************TK"); + -- l_8C3 = 1; + -- } + -- + -- -- + -- + -- Found in the b617d scripts, duplicates removed: + -- + -- AUDIO::_950A154B8DAB6185("CAR_5_IG_6", l_7FE[1/*1*/]); + -- AUDIO::_950A154B8DAB6185("EX03_TRAIN_BIKE_LAND", PLAYER::PLAYER_PED_ID()); + -- AUDIO::_950A154B8DAB6185("FBI_2_MCS_1_LeadIn", l_40[2/*1*/]); + -- AUDIO::_950A154B8DAB6185("FIN_C2_MCS_1", l_24C[0/*1*/]); + -- AUDIO::_950A154B8DAB6185("MNT_DNC", l_5F); + -- AUDIO::_950A154B8DAB6185("PAP2_IG1_POPPYSEX", l_A00); + ["_SET_SYNCHRONIZED_AUDIO_EVENT_POSITION_THIS_FRAME"]=--[[void]] function(--[[string]] p0,--[[Entity (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("950A154B8DAB6185");end, + -- Needs to be called every frame. + -- Audio mode to apply this frame: https://alloc8or.re/gta5/doc/enums/audSpecialEffectMode.txt + ["SET_AUDIO_SPECIAL_EFFECT_MODE"]=--[[void]] function(--[[int]] mode)native_invoker.begin_call();native_invoker.push_arg_int(mode);native_invoker.end_call("12561FCBB62D5B9C");end, + -- Found in the b617d scripts, duplicates removed: + -- + -- AUDIO::_044DBAD7A7FA2BE5("V_CARSHOWROOM_PS_WINDOW_UNBROKEN", "V_CARSHOWROOM_PS_WINDOW_BROKEN"); + -- + -- AUDIO::_044DBAD7A7FA2BE5("V_CIA_PS_WINDOW_UNBROKEN", "V_CIA_PS_WINDOW_BROKEN"); + -- + -- AUDIO::_044DBAD7A7FA2BE5("V_DLC_HEIST_APARTMENT_DOOR_CLOSED", "V_DLC_HEIST_APARTMENT_DOOR_OPEN"); + -- + -- AUDIO::_044DBAD7A7FA2BE5("V_FINALEBANK_PS_VAULT_INTACT", "V_FINALEBANK_PS_VAULT_BLOWN"); + -- + -- AUDIO::_044DBAD7A7FA2BE5("V_MICHAEL_PS_BATHROOM_WITH_WINDOW", "V_MICHAEL_PS_BATHROOM_WITHOUT_WINDOW"); + ["SET_PORTAL_SETTINGS_OVERRIDE"]=--[[void]] function(--[[string]] p0,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_string(p1);native_invoker.end_call("044DBAD7A7FA2BE5");end, + -- Found in the b617d scripts, duplicates removed: + -- + -- AUDIO::_B4BBFD9CD8B3922B("V_CARSHOWROOM_PS_WINDOW_UNBROKEN"); + -- AUDIO::_B4BBFD9CD8B3922B("V_CIA_PS_WINDOW_UNBROKEN"); + -- AUDIO::_B4BBFD9CD8B3922B("V_DLC_HEIST_APARTMENT_DOOR_CLOSED"); + -- AUDIO::_B4BBFD9CD8B3922B("V_FINALEBANK_PS_VAULT_INTACT"); + -- AUDIO::_B4BBFD9CD8B3922B("V_MICHAEL_PS_BATHROOM_WITH_WINDOW"); + ["REMOVE_PORTAL_SETTINGS_OVERRIDE"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("B4BBFD9CD8B3922B");end, + -- STOP_S* + ["_0xE4E6DD5566D28C82"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E4E6DD5566D28C82");end, + ["_0x3A48AB4445D499BE"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("3A48AB4445D499BE");return native_invoker.get_return_value_int();end, + -- Speech related. + ["_SET_PED_TALK"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("4ADA3F19BE4A6047");end, + ["_0x0150B6FF25A9E2E5"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0150B6FF25A9E2E5");end, + ["_0xBEF34B1D9624D5DD"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("BEF34B1D9624D5DD");end, + ["STOP_CUTSCENE_AUDIO"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("806058BBDC136E06");end, + -- HAS_* + ["_HAS_MULTIPLAYER_AUDIO_DATA_LOADED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("544810ED9DB6BBE6");return native_invoker.get_return_value_bool();end, + -- HAS_* + ["_HAS_MULTIPLAYER_AUDIO_DATA_UNLOADED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5B50ABB1FE3746F4");return native_invoker.get_return_value_bool();end, + ["_GET_VEHICLE_DEFAULT_HORN_VARIATION"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("D53F3A29BCE2580E");return native_invoker.get_return_value_int();end, + ["_SET_VEHICLE_HORN_VARIATION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(value);native_invoker.end_call("0350E7E17BA767D0");end, +} +BRAIN={ + -- BRAIN::ADD_SCRIPT_TO_RANDOM_PED("pb_prostitute", ${s_f_y_hooker_01}, 100, 0); + -- + -- - Nacorpio + -- + -- ----- + -- + -- Hardcoded to not work in Multiplayer. + ["ADD_SCRIPT_TO_RANDOM_PED"]=--[[void]] function(--[[string]] name,--[[Hash (int)]] model,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_int(model);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("4EE5367468A65CCC");end, + -- Registers a script for any object with a specific model hash. + -- + -- BRAIN::REGISTER_OBJECT_SCRIPT_BRAIN("ob_telescope", ${prop_telescope_01}, 100, 4.0, -1, 9); + -- + -- - Nacorpio + ["REGISTER_OBJECT_SCRIPT_BRAIN"]=--[[void]] function(--[[string]] scriptName,--[[Hash (int)]] modelHash,--[[int]] p2,--[[float]] activationRange,--[[int]] p4,--[[int]] p5)native_invoker.begin_call();native_invoker.push_arg_string(scriptName);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_int(p2);native_invoker.push_arg_float(activationRange);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("0BE84C318BA6EC22");end, + ["IS_OBJECT_WITHIN_BRAIN_ACTIVATION_RANGE"]=--[[BOOL (bool)]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("CCBA154209823057");return native_invoker.get_return_value_bool();end, + ["REGISTER_WORLD_POINT_SCRIPT_BRAIN"]=--[[void]] function(--[[string]] scriptName,--[[float]] activationRange,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_string(scriptName);native_invoker.push_arg_float(activationRange);native_invoker.push_arg_int(p2);native_invoker.end_call("3CDC7136613284BD");end, + -- Gets whether the world point the calling script is registered to is within desired range of the player. + ["IS_WORLD_POINT_WITHIN_BRAIN_ACTIVATION_RANGE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C5042CC6F5E3D450");return native_invoker.get_return_value_bool();end, + ["ENABLE_SCRIPT_BRAIN_SET"]=--[[void]] function(--[[int]] brainSet)native_invoker.begin_call();native_invoker.push_arg_int(brainSet);native_invoker.end_call("67AA4D73F0CFA86B");end, + ["DISABLE_SCRIPT_BRAIN_SET"]=--[[void]] function(--[[int]] brainSet)native_invoker.begin_call();native_invoker.push_arg_int(brainSet);native_invoker.end_call("14D8518E9760F08F");end, + ["_0x0B40ED49D7D6FF84"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0B40ED49D7D6FF84");end, + -- Something like flush_all_scripts + -- + -- Most of time comes after NETWORK_END_TUTORIAL_SESSION() or before TERMINATE_THIS_THREAD() + ["_0x4D953DF78EBF8158"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("4D953DF78EBF8158");end, + -- Possible values: + -- + -- act_cinema + -- am_mp_carwash_launch + -- am_mp_carwash_control + -- am_mp_property_ext + -- chop + -- fairgroundHub + -- launcher_BasejumpHeli + -- launcher_BasejumpPack + -- launcher_CarWash + -- launcher_golf + -- launcher_Hunting_Ambient + -- launcher_MrsPhilips + -- launcher_OffroadRacing + -- launcher_pilotschool + -- launcher_Racing + -- launcher_rampage + -- launcher_rampage + -- launcher_range + -- launcher_stunts + -- launcher_stunts + -- launcher_tennis + -- launcher_Tonya + -- launcher_Triathlon + -- launcher_Yoga + -- ob_mp_bed_low + -- ob_mp_bed_med + ["_0x6D6840CEE8845831"]=--[[void]] function(--[[string]] action)native_invoker.begin_call();native_invoker.push_arg_string(action);native_invoker.end_call("6D6840CEE8845831");end, + -- Looks like a cousin of above function _6D6840CEE8845831 as it was found among them. Must be similar + -- + -- Here are possible values of argument - + -- + -- "ob_tv" + -- "launcher_Darts" + ["_0x6E91B04E08773030"]=--[[void]] function(--[[string]] action)native_invoker.begin_call();native_invoker.push_arg_string(action);native_invoker.end_call("6E91B04E08773030");end, +} +CAM={ + -- ease - smooth transition between the camera's positions + -- easeTime - Time in milliseconds for the transition to happen + -- + -- If you have created a script (rendering) camera, and want to go back to the + -- character (gameplay) camera, call this native with render set to 0. + -- Setting ease to 1 will smooth the transition. + ["RENDER_SCRIPT_CAMS"]=--[[void]] function(--[[BOOL (bool)]] render,--[[BOOL (bool)]] ease,--[[int]] easeTime,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_bool(render);native_invoker.push_arg_bool(ease);native_invoker.push_arg_int(easeTime);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("07E5B515DB0636FC");end, + -- This native makes the gameplay camera zoom into first person/third person with a special effect. + -- + -- For example, if you were first person in a mission and after the cutscene ends, the camera would then zoom into the first person camera view. + -- + -- if (CAM::GET_FOLLOW_PED_CAM_VIEW_MODE() != 4) + -- CAM::_C819F3CBB62BF692(1, 0, 3, 0) + -- + -- This makes the camera zoom in to first person. + -- + -- -------------------------------------------- + -- 1st Param Options: 0 or 1 (Changes quit often, toggle?) + -- 2nd Param Options: 0, 0f, 1f, 3.8f, 10f, 20f (Mostly 0) + -- 3rd Param Options: 3, 2, 1 (Mostly 3); + -- Note for the 2nd param 10f (offroad_race.c) and 3rd param 20f (range_modern.c) are the only times those 2 high floats are called. + -- Note for the 3rd param 2 is only ever set in (franklin0.c), but it also sets it as 3. (0, 0, 3) ||(0, 0f, 2) || (0, 0, 3) + ["_RENDER_FIRST_PERSON_CAM"]=--[[void]] function(--[[BOOL (bool)]] render,--[[float]] p1,--[[int]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_bool(render);native_invoker.push_arg_float(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("C819F3CBB62BF692");end, + -- "DEFAULT_SCRIPTED_CAMERA" + -- "DEFAULT_ANIMATED_CAMERA" + -- "DEFAULT_SPLINE_CAMERA" + -- "DEFAULT_SCRIPTED_FLY_CAMERA" + -- "TIMED_SPLINE_CAMERA" + ["CREATE_CAM"]=--[[Cam (int)]] function(--[[string]] camName,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(camName);native_invoker.push_arg_bool(p1);native_invoker.end_call("C3981DCE61D9E13F");return native_invoker.get_return_value_int();end, + -- camName is always set to "DEFAULT_SCRIPTED_CAMERA" in Rockstar's scripts. + -- ------------ + -- Camera names found in the b617d scripts: + -- "DEFAULT_ANIMATED_CAMERA" + -- "DEFAULT_SCRIPTED_CAMERA" + -- "DEFAULT_SCRIPTED_FLY_CAMERA" + -- "DEFAULT_SPLINE_CAMERA" + -- ------------ + -- Side Note: It seems p8 is basically to represent what would be the bool p1 within CREATE_CAM native. As well as the p9 since it's always 2 in scripts seems to represent what would be the last param within SET_CAM_ROT native which normally would be 2. + ["CREATE_CAM_WITH_PARAMS"]=--[[Cam (int)]] function(--[[string]] camName,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[float]] fov,--[[BOOL (bool)]] p8,--[[int]] p9)native_invoker.begin_call();native_invoker.push_arg_string(camName);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_float(fov);native_invoker.push_arg_bool(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("B51194800B257161");return native_invoker.get_return_value_int();end, + ["CREATE_CAMERA"]=--[[Cam (int)]] function(--[[Hash (int)]] camHash,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(camHash);native_invoker.push_arg_bool(p1);native_invoker.end_call("5E3CF89C6BCCA67D");return native_invoker.get_return_value_int();end, + -- CAM::_GET_GAMEPLAY_CAM_COORDS can be used instead of posX,Y,Z + -- CAM::_GET_GAMEPLAY_CAM_ROT can be used instead of rotX,Y,Z + -- CAM::_80EC114669DAEFF4() can be used instead of p7 (Possible p7 is FOV parameter. ) + -- p8 ??? + -- p9 uses 2 by default + -- + ["CREATE_CAMERA_WITH_PARAMS"]=--[[Cam (int)]] function(--[[Hash (int)]] camHash,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[float]] fov,--[[BOOL (bool)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(camHash);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_float(fov);native_invoker.push_arg_bool(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("6ABFA3E16460F22D");return native_invoker.get_return_value_int();end, + -- BOOL param indicates whether the cam should be destroyed if it belongs to the calling script. + ["DESTROY_CAM"]=--[[void]] function(--[[Cam (int)]] cam,--[[BOOL (bool)]] netMissionEntity)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_bool(netMissionEntity);native_invoker.end_call("865908C81A2C22E9");end, + -- BOOL param indicates whether the cam should be destroyed if it belongs to the calling script. + ["DESTROY_ALL_CAMS"]=--[[void]] function(--[[BOOL (bool)]] netMissionEntity)native_invoker.begin_call();native_invoker.push_arg_bool(netMissionEntity);native_invoker.end_call("8E5FB15663F79120");end, + -- Returns whether or not the passed camera handle exists. + ["DOES_CAM_EXIST"]=--[[BOOL (bool)]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("A7A932170592B50E");return native_invoker.get_return_value_bool();end, + -- Set camera as active/inactive. + ["SET_CAM_ACTIVE"]=--[[void]] function(--[[Cam (int)]] cam,--[[BOOL (bool)]] active)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_bool(active);native_invoker.end_call("026FB97D0A425F84");end, + -- Returns whether or not the passed camera handle is active. + ["IS_CAM_ACTIVE"]=--[[BOOL (bool)]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("DFB2B516207D3534");return native_invoker.get_return_value_bool();end, + ["IS_CAM_RENDERING"]=--[[BOOL (bool)]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("02EC0AF5C5A49B7A");return native_invoker.get_return_value_bool();end, + ["GET_RENDERING_CAM"]=--[[Cam (int)]] function()native_invoker.begin_call();native_invoker.end_call("5234F9F10919EABA");return native_invoker.get_return_value_int();end, + ["GET_CAM_COORD"]=--[[Vector3 (vector3)]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("BAC038F7459AE5AE");return native_invoker.get_return_value_vector3();end, + -- The last parameter, as in other "ROT" methods, is usually 2. + ["GET_CAM_ROT"]=--[[Vector3 (vector3)]] function(--[[Cam (int)]] cam,--[[int]] rotationOrder)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(rotationOrder);native_invoker.end_call("7D304C1C955E3E12");return native_invoker.get_return_value_vector3();end, + ["GET_CAM_FOV"]=--[[float]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("C3330A45CCCDB26A");return native_invoker.get_return_value_float();end, + ["GET_CAM_NEAR_CLIP"]=--[[float]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("C520A34DAFBF24B1");return native_invoker.get_return_value_float();end, + ["GET_CAM_FAR_CLIP"]=--[[float]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("B60A9CFEB21CA6AA");return native_invoker.get_return_value_float();end, + ["GET_CAM_FAR_DOF"]=--[[float]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("255F8DAFD540D397");return native_invoker.get_return_value_float();end, + ["SET_CAM_PARAMS"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[float]] fieldOfView,--[[Any (int)]] p8,--[[int]] p9,--[[int]] p10,--[[int]] p11)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_float(fieldOfView);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_int(p10);native_invoker.push_arg_int(p11);native_invoker.end_call("BFD8727AEA3CCEBA");end, + -- Sets the position of the cam. + ["SET_CAM_COORD"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] posX,--[[float]] posY,--[[float]] posZ)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.end_call("4D41783FB745E42E");end, + -- Sets the rotation of the cam. + -- Last parameter unknown. + -- + -- Last parameter seems to always be set to 2. + ["SET_CAM_ROT"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[int]] rotationOrder)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_int(rotationOrder);native_invoker.end_call("85973643155D0B07");end, + -- Sets the field of view of the cam. + -- --------------------------------------------- + -- Min: 1.0f + -- Max: 130.0f + ["SET_CAM_FOV"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] fieldOfView)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(fieldOfView);native_invoker.end_call("B13C14F66A00D047");end, + ["SET_CAM_NEAR_CLIP"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] nearClip)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(nearClip);native_invoker.end_call("C7848EFCCC545182");end, + ["SET_CAM_FAR_CLIP"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] farClip)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(farClip);native_invoker.end_call("AE306F2A904BF86E");end, + ["_0xAABD62873FFB1A33"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("AABD62873FFB1A33");end, + ["SET_CAM_MOTION_BLUR_STRENGTH"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] strength)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(strength);native_invoker.end_call("6F0F77FBA9A8F2E6");end, + ["SET_CAM_NEAR_DOF"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] nearDOF)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(nearDOF);native_invoker.end_call("3FA4BF0A7AB7DE2C");end, + ["SET_CAM_FAR_DOF"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] farDOF)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(farDOF);native_invoker.end_call("EDD91296CD01AEE0");end, + ["SET_CAM_DOF_STRENGTH"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] dofStrength)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(dofStrength);native_invoker.end_call("5EE29B4D7D5DF897");end, + ["SET_CAM_DOF_PLANES"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.end_call("3CF48F6F96E749DC");end, + ["SET_CAM_USE_SHALLOW_DOF_MODE"]=--[[void]] function(--[[Cam (int)]] cam,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_bool(toggle);native_invoker.end_call("16A96863A17552BB");end, + ["SET_USE_HI_DOF"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A13B0222F3D94A94");end, + ["_0xF55E4046F6F831DC"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("F55E4046F6F831DC");end, + ["_0xE111A7C0D200CBC5"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("E111A7C0D200CBC5");end, + -- This native has its name defined inside its codE + -- + ["_SET_CAM_DOF_FNUMBER_OF_LENS"]=--[[void]] function(--[[Cam (int)]] camera,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(camera);native_invoker.push_arg_float(p1);native_invoker.end_call("7DD234D6F3914C5B");end, + -- Native name labeled within its code + ["_SET_CAM_DOF_FOCAL_LENGTH_MULTIPLIER"]=--[[void]] function(--[[Cam (int)]] camera,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(camera);native_invoker.push_arg_float(multiplier);native_invoker.end_call("47B595D60664CFFA");end, + -- This native has a name defined inside its code + ["_SET_CAM_DOF_FOCUS_DISTANCE_BIAS"]=--[[void]] function(--[[Cam (int)]] camera,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(camera);native_invoker.push_arg_float(p1);native_invoker.end_call("C669EEA5D031B7DE");end, + -- This native has a name defined inside its code + ["_SET_CAM_DOF_MAX_NEAR_IN_FOCUS_DISTANCE"]=--[[void]] function(--[[Cam (int)]] camera,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(camera);native_invoker.push_arg_float(p1);native_invoker.end_call("C3654A441402562D");end, + -- This native has a name defined inside its code + ["_SET_CAM_DOF_MAX_NEAR_IN_FOCUS_DISTANCE_BLEND_LEVEL"]=--[[void]] function(--[[Cam (int)]] camera,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(camera);native_invoker.push_arg_float(p1);native_invoker.end_call("2C654B4943BDDF7C");end, + -- Last param determines if its relative to the Entity + ["ATTACH_CAM_TO_ENTITY"]=--[[void]] function(--[[Cam (int)]] cam,--[[Entity (int)]] entity,--[[float]] xOffset,--[[float]] yOffset,--[[float]] zOffset,--[[BOOL (bool)]] isRelative)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(zOffset);native_invoker.push_arg_bool(isRelative);native_invoker.end_call("FEDB7D269E8C60E3");end, + ["ATTACH_CAM_TO_PED_BONE"]=--[[void]] function(--[[Cam (int)]] cam,--[[Ped (int)]] ped,--[[int]] boneIndex,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] heading)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(ped);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(heading);native_invoker.end_call("61A3DBA14AB7F411");end, + ["_ATTACH_CAM_TO_PED_BONE_2"]=--[[void]] function(--[[Cam (int)]] cam,--[[Ped (int)]] ped,--[[int]] boneIndex,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[float]] p8,--[[BOOL (bool)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(ped);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_bool(p9);native_invoker.end_call("149916F50C34A40D");end, + ["_0x202A5ED9CE01D6E7"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("202A5ED9CE01D6E7");end, + -- This native works with vehicles only. Bone indexes are usually given by this native GET_ENTITY_BONE_INDEX_BY_NAME. + ["_ATTACH_CAM_TO_VEHICLE_BONE"]=--[[void]] function(--[[Cam (int)]] cam,--[[Vehicle (int)]] vehicle,--[[int]] boneIndex,--[[BOOL (bool)]] relativeRotation,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ,--[[BOOL (bool)]] fixedDirection)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_bool(relativeRotation);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.push_arg_bool(fixedDirection);native_invoker.end_call("8DB3F12A02CAEF72");end, + ["DETACH_CAM"]=--[[void]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("A2FABBE87F4BAD82");end, + -- The native seems to only be called once. + -- + -- The native is used as so, + -- CAM::SET_CAM_INHERIT_ROLL_VEHICLE(l_544, getElem(2, &l_525, 4)); + -- In the exile1 script. + ["SET_CAM_INHERIT_ROLL_VEHICLE"]=--[[void]] function(--[[Cam (int)]] cam,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_bool(p1);native_invoker.end_call("45F1DE9C34B93AE6");end, + ["POINT_CAM_AT_COORD"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("F75497BB865F0803");end, + -- p5 always seems to be 1 i.e TRUE + ["POINT_CAM_AT_ENTITY"]=--[[void]] function(--[[Cam (int)]] cam,--[[Entity (int)]] entity,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("5640BFF86B16E8DC");end, + -- Parameters p0-p5 seems correct. The bool p6 is unknown, but through every X360 script it's always 1. Please correct p0-p5 if any prove to be wrong. + ["POINT_CAM_AT_PED_BONE"]=--[[void]] function(--[[Cam (int)]] cam,--[[Ped (int)]] ped,--[[int]] boneIndex,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(ped);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(p6);native_invoker.end_call("68B2B5F33BA63C41");end, + ["STOP_CAM_POINTING"]=--[[void]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("F33AB75780BA57DE");end, + -- Allows you to aim and shoot at the direction the camera is facing. + ["SET_CAM_AFFECTS_AIMING"]=--[[void]] function(--[[Cam (int)]] cam,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_bool(toggle);native_invoker.end_call("8C1DC7770C51DC8D");end, + -- SET_CAM_* + ["_0x661B5C8654ADD825"]=--[[void]] function(--[[Cam (int)]] cam,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_bool(p1);native_invoker.end_call("661B5C8654ADD825");end, + ["_0xA2767257A320FC82"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("A2767257A320FC82");end, + ["_0x271017B9BA825366"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("271017B9BA825366");end, + -- NOTE: Debugging functions are not present in the retail version of the game. + ["SET_CAM_DEBUG_NAME"]=--[[void]] function(--[[Cam (int)]] camera,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_int(camera);native_invoker.push_arg_string(name);native_invoker.end_call("1B93E0107865DD40");end, + -- I filled p1-p6 (the floats) as they are as other natives with 6 floats in a row are similar and I see no other method. So if a test from anyone proves them wrong please correct. + -- + -- p7 (length) determines the length of the spline, affects camera path and duration of transition between previous node and this one + -- + -- p8 big values ~100 will slow down the camera movement before reaching this node + -- + -- p9 != 0 seems to override the rotation/pitch (bool?) + ["ADD_CAM_SPLINE_NODE"]=--[[void]] function(--[[Cam (int)]] camera,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[int]] length,--[[int]] p8,--[[int]] p9)native_invoker.begin_call();native_invoker.push_arg_int(camera);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_int(length);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("8609C75EC438FB3B");end, + ["ADD_CAM_SPLINE_NODE_USING_CAMERA_FRAME"]=--[[void]] function(--[[Cam (int)]] cam,--[[Cam (int)]] cam2,--[[int]] p2,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(cam2);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("0A9F2A468B328E74");end, + ["ADD_CAM_SPLINE_NODE_USING_CAMERA"]=--[[void]] function(--[[Cam (int)]] cam,--[[Cam (int)]] cam2,--[[int]] p2,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(cam2);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("0FB82563989CF4FB");end, + ["ADD_CAM_SPLINE_NODE_USING_GAMEPLAY_FRAME"]=--[[void]] function(--[[Cam (int)]] cam,--[[int]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("609278246A29CA34");end, + ["SET_CAM_SPLINE_PHASE"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(p1);native_invoker.end_call("242B5874F0A4E052");end, + -- Can use this with SET_CAM_SPLINE_PHASE to set the float it this native returns. + -- + -- (returns 1.0f when no nodes has been added, reached end of non existing spline) + ["GET_CAM_SPLINE_PHASE"]=--[[float]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("B5349E36C546509A");return native_invoker.get_return_value_float();end, + -- I'm pretty sure the parameter is the camera as usual, but I am not certain so I'm going to leave it as is. + ["GET_CAM_SPLINE_NODE_PHASE"]=--[[float]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("D9D0E694C8282C96");return native_invoker.get_return_value_float();end, + -- I named p1 as timeDuration as it is obvious. I'm assuming tho it is ran in ms(Milliseconds) as usual. + ["SET_CAM_SPLINE_DURATION"]=--[[void]] function(--[[Cam (int)]] cam,--[[int]] timeDuration)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(timeDuration);native_invoker.end_call("1381539FEE034CDA");end, + ["SET_CAM_SPLINE_SMOOTHING_STYLE"]=--[[void]] function(--[[Cam (int)]] cam,--[[int]] smoothingStyle)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(smoothingStyle);native_invoker.end_call("D1B0F412F109EA5D");end, + ["GET_CAM_SPLINE_NODE_INDEX"]=--[[int]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("B22B17DF858716A6");return native_invoker.get_return_value_int();end, + ["SET_CAM_SPLINE_NODE_EASE"]=--[[void]] function(--[[Cam (int)]] cam,--[[int]] p1,--[[int]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("83B8201ED82A9A2D");end, + ["SET_CAM_SPLINE_NODE_VELOCITY_SCALE"]=--[[void]] function(--[[Cam (int)]] cam,--[[int]] p1,--[[float]] scale)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(scale);native_invoker.end_call("A6385DEB180F319F");end, + ["OVERRIDE_CAM_SPLINE_VELOCITY"]=--[[void]] function(--[[Cam (int)]] cam,--[[int]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("40B62FA033EB0346");end, + -- Max value for p1 is 15. + ["OVERRIDE_CAM_SPLINE_MOTION_BLUR"]=--[[void]] function(--[[Cam (int)]] cam,--[[int]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("7DCF7C708D292D55");end, + ["SET_CAM_SPLINE_NODE_EXTRA_FLAGS"]=--[[void]] function(--[[Cam (int)]] cam,--[[int]] p1,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(flags);native_invoker.end_call("7BF1A54AE67AC070");end, + ["IS_CAM_SPLINE_PAUSED"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("0290F35C0AD97864");return native_invoker.get_return_value_bool();end, + -- Previous declaration void SET_CAM_ACTIVE_WITH_INTERP(Cam camTo, Cam camFrom, int duration, BOOL easeLocation, BOOL easeRotation) is completely wrong. The last two params are integers not BOOLs... + -- + ["SET_CAM_ACTIVE_WITH_INTERP"]=--[[void]] function(--[[Cam (int)]] camTo,--[[Cam (int)]] camFrom,--[[int]] duration,--[[int]] easeLocation,--[[int]] easeRotation)native_invoker.begin_call();native_invoker.push_arg_int(camTo);native_invoker.push_arg_int(camFrom);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(easeLocation);native_invoker.push_arg_int(easeRotation);native_invoker.end_call("9FBDA379383A52A4");end, + ["IS_CAM_INTERPOLATING"]=--[[BOOL (bool)]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("036F97C908C2B52C");return native_invoker.get_return_value_bool();end, + -- Possible shake types (updated b617d): + -- + -- DEATH_FAIL_IN_EFFECT_SHAKE + -- DRUNK_SHAKE + -- FAMILY5_DRUG_TRIP_SHAKE + -- HAND_SHAKE + -- JOLT_SHAKE + -- LARGE_EXPLOSION_SHAKE + -- MEDIUM_EXPLOSION_SHAKE + -- SMALL_EXPLOSION_SHAKE + -- ROAD_VIBRATION_SHAKE + -- SKY_DIVING_SHAKE + -- VIBRATE_SHAKE + -- + -- Full list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json + ["SHAKE_CAM"]=--[[void]] function(--[[Cam (int)]] cam,--[[string]] type,--[[float]] amplitude)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_string(type);native_invoker.push_arg_float(amplitude);native_invoker.end_call("6A25241C340D3822");end, + -- Example from michael2 script. + -- + -- CAM::ANIMATED_SHAKE_CAM(l_5069, "shake_cam_all@", "light", "", 1f); + ["ANIMATED_SHAKE_CAM"]=--[[void]] function(--[[Cam (int)]] cam,--[[string]] p1,--[[string]] p2,--[[string]] p3,--[[float]] amplitude)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_string(p1);native_invoker.push_arg_string(p2);native_invoker.push_arg_string(p3);native_invoker.push_arg_float(amplitude);native_invoker.end_call("A2746EEAE3E577CD");end, + ["IS_CAM_SHAKING"]=--[[BOOL (bool)]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("6B24BFE83A2BE47B");return native_invoker.get_return_value_bool();end, + ["SET_CAM_SHAKE_AMPLITUDE"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] amplitude)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(amplitude);native_invoker.end_call("D93DB43B82BC0D00");end, + ["STOP_CAM_SHAKING"]=--[[void]] function(--[[Cam (int)]] cam,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_bool(p1);native_invoker.end_call("BDECF64367884AC3");end, + -- CAM::SHAKE_SCRIPT_GLOBAL("HAND_SHAKE", 0.2); + -- + -- Full list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json + ["SHAKE_SCRIPT_GLOBAL"]=--[[void]] function(--[[string]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("F4C8CF9E353AFECA");end, + -- CAM::ANIMATED_SHAKE_SCRIPT_GLOBAL("SHAKE_CAM_medium", "medium", "", 0.5f); + -- + -- Full list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json + ["ANIMATED_SHAKE_SCRIPT_GLOBAL"]=--[[void]] function(--[[string]] p0,--[[string]] p1,--[[string]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_string(p1);native_invoker.push_arg_string(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("C2EAE3FB8CDBED31");end, + -- In drunk_controller.c4, sub_309 + -- if (CAM::IS_SCRIPT_GLOBAL_SHAKING()) { + -- CAM::STOP_SCRIPT_GLOBAL_SHAKING(0); + -- } + ["IS_SCRIPT_GLOBAL_SHAKING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C912AF078AF19212");return native_invoker.get_return_value_bool();end, + -- In drunk_controller.c4, sub_309 + -- if (CAM::IS_SCRIPT_GLOBAL_SHAKING()) { + -- CAM::STOP_SCRIPT_GLOBAL_SHAKING(0); + -- } + ["STOP_SCRIPT_GLOBAL_SHAKING"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("1C9D7949FA533490");end, + -- p1: 0..16 + ["_0x5D96CFB59DA076A0"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] p1,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.end_call("5D96CFB59DA076A0");end, + -- Atleast one time in a script for the zRot Rockstar uses GET_ENTITY_HEADING to help fill the parameter. + -- + -- p9 is unknown at this time. + -- p10 throughout all the X360 Scripts is always 2. + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["PLAY_CAM_ANIM"]=--[[BOOL (bool)]] function(--[[Cam (int)]] cam,--[[string]] animName,--[[string]] animDictionary,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[BOOL (bool)]] p9,--[[int]] p10)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_string(animName);native_invoker.push_arg_string(animDictionary);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_bool(p9);native_invoker.push_arg_int(p10);native_invoker.end_call("9A2D0FB2E7852392");return native_invoker.get_return_value_bool();end, + ["IS_CAM_PLAYING_ANIM"]=--[[BOOL (bool)]] function(--[[Cam (int)]] cam,--[[string]] animName,--[[string]] animDictionary)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_string(animName);native_invoker.push_arg_string(animDictionary);native_invoker.end_call("C90621D8A0CEECF2");return native_invoker.get_return_value_bool();end, + ["SET_CAM_ANIM_CURRENT_PHASE"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] phase)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(phase);native_invoker.end_call("4145A4C44FF3B5A6");end, + ["GET_CAM_ANIM_CURRENT_PHASE"]=--[[float]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("A10B2DB49E92A6B0");return native_invoker.get_return_value_float();end, + -- Examples: + -- + -- CAM::PLAY_SYNCHRONIZED_CAM_ANIM(l_2734, NETWORK::_02C40BF885C567B6(l_2739), "PLAYER_EXIT_L_CAM", "mp_doorbell"); + -- + -- CAM::PLAY_SYNCHRONIZED_CAM_ANIM(l_F0D[7/*1*/], l_F4D[15/*1*/], "ah3b_attackheli_cam2", "missheistfbi3b_helicrash"); + ["PLAY_SYNCHRONIZED_CAM_ANIM"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[string]] animName,--[[string]] animDictionary)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_string(animName);native_invoker.push_arg_string(animDictionary);native_invoker.end_call("E32EFE9AB4A9AA0C");return native_invoker.get_return_value_bool();end, + ["SET_FLY_CAM_HORIZONTAL_RESPONSE"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("503F5920162365B2");end, + ["_SET_FLY_CAM_VERTICAL_SPEED_MULTIPLIER"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("E827B9382CFB41BA");end, + ["SET_FLY_CAM_MAX_HEIGHT"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] height)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(height);native_invoker.end_call("F9D02130ECDD1D77");end, + ["SET_FLY_CAM_COORD_AND_CONSTRAIN"]=--[[void]] function(--[[Cam (int)]] cam,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("C91C6C55199308CA");end, + ["_0xC8B5C4A79CC18B94"]=--[[void]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("C8B5C4A79CC18B94");end, + -- W* + ["_0x5C48A1D6E3B33179"]=--[[BOOL (bool)]] function(--[[Cam (int)]] cam)native_invoker.begin_call();native_invoker.push_arg_int(cam);native_invoker.end_call("5C48A1D6E3B33179");return native_invoker.get_return_value_bool();end, + ["IS_SCREEN_FADED_OUT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B16FCE9DDC7BA182");return native_invoker.get_return_value_bool();end, + ["IS_SCREEN_FADED_IN"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5A859503B0C08678");return native_invoker.get_return_value_bool();end, + ["IS_SCREEN_FADING_OUT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("797AC7CB535BA28F");return native_invoker.get_return_value_bool();end, + ["IS_SCREEN_FADING_IN"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5C544BC6C57AC575");return native_invoker.get_return_value_bool();end, + -- Fades the screen in. + -- + -- duration: The time the fade should take, in milliseconds. + ["DO_SCREEN_FADE_IN"]=--[[void]] function(--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(duration);native_invoker.end_call("D4E8E24955024033");end, + -- Fades the screen out. + -- + -- duration: The time the fade should take, in milliseconds. + ["DO_SCREEN_FADE_OUT"]=--[[void]] function(--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(duration);native_invoker.end_call("891B5B39AC6302AF");end, + ["SET_WIDESCREEN_BORDERS"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("DCD4EA924F42D01A");end, + -- A* + ["_0x4879E4FE39074CDF"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("4879E4FE39074CDF");return native_invoker.get_return_value_bool();end, + ["GET_GAMEPLAY_CAM_COORD"]=--[[Vector3 (vector3)]] function()native_invoker.begin_call();native_invoker.end_call("14D6F5678D8F1B37");return native_invoker.get_return_value_vector3();end, + -- p0 dosen't seem to change much, I tried it with 0, 1, 2: + -- 0-Pitch(X): -70.000092 + -- 0-Roll(Y): -0.000001 + -- 0-Yaw(Z): -43.886459 + -- 1-Pitch(X): -70.000092 + -- 1-Roll(Y): -0.000001 + -- 1-Yaw(Z): -43.886463 + -- 2-Pitch(X): -70.000092 + -- 2-Roll(Y): -0.000002 + -- 2-Yaw(Z): -43.886467 + ["GET_GAMEPLAY_CAM_ROT"]=--[[Vector3 (vector3)]] function(--[[int]] rotationOrder)native_invoker.begin_call();native_invoker.push_arg_int(rotationOrder);native_invoker.end_call("837765A25378F0BB");return native_invoker.get_return_value_vector3();end, + ["GET_GAMEPLAY_CAM_FOV"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("65019750A0324133");return native_invoker.get_return_value_float();end, + -- some camera effect that is used in the drunk-cheat, and turned off (by setting it to 0.0) along with the shaking effects once the drunk cheat is disabled. + ["_0x487A82C650EB7799"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("487A82C650EB7799");end, + -- some camera effect that is (also) used in the drunk-cheat, and turned off (by setting it to 0.0) along with the shaking effects once the drunk cheat is disabled. Possibly a cinematic or script-cam version of _0x487A82C650EB7799 + ["_0x0225778816FDC28C"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("0225778816FDC28C");end, + ["GET_GAMEPLAY_CAM_RELATIVE_HEADING"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("743607648ADD4587");return native_invoker.get_return_value_float();end, + -- Sets the camera position relative to heading in float from -360 to +360. + -- + -- Heading is alwyas 0 in aiming camera. + ["SET_GAMEPLAY_CAM_RELATIVE_HEADING"]=--[[void]] function(--[[float]] heading)native_invoker.begin_call();native_invoker.push_arg_float(heading);native_invoker.end_call("B4EC2312F4E5B1F1");end, + ["GET_GAMEPLAY_CAM_RELATIVE_PITCH"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("3A6867B4845BEDA2");return native_invoker.get_return_value_float();end, + -- This native sets the camera's pitch (rotation on the x-axis). + ["SET_GAMEPLAY_CAM_RELATIVE_PITCH"]=--[[void]] function(--[[float]] angle,--[[float]] scalingFactor)native_invoker.begin_call();native_invoker.push_arg_float(angle);native_invoker.push_arg_float(scalingFactor);native_invoker.end_call("6D0858B8EDFD2B7D");end, + ["_SET_GAMEPLAY_CAM_RELATIVE_ROTATION"]=--[[void]] function(--[[float]] roll,--[[float]] pitch,--[[float]] yaw)native_invoker.begin_call();native_invoker.push_arg_float(roll);native_invoker.push_arg_float(pitch);native_invoker.push_arg_float(yaw);native_invoker.end_call("48608C3464F58AB4");end, + -- F* + ["_0x28B022A17B068A3A"]=--[[void]] function(--[[float]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("28B022A17B068A3A");end, + -- Does nothing + ["_SET_GAMEPLAY_CAM_RAW_YAW"]=--[[void]] function(--[[float]] yaw)native_invoker.begin_call();native_invoker.push_arg_float(yaw);native_invoker.end_call("103991D4A307D472");end, + ["_SET_GAMEPLAY_CAM_RAW_PITCH"]=--[[void]] function(--[[float]] pitch)native_invoker.begin_call();native_invoker.push_arg_float(pitch);native_invoker.end_call("759E13EBC1C15C5A");end, + ["_0x469F2ECDEC046337"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("469F2ECDEC046337");end, + -- Possible shake types (updated b617d): + -- + -- DEATH_FAIL_IN_EFFECT_SHAKE + -- DRUNK_SHAKE + -- FAMILY5_DRUG_TRIP_SHAKE + -- HAND_SHAKE + -- JOLT_SHAKE + -- LARGE_EXPLOSION_SHAKE + -- MEDIUM_EXPLOSION_SHAKE + -- SMALL_EXPLOSION_SHAKE + -- ROAD_VIBRATION_SHAKE + -- SKY_DIVING_SHAKE + -- VIBRATE_SHAKE + -- + -- Full list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json + ["SHAKE_GAMEPLAY_CAM"]=--[[void]] function(--[[string]] shakeName,--[[float]] intensity)native_invoker.begin_call();native_invoker.push_arg_string(shakeName);native_invoker.push_arg_float(intensity);native_invoker.end_call("FD55E49555E017CF");end, + ["IS_GAMEPLAY_CAM_SHAKING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("016C090630DF1F89");return native_invoker.get_return_value_bool();end, + -- Sets the amplitude for the gameplay (i.e. 3rd or 1st) camera to shake. Used in script "drunk_controller.ysc.c4" to simulate making the player drunk. + ["SET_GAMEPLAY_CAM_SHAKE_AMPLITUDE"]=--[[void]] function(--[[float]] amplitude)native_invoker.begin_call();native_invoker.push_arg_float(amplitude);native_invoker.end_call("A87E00932DB4D85D");end, + ["STOP_GAMEPLAY_CAM_SHAKING"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("0EF93E9F3D08C178");end, + ["_0x8BBACBF51DA047A8"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8BBACBF51DA047A8");end, + -- Examples when this function will return 0 are: + -- - During busted screen. + -- - When player is coming out from a hospital. + -- - When player is coming out from a police station. + -- - When player is buying gun from AmmuNation. + ["IS_GAMEPLAY_CAM_RENDERING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("39B5D1B10383F0C8");return native_invoker.get_return_value_bool();end, + ["_0x3044240D2E0FA842"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("3044240D2E0FA842");return native_invoker.get_return_value_bool();end, + ["_0x705A276EBFF3133D"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("705A276EBFF3133D");return native_invoker.get_return_value_bool();end, + ["_0xDB90C6CCA48940F1"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("DB90C6CCA48940F1");end, + -- Shows the crosshair even if it wouldn't show normally. Only works for one frame, so make sure to call it repeatedly. + -- + -- DISABLE_* + ["_ENABLE_CROSSHAIR_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EA7F0AD7E9BA676F");end, + ["IS_GAMEPLAY_CAM_LOOKING_BEHIND"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("70FDA869F3317EA9");return native_invoker.get_return_value_bool();end, + ["_0x2AED6301F67007D5"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("2AED6301F67007D5");end, + ["_0x49482F9FCD825AAA"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("49482F9FCD825AAA");end, + ["_0xA7092AFE81944852"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A7092AFE81944852");end, + ["_0xFD3151CD37EA2245"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("FD3151CD37EA2245");end, + -- Sets some flag on cinematic camera + ["_0xB1381B97F70C7B30"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B1381B97F70C7B30");end, + ["_0xDD79DF9F4D26E1C9"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("DD79DF9F4D26E1C9");end, + ["IS_SPHERE_VISIBLE"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("E33D59DA70B58FDF");return native_invoker.get_return_value_bool();end, + ["IS_FOLLOW_PED_CAM_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C6D3D26810C8E0F9");return native_invoker.get_return_value_bool();end, + -- From the scripts: + -- + -- CAM::SET_FOLLOW_PED_CAM_THIS_UPDATE("FOLLOW_PED_ATTACHED_TO_ROPE_CAMERA", 0); + -- CAM::SET_FOLLOW_PED_CAM_THIS_UPDATE("FOLLOW_PED_ON_EXILE1_LADDER_CAMERA", 1500); + -- CAM::SET_FOLLOW_PED_CAM_THIS_UPDATE("FOLLOW_PED_SKY_DIVING_CAMERA", 0); + -- CAM::SET_FOLLOW_PED_CAM_THIS_UPDATE("FOLLOW_PED_SKY_DIVING_CAMERA", 3000); + -- CAM::SET_FOLLOW_PED_CAM_THIS_UPDATE("FOLLOW_PED_SKY_DIVING_FAMILY5_CAMERA", 0); + -- CAM::SET_FOLLOW_PED_CAM_THIS_UPDATE("FOLLOW_PED_SKY_DIVING_CAMERA", 0); + ["SET_FOLLOW_PED_CAM_THIS_UPDATE"]=--[[BOOL (bool)]] function(--[[string]] camName,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_string(camName);native_invoker.push_arg_int(p1);native_invoker.end_call("44A113DD6FFC48D1");return native_invoker.get_return_value_bool();end, + ["_0x271401846BD26E92"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("271401846BD26E92");end, + ["_0xC8391C309684595A"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C8391C309684595A");end, + -- minimum: Degrees between -180f and 180f. + -- maximum: Degrees between -180f and 180f. + -- + -- Clamps the gameplay camera's current yaw. + -- + -- Eg. _CLAMP_GAMEPLAY_CAM_YAW(0.0f, 0.0f) will set the horizontal angle directly behind the player. + ["_CLAMP_GAMEPLAY_CAM_YAW"]=--[[void]] function(--[[float]] minimum,--[[float]] maximum)native_invoker.begin_call();native_invoker.push_arg_float(minimum);native_invoker.push_arg_float(maximum);native_invoker.end_call("8F993D26E0CA5E8E");end, + -- minimum: Degrees between -90f and 90f. + -- maximum: Degrees between -90f and 90f. + -- + -- Clamps the gameplay camera's current pitch. + -- + -- Eg. _CLAMP_GAMEPLAY_CAM_PITCH(0.0f, 0.0f) will set the vertical angle directly behind the player. + ["_CLAMP_GAMEPLAY_CAM_PITCH"]=--[[void]] function(--[[float]] minimum,--[[float]] maximum)native_invoker.begin_call();native_invoker.push_arg_float(minimum);native_invoker.push_arg_float(maximum);native_invoker.end_call("A516C198B7DCA1E1");end, + -- Seems to animate the gameplay camera zoom. + -- + -- Eg. _ANIMATE_GAMEPLAY_CAM_ZOOM(1f, 1000f); + -- will animate the camera zooming in from 1000 meters away. + -- + -- Game scripts use it like this: + -- + -- // Setting this to 1 prevents V key from changing zoom + -- PLAYER::SET_PLAYER_FORCED_ZOOM(PLAYER::PLAYER_ID(), 1); + -- + -- // These restrict how far you can move cam up/down left/right + -- CAM::_CLAMP_GAMEPLAY_CAM_YAW(-20f, 50f); + -- CAM::_CLAMP_GAMEPLAY_CAM_PITCH(-60f, 0f); + -- + -- CAM::_ANIMATE_GAMEPLAY_CAM_ZOOM(1f, 1f); + ["_ANIMATE_GAMEPLAY_CAM_ZOOM"]=--[[void]] function(--[[float]] p0,--[[float]] distance)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(distance);native_invoker.end_call("DF2E1F7742402E81");end, + ["_0xE9EA16D6E54CDCA4"]=--[[void]] function(--[[Vehicle (int)]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("E9EA16D6E54CDCA4");end, + -- Disables first person camera for the current frame. + -- + -- Found in decompiled scripts: + -- GRAPHICS::DRAW_DEBUG_TEXT_2D("Disabling First Person Cam", 0.5, 0.8, 0.0, 0, 0, 255, 255); + -- CAM::_DE2EF5DA284CC8DF(); + ["_DISABLE_FIRST_PERSON_CAM_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("DE2EF5DA284CC8DF");end, + ["_0x59424BD75174C9B1"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("59424BD75174C9B1");end, + -- B* + ["_0x9F97DA93681F87EA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9F97DA93681F87EA");end, + ["GET_FOLLOW_PED_CAM_ZOOM_LEVEL"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("33E6C8EFD0CD93E9");return native_invoker.get_return_value_int();end, + -- Returns + -- 0 - Third Person Close + -- 1 - Third Person Mid + -- 2 - Third Person Far + -- 4 - First Person + ["GET_FOLLOW_PED_CAM_VIEW_MODE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("8D4D46230B2C353A");return native_invoker.get_return_value_int();end, + -- Sets the type of Player camera: + -- + -- 0 - Third Person Close + -- 1 - Third Person Mid + -- 2 - Third Person Far + -- 4 - First Person + ["SET_FOLLOW_PED_CAM_VIEW_MODE"]=--[[void]] function(--[[int]] viewMode)native_invoker.begin_call();native_invoker.push_arg_int(viewMode);native_invoker.end_call("5A4F9EDF1673F704");end, + ["IS_FOLLOW_VEHICLE_CAM_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("CBBDE6D335D6D496");return native_invoker.get_return_value_bool();end, + ["_0x91EF6EE6419E5B97"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("91EF6EE6419E5B97");end, + -- SET_FOLLOW_* + ["_0x9DFE13ECDC1EC196"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("9DFE13ECDC1EC196");end, + ["_0x79C0E43EB9B944E2"]=--[[BOOL (bool)]] function(--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.end_call("79C0E43EB9B944E2");return native_invoker.get_return_value_bool();end, + ["GET_FOLLOW_VEHICLE_CAM_ZOOM_LEVEL"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("EE82280AB767B690");return native_invoker.get_return_value_int();end, + ["SET_FOLLOW_VEHICLE_CAM_ZOOM_LEVEL"]=--[[void]] function(--[[int]] zoomLevel)native_invoker.begin_call();native_invoker.push_arg_int(zoomLevel);native_invoker.end_call("19464CB6E4078C8A");end, + -- Returns the type of camera: + -- + -- 0 - Third Person Close + -- 1 - Third Person Mid + -- 2 - Third Person Far + -- 4 - First Person + ["GET_FOLLOW_VEHICLE_CAM_VIEW_MODE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("A4FF579AC0E3AAAE");return native_invoker.get_return_value_int();end, + -- Sets the type of Player camera in vehicles: + -- + -- 0 - Third Person Close + -- 1 - Third Person Mid + -- 2 - Third Person Far + -- 4 - First Person + ["SET_FOLLOW_VEHICLE_CAM_VIEW_MODE"]=--[[void]] function(--[[int]] viewMode)native_invoker.begin_call();native_invoker.push_arg_int(viewMode);native_invoker.end_call("AC253D7842768F48");end, + -- interprets the result of CAM::_0x19CAFA3C87F7C2FF() + -- + -- example: // checks if you're currently in first person + -- if ((CAM::_EE778F8C7E1142E2(CAM::_19CAFA3C87F7C2FF()) == 4) && (!__463_$28ED382849B17AFC())) { + -- HUD::_FDEC055AB549E328(); + -- HUD::_SET_NOTIFICATION_TEXT_ENTRY("REC_FEED_WAR"); + -- l_CE[0/*1*/] = HUD::_DRAW_NOTIFICATION(0, 1); + -- } + -- + ["_0xEE778F8C7E1142E2"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("EE778F8C7E1142E2");return native_invoker.get_return_value_int();end, + ["_0x2A2173E46DAECD12"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("2A2173E46DAECD12");end, + -- Seems to return the current type of view + -- example: // checks if you're currently in first person + -- if ((CAM::_EE778F8C7E1142E2(CAM::_19CAFA3C87F7C2FF()) == 4) && (!__463_$28ED382849B17AFC())) { + -- HUD::_FDEC055AB549E328(); + -- HUD::_SET_NOTIFICATION_TEXT_ENTRY("REC_FEED_WAR"); + -- l_CE[0/*1*/] = HUD::_DRAW_NOTIFICATION(0, 1); + -- } + ["_0x19CAFA3C87F7C2FF"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("19CAFA3C87F7C2FF");return native_invoker.get_return_value_int();end, + ["_USE_STUNT_CAMERA_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6493CF69859B116A");end, + -- Sets gameplay camera to hash + ["_SET_GAMEPLAY_CAM_HASH"]=--[[void]] function(--[[string]] camName)native_invoker.begin_call();native_invoker.push_arg_string(camName);native_invoker.end_call("425A920FDB9A0DDA");end, + ["_0x0AA27680A0BD43FA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0AA27680A0BD43FA");end, + ["_SET_FOLLOW_TURRET_SEAT_CAM"]=--[[void]] function(--[[int]] seatIndex)native_invoker.begin_call();native_invoker.push_arg_int(seatIndex);native_invoker.end_call("5C90CAB09951A12F");end, + ["IS_AIM_CAM_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("68EDDA28A5976D07");return native_invoker.get_return_value_bool();end, + -- IS_A* + ["_IS_AIM_CAM_THIRD_PERSON_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("74BD83EA840F6BC9");return native_invoker.get_return_value_bool();end, + ["IS_FIRST_PERSON_AIM_CAM_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5E346D934122613F");return native_invoker.get_return_value_bool();end, + ["DISABLE_AIM_CAM_THIS_UPDATE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1A31FE0049E542F6");end, + ["GET_FIRST_PERSON_AIM_CAM_ZOOM_FACTOR"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("7EC52CC40597D170");return native_invoker.get_return_value_float();end, + ["SET_FIRST_PERSON_AIM_CAM_ZOOM_FACTOR"]=--[[void]] function(--[[float]] zoomFactor)native_invoker.begin_call();native_invoker.push_arg_float(zoomFactor);native_invoker.end_call("70894BD0915C5BCA");end, + ["_0xCED08CBE8EBB97C7"]=--[[void]] function(--[[float]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("CED08CBE8EBB97C7");end, + ["_0x2F7F2B26DD3F18EE"]=--[[void]] function(--[[float]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("2F7F2B26DD3F18EE");end, + ["_SET_FIRST_PERSON_CAM_PITCH_RANGE"]=--[[void]] function(--[[float]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("BCFC632DB7673BF0");end, + ["_SET_FIRST_PERSON_CAM_NEAR_CLIP"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("0AF7B437918103B3");end, + ["_SET_THIRD_PERSON_AIM_CAM_NEAR_CLIP"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("42156508606DE65E");end, + ["_0x4008EDF7D6E48175"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("4008EDF7D6E48175");end, + ["_0x380B4968D1E09E55"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("380B4968D1E09E55");end, + ["GET_FINAL_RENDERED_CAM_COORD"]=--[[Vector3 (vector3)]] function()native_invoker.begin_call();native_invoker.end_call("A200EB1EE790F448");return native_invoker.get_return_value_vector3();end, + -- p0 seems to consistently be 2 across scripts + -- + -- Function is called faily often by CAM::CREATE_CAM_WITH_PARAMS + ["GET_FINAL_RENDERED_CAM_ROT"]=--[[Vector3 (vector3)]] function(--[[int]] rotationOrder)native_invoker.begin_call();native_invoker.push_arg_int(rotationOrder);native_invoker.end_call("5B4E4C817FCC2DFB");return native_invoker.get_return_value_vector3();end, + ["GET_FINAL_RENDERED_IN_WHEN_FRIENDLY_ROT"]=--[[Vector3 (vector3)]] function(--[[Player (int)]] player,--[[int]] rotationOrder)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(rotationOrder);native_invoker.end_call("26903D9CD1175F2C");return native_invoker.get_return_value_vector3();end, + -- Gets some camera fov + ["GET_FINAL_RENDERED_CAM_FOV"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("80EC114669DAEFF4");return native_invoker.get_return_value_float();end, + ["GET_FINAL_RENDERED_IN_WHEN_FRIENDLY_FOV"]=--[[float]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("5F35F6732C3FBBA0");return native_invoker.get_return_value_float();end, + ["GET_FINAL_RENDERED_CAM_NEAR_CLIP"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("D0082607100D7193");return native_invoker.get_return_value_float();end, + ["GET_FINAL_RENDERED_CAM_FAR_CLIP"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("DFC8CBC606FDB0FC");return native_invoker.get_return_value_float();end, + ["GET_FINAL_RENDERED_CAM_NEAR_DOF"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("A03502FC581F7D9B");return native_invoker.get_return_value_float();end, + ["GET_FINAL_RENDERED_CAM_FAR_DOF"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("9780F32BCAF72431");return native_invoker.get_return_value_float();end, + ["GET_FINAL_RENDERED_CAM_MOTION_BLUR_STRENGTH"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("162F9D995753DC19");return native_invoker.get_return_value_float();end, + ["SET_GAMEPLAY_COORD_HINT"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] duration,--[[int]] blendOutDuration,--[[int]] blendInDuration,--[[int]] unk)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(blendOutDuration);native_invoker.push_arg_int(blendInDuration);native_invoker.push_arg_int(unk);native_invoker.end_call("D51ADCD2D8BC0FB3");end, + ["SET_GAMEPLAY_PED_HINT"]=--[[void]] function(--[[Ped (int)]] p0,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[BOOL (bool)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_bool(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.end_call("2B486269ACD548D3");end, + -- Focuses the camera on the specified vehicle. + ["SET_GAMEPLAY_VEHICLE_HINT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ,--[[BOOL (bool)]] p4,--[[int]] time,--[[int]] easeInTime,--[[int]] easeOutTime)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.push_arg_bool(p4);native_invoker.push_arg_int(time);native_invoker.push_arg_int(easeInTime);native_invoker.push_arg_int(easeOutTime);native_invoker.end_call("A2297E18F3E71C2E");end, + ["SET_GAMEPLAY_OBJECT_HINT"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[BOOL (bool)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_bool(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.end_call("83E87508A2CA2AC6");end, + -- p6 & p7 - possibly length or time + ["SET_GAMEPLAY_ENTITY_HINT"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] xOffset,--[[float]] yOffset,--[[float]] zOffset,--[[BOOL (bool)]] p4,--[[int]] p5,--[[int]] p6,--[[int]] p7,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(zOffset);native_invoker.push_arg_bool(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("189E955A8313E298");end, + ["IS_GAMEPLAY_HINT_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("E520FF1AD2785B40");return native_invoker.get_return_value_bool();end, + ["STOP_GAMEPLAY_HINT"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("F46C581C61718916");end, + -- This native does absolutely nothing, just a nullsub + ["_0xCCD078C2665D2973"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("CCD078C2665D2973");end, + ["_0x247ACBC4ABBC9D1C"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("247ACBC4ABBC9D1C");end, + ["_0xBF72910D0F26F025"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("BF72910D0F26F025");return native_invoker.get_return_value_int();end, + ["SET_GAMEPLAY_HINT_FOV"]=--[[void]] function(--[[float]] FOV)native_invoker.begin_call();native_invoker.push_arg_float(FOV);native_invoker.end_call("513403FB9C56211F");end, + -- Old name: _SET_GAMEPLAY_HINT_ANIM_OFFSETZ + ["SET_GAMEPLAY_HINT_FOLLOW_DISTANCE_SCALAR"]=--[[void]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("F8BDBF3D573049A1");end, + -- Old name: _SET_GAMEPLAY_HINT_ANGLE + ["SET_GAMEPLAY_HINT_BASE_ORBIT_PITCH_OFFSET"]=--[[void]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("D1F8363DFAD03848");end, + ["_SET_GAMEPLAY_HINT_ANIM_OFFSETX"]=--[[void]] function(--[[float]] xOffset)native_invoker.begin_call();native_invoker.push_arg_float(xOffset);native_invoker.end_call("5D7B620DAE436138");end, + ["_SET_GAMEPLAY_HINT_ANIM_OFFSETY"]=--[[void]] function(--[[float]] yOffset)native_invoker.begin_call();native_invoker.push_arg_float(yOffset);native_invoker.end_call("C92717EF615B6704");end, + ["_SET_GAMEPLAY_HINT_ANIM_CLOSEUP"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("E3433EADAAF7EE40");end, + ["SET_CINEMATIC_BUTTON_ACTIVE"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("51669F7D1FB53D9F");end, + ["IS_CINEMATIC_CAM_RENDERING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B15162CB5826E9E8");return native_invoker.get_return_value_bool();end, + -- p0 argument found in the b617d scripts: "DRUNK_SHAKE" + -- + -- Full list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json + ["SHAKE_CINEMATIC_CAM"]=--[[void]] function(--[[string]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("DCE214D9ED58F3CF");end, + ["IS_CINEMATIC_CAM_SHAKING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("BBC08F6B4CB8FF0A");return native_invoker.get_return_value_bool();end, + ["SET_CINEMATIC_CAM_SHAKE_AMPLITUDE"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("C724C701C30B2FE7");end, + ["STOP_CINEMATIC_CAM_SHAKING"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("2238E588E588A6D7");end, + ["_DISABLE_VEHICLE_FIRST_PERSON_CAM_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("ADFF1B2A555F5FBA");end, + ["_0x62ECFCFDEE7885D6"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("62ECFCFDEE7885D6");end, + -- Resets the vehicle idle camera timer. Calling this in a loop will disable the idle camera. + ["_INVALIDATE_VEHICLE_IDLE_CAM"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9E4CFFF989258472");end, + -- Resets the idle camera timer. Calling that in a loop once every few seconds is enough to disable the idle cinematic camera. + ["INVALIDATE_IDLE_CAM"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("F4F2C0D4EE209E20");end, + ["IS_CINEMATIC_IDLE_CAM_RENDERING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("CA9D2AA3E326D720");return native_invoker.get_return_value_bool();end, + ["_IS_IN_VEHICLE_CAM_DISABLED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("4F32C0D5A90A9B40");return native_invoker.get_return_value_bool();end, + ["CREATE_CINEMATIC_SHOT"]=--[[void]] function(--[[Any (int)]] p0,--[[int]] p1,--[[Any (int)]] p2,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(entity);native_invoker.end_call("741B0129D4560F31");end, + ["IS_CINEMATIC_SHOT_ACTIVE"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("CC9F3371A7C28BC9");return native_invoker.get_return_value_bool();end, + -- Only used once in carsteal3 with p0 set to -1096069633 (CAMERA_MAN_SHOT) + ["STOP_CINEMATIC_SHOT"]=--[[void]] function(--[[Hash (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7660C6E75D3A078E");end, + ["_0xA41BCD7213805AAC"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("A41BCD7213805AAC");end, + ["_0xDC9DA9E8789F5246"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("DC9DA9E8789F5246");end, + -- Toggles the vehicle cinematic cam; requires the player ped to be in a vehicle to work. + ["SET_CINEMATIC_MODE_ACTIVE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("DCF0754AC3D6FD4E");end, + ["_0x1F2300CB7FA7B7F6"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("1F2300CB7FA7B7F6");return native_invoker.get_return_value_int();end, + ["_0x17FCA7199A530203"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("17FCA7199A530203");return native_invoker.get_return_value_int();end, + ["_0xD7360051C885628B"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("D7360051C885628B");return native_invoker.get_return_value_int();end, + -- Tests some cinematic camera flags + ["_IS_CINEMATIC_CAM_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("F5F1E89A970B7796");return native_invoker.get_return_value_bool();end, + ["_0x7B8A361C1813FBEF"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("7B8A361C1813FBEF");end, + ["STOP_CUTSCENE_CAM_SHAKING"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("DB629FFD9285FA06");end, + ["_0x324C5AA411DA7737"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("324C5AA411DA7737");end, + -- Hardcoded to only work in multiplayer. + ["_0x12DED8CA53D47EA5"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("12DED8CA53D47EA5");end, + ["GET_FOCUS_PED_ON_SCREEN"]=--[[Ped (int)]] function(--[[float]] p0,--[[int]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[int]] p7,--[[int]] p8)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("89215EC747DF244A");return native_invoker.get_return_value_int();end, + ["_0x5A43C76F7FC7BA5F"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5A43C76F7FC7BA5F");end, + -- if p0 is 0, effect is cancelled + -- + -- if p0 is 1, effect zooms in, gradually tilts cam clockwise apx 30 degrees, wobbles slowly. Motion blur is active until cancelled. + -- + -- if p0 is 2, effect immediately tilts cam clockwise apx 30 degrees, begins to wobble slowly, then gradually tilts cam back to normal. The wobbling will continue until the effect is cancelled. + ["_SET_CAM_EFFECT"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("80C8B1846639BB19");end, + ["_0x5C41E6BABC9E2112"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5C41E6BABC9E2112");end, + -- From b617 scripts: + -- + -- CAM::_21E253A7F8DA5DFB("DINGHY"); + -- CAM::_21E253A7F8DA5DFB("ISSI2"); + -- CAM::_21E253A7F8DA5DFB("SPEEDO"); + ["_SET_GAMEPLAY_CAM_VEHICLE_CAMERA"]=--[[void]] function(--[[string]] vehicleName)native_invoker.begin_call();native_invoker.push_arg_string(vehicleName);native_invoker.end_call("21E253A7F8DA5DFB");end, + ["_SET_GAMEPLAY_CAM_VEHICLE_CAMERA_NAME"]=--[[void]] function(--[[Hash (int)]] vehicleModel)native_invoker.begin_call();native_invoker.push_arg_int(vehicleModel);native_invoker.end_call("11FA5D3479C7DD47");end, + ["_0xEAF0FA793D05C592"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("EAF0FA793D05C592");return native_invoker.get_return_value_int();end, + ["_0x62374889A4D59F72"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("62374889A4D59F72");end, + ["_REPLAY_FREE_CAM_GET_MAX_RANGE"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("8BFCEB5EA1B161B6");return native_invoker.get_return_value_float();end, +} +CLOCK={ + -- SET_CLOCK_TIME(12, 34, 56); + ["SET_CLOCK_TIME"]=--[[void]] function(--[[int]] hour,--[[int]] minute,--[[int]] second)native_invoker.begin_call();native_invoker.push_arg_int(hour);native_invoker.push_arg_int(minute);native_invoker.push_arg_int(second);native_invoker.end_call("47C3B5848C3E45D8");end, + ["PAUSE_CLOCK"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("4055E40BD2DBEC1D");end, + ["ADVANCE_CLOCK_TIME_TO"]=--[[void]] function(--[[int]] hour,--[[int]] minute,--[[int]] second)native_invoker.begin_call();native_invoker.push_arg_int(hour);native_invoker.push_arg_int(minute);native_invoker.push_arg_int(second);native_invoker.end_call("C8CA9670B9D83B3B");end, + ["ADD_TO_CLOCK_TIME"]=--[[void]] function(--[[int]] hours,--[[int]] minutes,--[[int]] seconds)native_invoker.begin_call();native_invoker.push_arg_int(hours);native_invoker.push_arg_int(minutes);native_invoker.push_arg_int(seconds);native_invoker.end_call("D716F30D8C8980E2");end, + -- Gets the current ingame hour, expressed without zeros. (09:34 will be represented as 9) + ["GET_CLOCK_HOURS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("25223CA6B4D20B7F");return native_invoker.get_return_value_int();end, + -- Gets the current ingame clock minute. + ["GET_CLOCK_MINUTES"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("13D2B8ADD79640F2");return native_invoker.get_return_value_int();end, + -- Gets the current ingame clock second. Note that ingame clock seconds change really fast since a day in GTA is only 48 minutes in real life. + ["GET_CLOCK_SECONDS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("494E97C2EF27C470");return native_invoker.get_return_value_int();end, + ["SET_CLOCK_DATE"]=--[[void]] function(--[[int]] day,--[[int]] month,--[[int]] year)native_invoker.begin_call();native_invoker.push_arg_int(day);native_invoker.push_arg_int(month);native_invoker.push_arg_int(year);native_invoker.end_call("B096419DF0D06CE7");end, + -- Gets the current day of the week. + -- + -- 0: Sunday + -- 1: Monday + -- 2: Tuesday + -- 3: Wednesday + -- 4: Thursday + -- 5: Friday + -- 6: Saturday + ["GET_CLOCK_DAY_OF_WEEK"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("D972E4BD7AEB235F");return native_invoker.get_return_value_int();end, + ["GET_CLOCK_DAY_OF_MONTH"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("3D10BC92A4DB1D35");return native_invoker.get_return_value_int();end, + ["GET_CLOCK_MONTH"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("BBC72712E80257A1");return native_invoker.get_return_value_int();end, + ["GET_CLOCK_YEAR"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("961777E64BDAF717");return native_invoker.get_return_value_int();end, + ["GET_MILLISECONDS_PER_GAME_MINUTE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("2F8B4D1C595B11DB");return native_invoker.get_return_value_int();end, + -- Gets system time as year, month, day, hour, minute and second. + -- + -- Example usage: + -- + -- int year; + -- int month; + -- int day; + -- int hour; + -- int minute; + -- int second; + -- + -- TIME::GET_POSIX_TIME(&year, &month, &day, &hour, &minute, &second); + -- + ["GET_POSIX_TIME"]=--[[void]] function(--[[int* (pointer)]] year,--[[int* (pointer)]] month,--[[int* (pointer)]] day,--[[int* (pointer)]] hour,--[[int* (pointer)]] minute,--[[int* (pointer)]] second)native_invoker.begin_call();native_invoker.push_arg_pointer(year);native_invoker.push_arg_pointer(month);native_invoker.push_arg_pointer(day);native_invoker.push_arg_pointer(hour);native_invoker.push_arg_pointer(minute);native_invoker.push_arg_pointer(second);native_invoker.end_call("DA488F299A5B164E");end, + -- Gets current UTC time + ["GET_UTC_TIME"]=--[[void]] function(--[[int* (pointer)]] year,--[[int* (pointer)]] month,--[[int* (pointer)]] day,--[[int* (pointer)]] hour,--[[int* (pointer)]] minute,--[[int* (pointer)]] second)native_invoker.begin_call();native_invoker.push_arg_pointer(year);native_invoker.push_arg_pointer(month);native_invoker.push_arg_pointer(day);native_invoker.push_arg_pointer(hour);native_invoker.push_arg_pointer(minute);native_invoker.push_arg_pointer(second);native_invoker.end_call("8117E09A19EEF4D3");end, + -- Gets local system time as year, month, day, hour, minute and second. + -- + -- Example usage: + -- + -- int year; + -- int month; + -- int day; + -- int hour; + -- int minute; + -- int second; + -- or use std::tm struct + -- + -- TIME::GET_LOCAL_TIME(&year, &month, &day, &hour, &minute, &second); + -- + ["GET_LOCAL_TIME"]=--[[void]] function(--[[int* (pointer)]] year,--[[int* (pointer)]] month,--[[int* (pointer)]] day,--[[int* (pointer)]] hour,--[[int* (pointer)]] minute,--[[int* (pointer)]] second)native_invoker.begin_call();native_invoker.push_arg_pointer(year);native_invoker.push_arg_pointer(month);native_invoker.push_arg_pointer(day);native_invoker.push_arg_pointer(hour);native_invoker.push_arg_pointer(minute);native_invoker.push_arg_pointer(second);native_invoker.end_call("50C7A99057A69748");end, +} +CUTSCENE={ + -- flags: Usually 8 + ["REQUEST_CUTSCENE"]=--[[void]] function(--[[string]] cutsceneName,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneName);native_invoker.push_arg_int(flags);native_invoker.end_call("7A86743F475D9E09");end, + -- flags: Usually 8 + -- + -- playbackFlags: Which scenes should be played. + -- Example: 0x105 (bit 0, 2 and 8 set) will enable scene 1, 3 and 9. + ["REQUEST_CUTSCENE_WITH_PLAYBACK_LIST"]=--[[void]] function(--[[string]] cutsceneName,--[[int]] playbackFlags,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneName);native_invoker.push_arg_int(playbackFlags);native_invoker.push_arg_int(flags);native_invoker.end_call("C23DE0E91C30B58C");end, + ["REMOVE_CUTSCENE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("440AF51A3462B86F");end, + ["HAS_CUTSCENE_LOADED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C59F528E9AB9F339");return native_invoker.get_return_value_bool();end, + ["HAS_THIS_CUTSCENE_LOADED"]=--[[BOOL (bool)]] function(--[[string]] cutsceneName)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneName);native_invoker.end_call("228D3D94F8A11C3C");return native_invoker.get_return_value_bool();end, + -- SET_SCRIPT_* + -- + -- Sets the cutscene's owning thread ID. + ["_0x8D9DF6ECA8768583"]=--[[void]] function(--[[int]] threadId)native_invoker.begin_call();native_invoker.push_arg_int(threadId);native_invoker.end_call("8D9DF6ECA8768583");end, + ["CAN_REQUEST_ASSETS_FOR_CUTSCENE_ENTITY"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B56BBBCC2955D9CB");return native_invoker.get_return_value_bool();end, + ["IS_CUTSCENE_PLAYBACK_FLAG_SET"]=--[[BOOL (bool)]] function(--[[int]] flag)native_invoker.begin_call();native_invoker.push_arg_int(flag);native_invoker.end_call("71B74D2AE19338D0");return native_invoker.get_return_value_bool();end, + ["SET_CUTSCENE_ENTITY_STREAMING_FLAGS"]=--[[void]] function(--[[string]] cutsceneEntName,--[[int]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneEntName);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("4C61C75BEE8184C2");end, + -- Simply loads the cutscene and doesn't do extra stuff that REQUEST_CUTSCENE does. + ["REQUEST_CUT_FILE"]=--[[void]] function(--[[string]] cutsceneName)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneName);native_invoker.end_call("06A3524161C502BA");end, + -- Simply checks if the cutscene has loaded and doesn't check via CutSceneManager as opposed to HAS_[THIS]_CUTSCENE_LOADED. + ["HAS_CUT_FILE_LOADED"]=--[[BOOL (bool)]] function(--[[string]] cutsceneName)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneName);native_invoker.end_call("A1C996C2A744262E");return native_invoker.get_return_value_bool();end, + -- Simply unloads the cutscene and doesn't do extra stuff that REMOVE_CUTSCENE does. + ["REMOVE_CUT_FILE"]=--[[void]] function(--[[string]] cutsceneName)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneName);native_invoker.end_call("D00D76A7DFC9D852");end, + -- Jenkins hash probably is 0xFD8B1AC2 + ["_GET_CUT_FILE_NUM_SECTIONS"]=--[[int]] function(--[[string]] cutsceneName)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneName);native_invoker.end_call("0ABC54DE641DC0FC");return native_invoker.get_return_value_int();end, + -- flags: Usually 0. + ["START_CUTSCENE"]=--[[void]] function(--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(flags);native_invoker.end_call("186D5CB5E7B0FF7B");end, + -- flags: Usually 0. + ["START_CUTSCENE_AT_COORDS"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(flags);native_invoker.end_call("1C9ADDA3244A1FBF");end, + ["STOP_CUTSCENE"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("C7272775B4DC786E");end, + ["STOP_CUTSCENE_IMMEDIATELY"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D220BDD222AC4A1E");end, + -- p3 could be heading. Needs more research. + ["SET_CUTSCENE_ORIGIN"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p3,--[[int]] p4)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("B812B3FD1C01CF27");end, + ["_0x011883F41211432A"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[int]] p6)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(p6);native_invoker.end_call("011883F41211432A");end, + ["GET_CUTSCENE_TIME"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("E625BEABBAFFDAB9");return native_invoker.get_return_value_int();end, + ["GET_CUTSCENE_TOTAL_DURATION"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("EE53B14A19E480D4");return native_invoker.get_return_value_int();end, + -- GET_CUTSCENE_* + ["_0x971D7B15BCDBEF99"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("971D7B15BCDBEF99");return native_invoker.get_return_value_int();end, + ["WAS_CUTSCENE_SKIPPED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("40C8656EDAEDD569");return native_invoker.get_return_value_bool();end, + ["HAS_CUTSCENE_FINISHED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("7C0A893088881D57");return native_invoker.get_return_value_bool();end, + ["IS_CUTSCENE_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("991251AFC3981F84");return native_invoker.get_return_value_bool();end, + ["IS_CUTSCENE_PLAYING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D3C2E180A40F031E");return native_invoker.get_return_value_bool();end, + ["GET_CUTSCENE_SECTION_PLAYING"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("49010A6A396553D8");return native_invoker.get_return_value_int();end, + ["GET_ENTITY_INDEX_OF_CUTSCENE_ENTITY"]=--[[Entity (int)]] function(--[[string]] cutsceneEntName,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneEntName);native_invoker.push_arg_int(modelHash);native_invoker.end_call("0A2E9FDB9A8C62F6");return native_invoker.get_return_value_int();end, + ["_0x583DF8E3D4AFBD98"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("583DF8E3D4AFBD98");return native_invoker.get_return_value_int();end, + -- This function is hard-coded to always return 1. + ["_0x4CEBC1ED31E8925E"]=--[[BOOL (bool)]] function(--[[string]] cutsceneName)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneName);native_invoker.end_call("4CEBC1ED31E8925E");return native_invoker.get_return_value_bool();end, + ["_0x4FCD976DA686580C"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("4FCD976DA686580C");return native_invoker.get_return_value_int();end, + ["REGISTER_ENTITY_FOR_CUTSCENE"]=--[[void]] function(--[[Ped (int)]] cutscenePed,--[[string]] cutsceneEntName,--[[int]] p2,--[[Hash (int)]] modelHash,--[[int]] p4)native_invoker.begin_call();native_invoker.push_arg_int(cutscenePed);native_invoker.push_arg_string(cutsceneEntName);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_int(p4);native_invoker.end_call("E40C1C56DF95C2E8");end, + ["GET_ENTITY_INDEX_OF_REGISTERED_ENTITY"]=--[[Entity (int)]] function(--[[string]] cutsceneEntName,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneEntName);native_invoker.push_arg_int(modelHash);native_invoker.end_call("C0741A26499654CD");return native_invoker.get_return_value_int();end, + -- SET_VEHICLE_* + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["_0x7F96F23FA9B73327"]=--[[void]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("7F96F23FA9B73327");end, + -- Only used twice in R* scripts + ["SET_CUTSCENE_TRIGGER_AREA"]=--[[void]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.end_call("9896CE4721BE84BA");end, + -- modelHash (p1) was always 0 in R* scripts + ["CAN_SET_ENTER_STATE_FOR_REGISTERED_ENTITY"]=--[[BOOL (bool)]] function(--[[string]] cutsceneEntName,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneEntName);native_invoker.push_arg_int(modelHash);native_invoker.end_call("645D0B458D8E17B5");return native_invoker.get_return_value_bool();end, + ["CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY"]=--[[BOOL (bool)]] function(--[[string]] cutsceneEntName,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneEntName);native_invoker.push_arg_int(modelHash);native_invoker.end_call("4C6A6451C79E4662");return native_invoker.get_return_value_bool();end, + ["CAN_SET_EXIT_STATE_FOR_CAMERA"]=--[[BOOL (bool)]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("B2CBCD0930DFB420");return native_invoker.get_return_value_bool();end, + -- Toggles a value (bool) for cutscenes. + -- + -- SET_* + ["_0xC61B86C9F61EB404"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("C61B86C9F61EB404");end, + ["SET_CUTSCENE_FADE_VALUES"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("8093F23ABACCC7D4");end, + ["_0x20746F7B1032A3C7"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("20746F7B1032A3C7");end, + ["_0x06EE9048FD080382"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("06EE9048FD080382");end, + ["_0xA0FE76168A189DDB"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("A0FE76168A189DDB");return native_invoker.get_return_value_int();end, + ["_0x2F137B508DE238F2"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("2F137B508DE238F2");end, + ["_0xE36A98D8AB3D3C66"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("E36A98D8AB3D3C66");end, + ["_0x5EDEF0CF8C1DAB3C"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("5EDEF0CF8C1DAB3C");return native_invoker.get_return_value_int();end, + ["_0x41FAA8FB2ECE8720"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("41FAA8FB2ECE8720");end, + ["REGISTER_SYNCHRONISED_SCRIPT_SPEECH"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2131046957F31B04");end, + -- Full list of ped components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedComponentVariations.json + ["SET_CUTSCENE_PED_COMPONENT_VARIATION"]=--[[void]] function(--[[string]] cutsceneEntName,--[[int]] p1,--[[int]] p2,--[[int]] p3,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneEntName);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(modelHash);native_invoker.end_call("BA01E7B6DEEFBBC9");end, + ["SET_CUTSCENE_PED_COMPONENT_VARIATION_FROM_PED"]=--[[void]] function(--[[string]] cutsceneEntName,--[[Ped (int)]] ped,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneEntName);native_invoker.push_arg_int(ped);native_invoker.push_arg_int(modelHash);native_invoker.end_call("2A56C06EBEF2B0D9");end, + ["DOES_CUTSCENE_ENTITY_EXIST"]=--[[BOOL (bool)]] function(--[[string]] cutsceneEntName,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneEntName);native_invoker.push_arg_int(modelHash);native_invoker.end_call("499EF20C5DB25C59");return native_invoker.get_return_value_bool();end, + -- Thanks R*! ;) + -- + -- if ((l_161 == 0) || (l_161 == 2)) { + -- sub_2ea27("Trying to set Jimmy prop variation"); + -- CUTSCENE::_0546524ADE2E9723("Jimmy_Boston", 1, 0, 0, 0); + -- } + -- + -- Full list of ped components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedComponentVariations.json + ["SET_CUTSCENE_PED_PROP_VARIATION"]=--[[void]] function(--[[string]] cutsceneEntName,--[[int]] p1,--[[int]] p2,--[[int]] p3,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_string(cutsceneEntName);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(modelHash);native_invoker.end_call("0546524ADE2E9723");end, + -- HAS_CUTSCENE_* + -- Possibly HAS_CUTSCENE_CUT_THIS_FRAME, needs more research. + ["_HAS_CUTSCENE_CUT_THIS_FRAME"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("708BDD8CD795B043");return native_invoker.get_return_value_bool();end, +} +DATAFILE={ + -- Adds the given request ID to the watch list. + ["DATAFILE_WATCH_REQUEST_ID"]=--[[void]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("AD6875BBC0FC899C");end, + ["DATAFILE_CLEAR_WATCH_LIST"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6CC86E78358D5119");end, + ["DATAFILE_IS_VALID_REQUEST_ID"]=--[[BOOL (bool)]] function(--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.end_call("FCCAE5B92A830878");return native_invoker.get_return_value_bool();end, + ["DATAFILE_HAS_LOADED_FILE_DATA"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("15FF52B809DB2353");return native_invoker.get_return_value_bool();end, + ["DATAFILE_HAS_VALID_FILE_DATA"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F8CC1EBE0B62E29F");return native_invoker.get_return_value_bool();end, + ["DATAFILE_SELECT_ACTIVE_FILE"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("22DA66936E0FFF37");return native_invoker.get_return_value_bool();end, + ["DATAFILE_DELETE_REQUESTED_FILE"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8F5EA1C01D65A100");return native_invoker.get_return_value_bool();end, + ["UGC_CREATE_CONTENT"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] data,--[[int]] dataCount,--[[string]] contentName,--[[string]] description,--[[string]] tagsCsv,--[[string]] contentTypeName,--[[BOOL (bool)]] publish)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.push_arg_int(dataCount);native_invoker.push_arg_string(contentName);native_invoker.push_arg_string(description);native_invoker.push_arg_string(tagsCsv);native_invoker.push_arg_string(contentTypeName);native_invoker.push_arg_bool(publish);native_invoker.end_call("C84527E235FCA219");return native_invoker.get_return_value_bool();end, + ["UGC_CREATE_MISSION"]=--[[BOOL (bool)]] function(--[[string]] contentName,--[[string]] description,--[[string]] tagsCsv,--[[string]] contentTypeName,--[[BOOL (bool)]] publish)native_invoker.begin_call();native_invoker.push_arg_string(contentName);native_invoker.push_arg_string(description);native_invoker.push_arg_string(tagsCsv);native_invoker.push_arg_string(contentTypeName);native_invoker.push_arg_bool(publish);native_invoker.end_call("A5EFC3E847D60507");return native_invoker.get_return_value_bool();end, + ["UGC_UPDATE_CONTENT"]=--[[BOOL (bool)]] function(--[[string]] contentId,--[[Any* (pointer)]] data,--[[int]] dataCount,--[[string]] contentName,--[[string]] description,--[[string]] tagsCsv,--[[string]] contentTypeName)native_invoker.begin_call();native_invoker.push_arg_string(contentId);native_invoker.push_arg_pointer(data);native_invoker.push_arg_int(dataCount);native_invoker.push_arg_string(contentName);native_invoker.push_arg_string(description);native_invoker.push_arg_string(tagsCsv);native_invoker.push_arg_string(contentTypeName);native_invoker.end_call("648E7A5434AF7969");return native_invoker.get_return_value_bool();end, + ["UGC_UPDATE_MISSION"]=--[[BOOL (bool)]] function(--[[string]] contentId,--[[string]] contentName,--[[string]] description,--[[string]] tagsCsv,--[[string]] contentTypeName)native_invoker.begin_call();native_invoker.push_arg_string(contentId);native_invoker.push_arg_string(contentName);native_invoker.push_arg_string(description);native_invoker.push_arg_string(tagsCsv);native_invoker.push_arg_string(contentTypeName);native_invoker.end_call("4645DE9980999E93");return native_invoker.get_return_value_bool();end, + ["UGC_SET_PLAYER_DATA"]=--[[BOOL (bool)]] function(--[[string]] contentId,--[[float]] rating,--[[string]] contentTypeName)native_invoker.begin_call();native_invoker.push_arg_string(contentId);native_invoker.push_arg_float(rating);native_invoker.push_arg_string(contentTypeName);native_invoker.end_call("692D808C34A82143");return native_invoker.get_return_value_bool();end, + ["DATAFILE_SELECT_UGC_DATA"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A69AC4ADE82B57A4");return native_invoker.get_return_value_bool();end, + ["DATAFILE_SELECT_UGC_STATS"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("9CB0BFA7A9342C3D");return native_invoker.get_return_value_bool();end, + ["DATAFILE_SELECT_UGC_PLAYER_DATA"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("52818819057F2B40");return native_invoker.get_return_value_bool();end, + -- if ((NETWORK::_597F8DBA9B206FC7() > 0) && DATAFILE::_01095C95CD46B624(0)) { + -- v_10 = DATAFILE::_GET_ROOT_OBJECT(); + -- v_11 = DATAFILE::_OBJECT_VALUE_GET_INTEGER(v_10, "pt"); + -- sub_20202(2, v_11); + -- a_0 += 1; + -- } else { + -- a_0 += 1; + -- } + -- + ["DATAFILE_SELECT_CREATOR_STATS"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("01095C95CD46B624");return native_invoker.get_return_value_bool();end, + -- Loads a User-Generated Content (UGC) file. These files can be found in "[GTA5]\data\ugc" and "[GTA5]\common\patch\ugc". They seem to follow a naming convention, most likely of "[name]_[part].ugc". See example below for usage. + -- + -- Returns whether or not the file was successfully loaded. + -- + -- Example: + -- DATAFILE::_LOAD_UGC_FILE("RockstarPlaylists") // loads "rockstarplaylists_00.ugc" + ["DATAFILE_LOAD_OFFLINE_UGC"]=--[[BOOL (bool)]] function(--[[string]] filename)native_invoker.begin_call();native_invoker.push_arg_string(filename);native_invoker.end_call("C5238C011AF405E4");return native_invoker.get_return_value_bool();end, + ["DATAFILE_CREATE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D27058A1CA2B13EE");end, + ["DATAFILE_DELETE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9AB9C1CFC8862DFB");end, + ["DATAFILE_STORE_MISSION_HEADER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2ED61456317B8178");end, + ["DATAFILE_FLUSH_MISSION_HEADER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C55854C7D7274882");end, + ["DATAFILE_GET_FILE_DICT"]=--[[string]] function()native_invoker.begin_call();native_invoker.end_call("906B778CA1DC72B6");return native_invoker.get_return_value_string();end, + ["DATAFILE_START_SAVE_TO_CLOUD"]=--[[BOOL (bool)]] function(--[[string]] filename)native_invoker.begin_call();native_invoker.push_arg_string(filename);native_invoker.end_call("83BCCE3224735F05");return native_invoker.get_return_value_bool();end, + ["DATAFILE_UPDATE_SAVE_TO_CLOUD"]=--[[BOOL (bool)]] function(--[[BOOL* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("4DFDD9EB705F8140");return native_invoker.get_return_value_bool();end, + -- Example: + -- if (!DATAFILE::_BEDB96A7584AA8CF()) + -- { + -- if (!g_109E3) + -- { + -- if (((sub_d4f() == 2) == 0) && (!NETWORK::NETWORK_IS_GAME_IN_PROGRESS())) + -- { + -- if (NETWORK::NETWORK_IS_CLOUD_AVAILABLE()) + -- { + -- g_17A8B = 0; + -- } + -- if (!g_D52C) + -- { + -- sub_730(); + -- } + -- } + -- } + -- } + -- + -- + ["DATAFILE_IS_SAVE_PENDING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("BEDB96A7584AA8CF");return native_invoker.get_return_value_bool();end, + ["_0xA6EEF01087181EDD"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("A6EEF01087181EDD");return native_invoker.get_return_value_int();end, + ["_0x6AD0BD5E087866CB"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6AD0BD5E087866CB");end, + ["_0xDBF860CF1DB8E599"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DBF860CF1DB8E599");return native_invoker.get_return_value_int();end, + ["DATADICT_SET_BOOL"]=--[[void]] function(--[[Any* (pointer)]] objectData,--[[string]] key,--[[BOOL (bool)]] value)native_invoker.begin_call();native_invoker.push_arg_pointer(objectData);native_invoker.push_arg_string(key);native_invoker.push_arg_bool(value);native_invoker.end_call("35124302A556A325");end, + ["DATADICT_SET_INT"]=--[[void]] function(--[[Any* (pointer)]] objectData,--[[string]] key,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_pointer(objectData);native_invoker.push_arg_string(key);native_invoker.push_arg_int(value);native_invoker.end_call("E7E035450A7948D5");end, + ["DATADICT_SET_FLOAT"]=--[[void]] function(--[[Any* (pointer)]] objectData,--[[string]] key,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_pointer(objectData);native_invoker.push_arg_string(key);native_invoker.push_arg_float(value);native_invoker.end_call("C27E1CC2D795105E");end, + ["DATADICT_SET_STRING"]=--[[void]] function(--[[Any* (pointer)]] objectData,--[[string]] key,--[[string]] value)native_invoker.begin_call();native_invoker.push_arg_pointer(objectData);native_invoker.push_arg_string(key);native_invoker.push_arg_string(value);native_invoker.end_call("8FF3847DADD8E30C");end, + ["DATADICT_SET_VECTOR"]=--[[void]] function(--[[Any* (pointer)]] objectData,--[[string]] key,--[[float]] valueX,--[[float]] valueY,--[[float]] valueZ)native_invoker.begin_call();native_invoker.push_arg_pointer(objectData);native_invoker.push_arg_string(key);native_invoker.push_arg_float(valueX);native_invoker.push_arg_float(valueY);native_invoker.push_arg_float(valueZ);native_invoker.end_call("4CD49B76338C7DEE");end, + ["DATADICT_GET_BOOL"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] objectData,--[[string]] key)native_invoker.begin_call();native_invoker.push_arg_pointer(objectData);native_invoker.push_arg_string(key);native_invoker.end_call("1186940ED72FFEEC");return native_invoker.get_return_value_bool();end, + ["DATADICT_GET_INT"]=--[[int]] function(--[[Any* (pointer)]] objectData,--[[string]] key)native_invoker.begin_call();native_invoker.push_arg_pointer(objectData);native_invoker.push_arg_string(key);native_invoker.end_call("78F06F6B1FB5A80C");return native_invoker.get_return_value_int();end, + ["DATADICT_GET_FLOAT"]=--[[float]] function(--[[Any* (pointer)]] objectData,--[[string]] key)native_invoker.begin_call();native_invoker.push_arg_pointer(objectData);native_invoker.push_arg_string(key);native_invoker.end_call("06610343E73B9727");return native_invoker.get_return_value_float();end, + ["DATADICT_GET_STRING"]=--[[string]] function(--[[Any* (pointer)]] objectData,--[[string]] key)native_invoker.begin_call();native_invoker.push_arg_pointer(objectData);native_invoker.push_arg_string(key);native_invoker.end_call("3D2FD9E763B24472");return native_invoker.get_return_value_string();end, + ["DATADICT_GET_VECTOR"]=--[[Vector3 (vector3)]] function(--[[Any* (pointer)]] objectData,--[[string]] key)native_invoker.begin_call();native_invoker.push_arg_pointer(objectData);native_invoker.push_arg_string(key);native_invoker.end_call("46CD3CB66E0825CC");return native_invoker.get_return_value_vector3();end, + -- Types: + -- 1 = Boolean + -- 2 = Integer + -- 3 = Float + -- 4 = String + -- 5 = Vector3 + -- 6 = Object + -- 7 = Array + ["DATADICT_GET_TYPE"]=--[[int]] function(--[[Any* (pointer)]] objectData,--[[string]] key)native_invoker.begin_call();native_invoker.push_arg_pointer(objectData);native_invoker.push_arg_string(key);native_invoker.end_call("031C55ED33227371");return native_invoker.get_return_value_int();end, + ["DATAARRAY_ADD_BOOL"]=--[[void]] function(--[[Any* (pointer)]] arrayData,--[[BOOL (bool)]] value)native_invoker.begin_call();native_invoker.push_arg_pointer(arrayData);native_invoker.push_arg_bool(value);native_invoker.end_call("F8B0F5A43E928C76");end, + ["DATAARRAY_ADD_INT"]=--[[void]] function(--[[Any* (pointer)]] arrayData,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_pointer(arrayData);native_invoker.push_arg_int(value);native_invoker.end_call("CABDB751D86FE93B");end, + ["DATAARRAY_ADD_FLOAT"]=--[[void]] function(--[[Any* (pointer)]] arrayData,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_pointer(arrayData);native_invoker.push_arg_float(value);native_invoker.end_call("57A995FD75D37F56");end, + ["DATAARRAY_ADD_STRING"]=--[[void]] function(--[[Any* (pointer)]] arrayData,--[[string]] value)native_invoker.begin_call();native_invoker.push_arg_pointer(arrayData);native_invoker.push_arg_string(value);native_invoker.end_call("2F0661C155AEEEAA");end, + ["DATAARRAY_ADD_VECTOR"]=--[[void]] function(--[[Any* (pointer)]] arrayData,--[[float]] valueX,--[[float]] valueY,--[[float]] valueZ)native_invoker.begin_call();native_invoker.push_arg_pointer(arrayData);native_invoker.push_arg_float(valueX);native_invoker.push_arg_float(valueY);native_invoker.push_arg_float(valueZ);native_invoker.end_call("407F8D034F70F0C2");end, + ["DATAARRAY_GET_BOOL"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] arrayData,--[[int]] arrayIndex)native_invoker.begin_call();native_invoker.push_arg_pointer(arrayData);native_invoker.push_arg_int(arrayIndex);native_invoker.end_call("50C1B2874E50C114");return native_invoker.get_return_value_bool();end, + ["DATAARRAY_GET_INT"]=--[[int]] function(--[[Any* (pointer)]] arrayData,--[[int]] arrayIndex)native_invoker.begin_call();native_invoker.push_arg_pointer(arrayData);native_invoker.push_arg_int(arrayIndex);native_invoker.end_call("3E5AE19425CD74BE");return native_invoker.get_return_value_int();end, + ["DATAARRAY_GET_FLOAT"]=--[[float]] function(--[[Any* (pointer)]] arrayData,--[[int]] arrayIndex)native_invoker.begin_call();native_invoker.push_arg_pointer(arrayData);native_invoker.push_arg_int(arrayIndex);native_invoker.end_call("C0C527B525D7CFB5");return native_invoker.get_return_value_float();end, + ["DATAARRAY_GET_STRING"]=--[[string]] function(--[[Any* (pointer)]] arrayData,--[[int]] arrayIndex)native_invoker.begin_call();native_invoker.push_arg_pointer(arrayData);native_invoker.push_arg_int(arrayIndex);native_invoker.end_call("D3F2FFEB8D836F52");return native_invoker.get_return_value_string();end, + ["DATAARRAY_GET_VECTOR"]=--[[Vector3 (vector3)]] function(--[[Any* (pointer)]] arrayData,--[[int]] arrayIndex)native_invoker.begin_call();native_invoker.push_arg_pointer(arrayData);native_invoker.push_arg_int(arrayIndex);native_invoker.end_call("8D2064E5B64A628A");return native_invoker.get_return_value_vector3();end, + ["DATAARRAY_GET_COUNT"]=--[[int]] function(--[[Any* (pointer)]] arrayData)native_invoker.begin_call();native_invoker.push_arg_pointer(arrayData);native_invoker.end_call("065DB281590CEA2D");return native_invoker.get_return_value_int();end, + -- Types: + -- 1 = Boolean + -- 2 = Integer + -- 3 = Float + -- 4 = String + -- 5 = Vector3 + -- 6 = Object + -- 7 = Array + ["DATAARRAY_GET_TYPE"]=--[[int]] function(--[[Any* (pointer)]] arrayData,--[[int]] arrayIndex)native_invoker.begin_call();native_invoker.push_arg_pointer(arrayData);native_invoker.push_arg_int(arrayIndex);native_invoker.end_call("3A0014ADB172A3C5");return native_invoker.get_return_value_int();end, +} +DECORATOR={ + ["DECOR_SET_TIME"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[string]] propertyName,--[[int]] timestamp)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(propertyName);native_invoker.push_arg_int(timestamp);native_invoker.end_call("95AED7B8E39ECAA4");return native_invoker.get_return_value_bool();end, + -- This function sets metadata of type bool to specified entity. + -- + ["DECOR_SET_BOOL"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[string]] propertyName,--[[BOOL (bool)]] value)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(propertyName);native_invoker.push_arg_bool(value);native_invoker.end_call("6B1E8E2ED1335B71");return native_invoker.get_return_value_bool();end, + ["DECOR_SET_FLOAT"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[string]] propertyName,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(propertyName);native_invoker.push_arg_float(value);native_invoker.end_call("211AB1DD8D0F363A");return native_invoker.get_return_value_bool();end, + -- Sets property to int. + ["DECOR_SET_INT"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[string]] propertyName,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(propertyName);native_invoker.push_arg_int(value);native_invoker.end_call("0CE3AA5E1CA19E10");return native_invoker.get_return_value_bool();end, + ["DECOR_GET_BOOL"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[string]] propertyName)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(propertyName);native_invoker.end_call("DACE671663F2F5DB");return native_invoker.get_return_value_bool();end, + ["DECOR_GET_FLOAT"]=--[[float]] function(--[[Entity (int)]] entity,--[[string]] propertyName)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(propertyName);native_invoker.end_call("6524A2F114706F43");return native_invoker.get_return_value_float();end, + ["DECOR_GET_INT"]=--[[int]] function(--[[Entity (int)]] entity,--[[string]] propertyName)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(propertyName);native_invoker.end_call("A06C969B02A97298");return native_invoker.get_return_value_int();end, + -- Returns whether or not the specified property is set for the entity. + ["DECOR_EXIST_ON"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[string]] propertyName)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(propertyName);native_invoker.end_call("05661B80A8C9165F");return native_invoker.get_return_value_bool();end, + ["DECOR_REMOVE"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[string]] propertyName)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(propertyName);native_invoker.end_call("00EE9F297C738720");return native_invoker.get_return_value_bool();end, + -- https://alloc8or.re/gta5/doc/enums/eDecorType.txt + ["DECOR_REGISTER"]=--[[void]] function(--[[string]] propertyName,--[[int]] type)native_invoker.begin_call();native_invoker.push_arg_string(propertyName);native_invoker.push_arg_int(type);native_invoker.end_call("9FD90732F56403CE");end, + -- type: see DECOR_REGISTER + ["DECOR_IS_REGISTERED_AS_TYPE"]=--[[BOOL (bool)]] function(--[[string]] propertyName,--[[int]] type)native_invoker.begin_call();native_invoker.push_arg_string(propertyName);native_invoker.push_arg_int(type);native_invoker.end_call("4F14F9F870D6FBC8");return native_invoker.get_return_value_bool();end, + -- Called after all decorator type initializations. + ["DECOR_REGISTER_LOCK"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A9D14EEA259F9248");end, +} +DLC={ + -- Only used once in scripts, in maintransition. + -- + -- maintransition.c4, line ~82432: + -- if (PED::_7350823473013C02(PLAYER::PLAYER_PED_ID()) && (DECORATOR::_241FCA5B1AA14F75() == 0)) { + -- g_2542A5 = a_1; // 'g_2542A5' used in 'building_controller.ysc' for IPL stuff? + -- return 1; + -- } + -- + -- Likely used solely for the players ped. The function it's in seems to only be used for initialization/quitting. Called among natives to discard scaleforms, disable frontend, fading in/out, etc. Neighboring strings to some calls include "HUD_JOINING", "HUD_QUITTING". + -- + -- Most likely ARE_* + ["_0x241FCA5B1AA14F75"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("241FCA5B1AA14F75");return native_invoker.get_return_value_bool();end, + -- Example: + -- DLC::IS_DLC_PRESENT($\mpbusiness2\); + -- ($ = gethashkey) + -- + -- bruteforce these: + -- 0xB119F6D + -- 0x96F02EE6 + ["IS_DLC_PRESENT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] dlcHash)native_invoker.begin_call();native_invoker.push_arg_int(dlcHash);native_invoker.end_call("812595A0644CE1DE");return native_invoker.get_return_value_bool();end, + -- MulleDK19: This function is hard-coded to always return 1. + ["_0xF2E07819EF1A5289"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("F2E07819EF1A5289");return native_invoker.get_return_value_bool();end, + -- MulleDK19: This function is hard-coded to always return 0. + ["_0x9489659372A81585"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("9489659372A81585");return native_invoker.get_return_value_bool();end, + -- MulleDK19: This function is hard-coded to always return 1. + ["_0xA213B11DFF526300"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A213B11DFF526300");return native_invoker.get_return_value_bool();end, + ["_GET_EXTRA_CONTENT_PACK_HAS_BEEN_INSTALLED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("8D30F648014A92B5");return native_invoker.get_return_value_bool();end, + ["GET_IS_LOADING_SCREEN_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("10D0A8F259E93EC9");return native_invoker.get_return_value_bool();end, + -- GET_IS_LOADING_* + ["_0xC4637A6D03C24CC3"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C4637A6D03C24CC3");return native_invoker.get_return_value_bool();end, + -- Sets the value of the specified variable to 0. + -- Always returns true. + ["HAS_CLOUD_REQUESTS_FINISHED"]=--[[BOOL (bool)]] function(--[[BOOL* (pointer)]] p0,--[[Any (int)]] unused)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(unused);native_invoker.end_call("46E2B844905BC5F0");return native_invoker.get_return_value_bool();end, + -- Unloads GROUP_MAP (GTAO/MP) DLC data and loads GROUP_MAP_SP DLC. Neither are loaded by default, 0888C3502DBBEEF5 is a cognate to this function and loads MP DLC (and unloads SP DLC by extension). + -- + -- The original (and wrong) definition is below: + -- + -- This unload the GTA:O DLC map parts (like high end garages/apartments). + -- Works in singleplayer. + ["ON_ENTER_SP"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D7C10C4A637992C9");end, + -- This loads the GTA:O dlc map parts (high end garages, apartments). + -- Works in singleplayer. + -- In order to use GTA:O heist IPL's you have to call this native with the following params: SET_INSTANCE_PRIORITY_MODE(1); + ["ON_ENTER_MP"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0888C3502DBBEEF5");end, +} +ENTITY={ + -- Checks whether an entity exists in the game world. + ["DOES_ENTITY_EXIST"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("7239B21A38F536BA");return native_invoker.get_return_value_bool();end, + ["DOES_ENTITY_BELONG_TO_THIS_SCRIPT"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(p1);native_invoker.end_call("DDE6DF5AE89981D2");return native_invoker.get_return_value_bool();end, + ["DOES_ENTITY_HAVE_DRAWABLE"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("060D6E96F8B8E48D");return native_invoker.get_return_value_bool();end, + ["DOES_ENTITY_HAVE_PHYSICS"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("DA95EA3317CC5064");return native_invoker.get_return_value_bool();end, + -- P3 is always 3 as far as i cant tell + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["HAS_ENTITY_ANIM_FINISHED"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[string]] animDict,--[[string]] animName,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.push_arg_int(p3);native_invoker.end_call("20B711662962B472");return native_invoker.get_return_value_bool();end, + ["HAS_ENTITY_BEEN_DAMAGED_BY_ANY_OBJECT"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("95EB9964FF5C5C65");return native_invoker.get_return_value_bool();end, + ["HAS_ENTITY_BEEN_DAMAGED_BY_ANY_PED"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("605F5A140F202491");return native_invoker.get_return_value_bool();end, + ["HAS_ENTITY_BEEN_DAMAGED_BY_ANY_VEHICLE"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("DFD5033FDBA0A9C8");return native_invoker.get_return_value_bool();end, + -- Entity 1 = Victim + -- Entity 2 = Attacker + -- + -- p2 seems to always be 1 + ["HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity1,--[[Entity (int)]] entity2,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(entity1);native_invoker.push_arg_int(entity2);native_invoker.push_arg_bool(p2);native_invoker.end_call("C86D67D52A707CF8");return native_invoker.get_return_value_bool();end, + -- traceType is always 17 in the scripts. + -- + -- There is other codes used for traceType: + -- 19 - in jewelry_prep1a + -- 126 - in am_hunt_the_beast + -- 256 & 287 - in fm_mission_controller + ["HAS_ENTITY_CLEAR_LOS_TO_ENTITY"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity1,--[[Entity (int)]] entity2,--[[int]] traceType)native_invoker.begin_call();native_invoker.push_arg_int(entity1);native_invoker.push_arg_int(entity2);native_invoker.push_arg_int(traceType);native_invoker.end_call("FCDFF7B72D23A1AC");return native_invoker.get_return_value_bool();end, + ["_0x394BDE2A7BBA031E"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("394BDE2A7BBA031E");return native_invoker.get_return_value_int();end, + -- Has the entity1 got a clear line of sight to the other entity2 from the direction entity1 is facing. + -- This is one of the most CPU demanding BOOL natives in the game; avoid calling this in things like nested for-loops + ["HAS_ENTITY_CLEAR_LOS_TO_ENTITY_IN_FRONT"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity1,--[[Entity (int)]] entity2)native_invoker.begin_call();native_invoker.push_arg_int(entity1);native_invoker.push_arg_int(entity2);native_invoker.end_call("0267D00AF114F17A");return native_invoker.get_return_value_bool();end, + -- Called on tick. + -- Tested with vehicles, returns true whenever the vehicle is touching any entity. + -- + -- Note: for vehicles, the wheels can touch the ground and it will still return false, but if the body of the vehicle touches the ground, it will return true. + ["HAS_ENTITY_COLLIDED_WITH_ANYTHING"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("8BAD02F0368D9E14");return native_invoker.get_return_value_bool();end, + ["GET_LAST_MATERIAL_HIT_BY_ENTITY"]=--[[Hash (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("5C3D0A935F535C4C");return native_invoker.get_return_value_int();end, + ["GET_COLLISION_NORMAL_OF_LAST_HIT_FOR_ENTITY"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("E465D4AB7CA6AE72");return native_invoker.get_return_value_vector3();end, + -- Based on carmod_shop script decompile this takes a vehicle parameter. It is called when repair is done on initial enter. + ["FORCE_ENTITY_AI_AND_ANIMATION_UPDATE"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("40FDEDB72F8293B2");end, + -- Returns a float value representing animation's current playtime with respect to its total playtime. This value increasing in a range from [0 to 1] and wrap back to 0 when it reach 1. + -- + -- Example: + -- 0.000000 - mark the starting of animation. + -- 0.500000 - mark the midpoint of the animation. + -- 1.000000 - mark the end of animation. + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["GET_ENTITY_ANIM_CURRENT_TIME"]=--[[float]] function(--[[Entity (int)]] entity,--[[string]] animDict,--[[string]] animName)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.end_call("346D81500D088F42");return native_invoker.get_return_value_float();end, + -- Returns a float value representing animation's total playtime in milliseconds. + -- + -- Example: + -- GET_ENTITY_ANIM_TOTAL_TIME(PLAYER_ID(),"amb@world_human_yoga@female@base","base_b") + -- return 20800.000000 + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["GET_ENTITY_ANIM_TOTAL_TIME"]=--[[float]] function(--[[Entity (int)]] entity,--[[string]] animDict,--[[string]] animName)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.end_call("50BD2730B191E360");return native_invoker.get_return_value_float();end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["GET_ANIM_DURATION"]=--[[float]] function(--[[string]] animDict,--[[string]] animName)native_invoker.begin_call();native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.end_call("FEDDF04D62B8D790");return native_invoker.get_return_value_float();end, + ["GET_ENTITY_ATTACHED_TO"]=--[[Entity (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("48C2BED9180FE123");return native_invoker.get_return_value_int();end, + -- Gets the current coordinates for a specified entity. + -- `entity` = The entity to get the coordinates from. + -- `alive` = Unused by the game, potentially used by debug builds of GTA in order to assert whether or not an entity was alive. + ["GET_ENTITY_COORDS"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] alive)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(alive);native_invoker.end_call("3FEF770D40960D5A");return native_invoker.get_return_value_vector3();end, + -- Gets the entity's forward vector. + ["GET_ENTITY_FORWARD_VECTOR"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("0A794A5A57F8DF91");return native_invoker.get_return_value_vector3();end, + -- Gets the X-component of the entity's forward vector. + ["GET_ENTITY_FORWARD_X"]=--[[float]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("8BB4EF4214E0E6D5");return native_invoker.get_return_value_float();end, + -- Gets the Y-component of the entity's forward vector. + ["GET_ENTITY_FORWARD_Y"]=--[[float]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("866A4A5FAE349510");return native_invoker.get_return_value_float();end, + -- Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity. + ["GET_ENTITY_HEADING"]=--[[float]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("E83D4F9BA2A38914");return native_invoker.get_return_value_float();end, + -- Gets the heading of the entity physics in degrees, which tends to be more accurate than just "GET_ENTITY_HEADING". This can be clearly seen while, for example, ragdolling a ped/player. + -- + -- NOTE: The name and description of this native are based on independent research. If you find this native to be more suitable under a different name and/or described differently, please feel free to do so. + -- + -- GET_ENTITY_HEADING_* + ["_GET_ENTITY_PHYSICS_HEADING"]=--[[float]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("846BF6291198A71E");return native_invoker.get_return_value_float();end, + -- Returns an integer value of entity's current health. + -- + -- Example of range for ped: + -- - Player [0 to 200] + -- - Ped [100 to 200] + -- - Vehicle [0 to 1000] + -- - Object [0 to 1000] + -- + -- Health is actually a float value but this native casts it to int. + -- In order to get the actual value, do: + -- float health = *(float *)(entityAddress + 0x280); + ["GET_ENTITY_HEALTH"]=--[[int]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("EEF059FAD016D209");return native_invoker.get_return_value_int();end, + -- Return an integer value of entity's maximum health. + -- + -- Example: + -- - Player = 200 + -- - Ped = 150 + ["GET_ENTITY_MAX_HEALTH"]=--[[int]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("15D757606D170C3C");return native_invoker.get_return_value_int();end, + -- For instance: ENTITY::SET_ENTITY_MAX_HEALTH(PLAYER::PLAYER_PED_ID(), 200); // director_mode.c4: 67849 + ["SET_ENTITY_MAX_HEALTH"]=--[[void]] function(--[[Entity (int)]] entity,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(value);native_invoker.end_call("166E7CF68597D8B5");end, + ["GET_ENTITY_HEIGHT"]=--[[float]] function(--[[Entity (int)]] entity,--[[float]] X,--[[float]] Y,--[[float]] Z,--[[BOOL (bool)]] atTop,--[[BOOL (bool)]] inWorldCoords)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(X);native_invoker.push_arg_float(Y);native_invoker.push_arg_float(Z);native_invoker.push_arg_bool(atTop);native_invoker.push_arg_bool(inWorldCoords);native_invoker.end_call("5A504562485944DD");return native_invoker.get_return_value_float();end, + -- Return height (z-dimension) above ground. + -- Example: The pilot in a titan plane is 1.844176 above ground. + -- + -- How can i convert it to meters? + -- Everything seems to be in meters, probably this too. + ["GET_ENTITY_HEIGHT_ABOVE_GROUND"]=--[[float]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("1DD55701034110E5");return native_invoker.get_return_value_float();end, + ["GET_ENTITY_MATRIX"]=--[[void]] function(--[[Entity (int)]] entity,--[[Vector3* (pointer)]] forwardVector,--[[Vector3* (pointer)]] rightVector,--[[Vector3* (pointer)]] upVector,--[[Vector3* (pointer)]] position)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_pointer(forwardVector);native_invoker.push_arg_pointer(rightVector);native_invoker.push_arg_pointer(upVector);native_invoker.push_arg_pointer(position);native_invoker.end_call("ECB2FC7235A7D137");end, + -- Returns the model hash from the entity + ["GET_ENTITY_MODEL"]=--[[Hash (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("9F47B058362C84B5");return native_invoker.get_return_value_int();end, + -- Converts world coords (posX - Z) to coords relative to the entity + -- + -- Example: + -- posX is given as 50 + -- entity's x coord is 40 + -- the returned x coord will then be 10 or -10, not sure haven't used this in a while (think it is 10 though). + ["GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity,--[[float]] posX,--[[float]] posY,--[[float]] posZ)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.end_call("2274BC1C4885E333");return native_invoker.get_return_value_vector3();end, + -- Offset values are relative to the entity. + -- + -- x = left/right + -- y = forward/backward + -- z = up/down + ["GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.end_call("1899F328B0E12848");return native_invoker.get_return_value_vector3();end, + ["GET_ENTITY_PITCH"]=--[[float]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("D45DC2893621E1FE");return native_invoker.get_return_value_float();end, + -- w is the correct parameter name! + ["GET_ENTITY_QUATERNION"]=--[[void]] function(--[[Entity (int)]] entity,--[[float* (pointer)]] x,--[[float* (pointer)]] y,--[[float* (pointer)]] z,--[[float* (pointer)]] w)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_pointer(x);native_invoker.push_arg_pointer(y);native_invoker.push_arg_pointer(z);native_invoker.push_arg_pointer(w);native_invoker.end_call("7B3703D2D32DFA18");end, + -- Displays the current ROLL axis of the entity [-180.0000/180.0000+] + -- (Sideways Roll) such as a vehicle tipped on its side + ["GET_ENTITY_ROLL"]=--[[float]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("831E0242595560DF");return native_invoker.get_return_value_float();end, + -- rotationOrder is the order yaw, pitch and roll is applied. Usually 2. Returns a vector where the Z coordinate is the yaw. + -- + -- rotationOrder refers to the order yaw pitch roll is applied; value ranges from 0 to 5 and is usually *2* in scripts. + -- What you use for rotationOrder when getting must be the same as rotationOrder when setting the rotation. + -- + -- What it returns is the yaw on the z part of the vector, which makes sense considering R* considers z as vertical. Here's a picture for those of you who don't understand pitch, yaw, and roll: www.allstar.fiu.edu/aero/images/pic5-1.gif + -- + -- Rotation Orders: + -- 0: ZYX - Rotate around the z-axis, then the y-axis and finally the x-axis. + -- 1: YZX - Rotate around the y-axis, then the z-axis and finally the x-axis. + -- 2: ZXY - Rotate around the z-axis, then the x-axis and finally the y-axis. + -- 3: XZY - Rotate around the x-axis, then the z-axis and finally the y-axis. + -- 4: YXZ - Rotate around the y-axis, then the x-axis and finally the z-axis. + -- 5: XYZ - Rotate around the x-axis, then the y-axis and finally the z-axis. + ["GET_ENTITY_ROTATION"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity,--[[int]] rotationOrder)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(rotationOrder);native_invoker.end_call("AFBD61CC738D9EB9");return native_invoker.get_return_value_vector3();end, + ["GET_ENTITY_ROTATION_VELOCITY"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("213B91045D09B983");return native_invoker.get_return_value_vector3();end, + -- All ambient entities in-world seem to have the same value for the second argument (Any *script), depending on when the scripthook was activated/re-activated. I've seen numbers from ~5 to almost 70 when the value was translated with to_string. The function return value seems to always be 0. + ["GET_ENTITY_SCRIPT"]=--[[string]] function(--[[Entity (int)]] entity,--[[ScrHandle* (pointer)]] script)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_pointer(script);native_invoker.end_call("A6E9C38DB51D7748");return native_invoker.get_return_value_string();end, + -- result is in meters per second + -- + -- ------------------------------------------------------------ + -- So would the conversion to mph and km/h, be along the lines of this. + -- + -- float speed = GET_ENTITY_SPEED(veh); + -- float kmh = (speed * 3.6); + -- float mph = (speed * 2.236936); + -- ------------------------------------------------------------ + ["GET_ENTITY_SPEED"]=--[[float]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("D5037BA82E12416F");return native_invoker.get_return_value_float();end, + -- Relative can be used for getting speed relative to the frame of the vehicle, to determine for example, if you are going in reverse (-y speed) or not (+y speed). + ["GET_ENTITY_SPEED_VECTOR"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] relative)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(relative);native_invoker.end_call("9A8D700A51CB7B0D");return native_invoker.get_return_value_vector3();end, + ["GET_ENTITY_UPRIGHT_VALUE"]=--[[float]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("95EED5A694951F9F");return native_invoker.get_return_value_float();end, + ["GET_ENTITY_VELOCITY"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("4805D2B1D8CF94A9");return native_invoker.get_return_value_vector3();end, + -- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). + ["GET_OBJECT_INDEX_FROM_ENTITY_INDEX"]=--[[Object (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("D7E3B9735C0F89D6");return native_invoker.get_return_value_int();end, + -- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). + ["GET_PED_INDEX_FROM_ENTITY_INDEX"]=--[[Ped (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("04A2A40C73395041");return native_invoker.get_return_value_int();end, + -- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). + ["GET_VEHICLE_INDEX_FROM_ENTITY_INDEX"]=--[[Vehicle (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("4B53F92932ADFAC0");return native_invoker.get_return_value_int();end, + -- Returns the coordinates of an entity-bone. + ["GET_WORLD_POSITION_OF_ENTITY_BONE"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity,--[[int]] boneIndex)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(boneIndex);native_invoker.end_call("44A8FCB8ED227738");return native_invoker.get_return_value_vector3();end, + ["GET_NEAREST_PLAYER_TO_ENTITY"]=--[[Player (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("7196842CB375CDB3");return native_invoker.get_return_value_int();end, + ["GET_NEAREST_PLAYER_TO_ENTITY_ON_TEAM"]=--[[Player (int)]] function(--[[Entity (int)]] entity,--[[int]] team)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(team);native_invoker.end_call("4DC9A62F844D9337");return native_invoker.get_return_value_int();end, + -- Returns: + -- 0 = no entity + -- 1 = ped + -- 2 = vehicle + -- 3 = object + ["GET_ENTITY_TYPE"]=--[[int]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("8ACD366038D14505");return native_invoker.get_return_value_int();end, + -- A population type, from the following enum: https://alloc8or.re/gta5/doc/enums/ePopulationType.txt + ["GET_ENTITY_POPULATION_TYPE"]=--[[int]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("F6F5161F4534EDFF");return native_invoker.get_return_value_int();end, + ["IS_AN_ENTITY"]=--[[BOOL (bool)]] function(--[[int]] handle)native_invoker.begin_call();native_invoker.push_arg_int(handle);native_invoker.end_call("731EC8A916BD11A1");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_A_PED"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("524AC5ECEA15343E");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_A_MISSION_ENTITY"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("0A7B270912999B3C");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_A_VEHICLE"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("6AC7003FA6E5575E");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_AN_OBJECT"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("8D68C8FD0FACA94E");return native_invoker.get_return_value_bool();end, + -- Checks if entity is within x/y/zSize distance of x/y/z. + -- + -- Last three are unknown ints, almost always p7 = 0, p8 = 1, p9 = 0 + ["IS_ENTITY_AT_COORD"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[float]] xPos,--[[float]] yPos,--[[float]] zPos,--[[float]] xSize,--[[float]] ySize,--[[float]] zSize,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8,--[[int]] p9)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(xPos);native_invoker.push_arg_float(yPos);native_invoker.push_arg_float(zPos);native_invoker.push_arg_float(xSize);native_invoker.push_arg_float(ySize);native_invoker.push_arg_float(zSize);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("20B60995556D004F");return native_invoker.get_return_value_bool();end, + -- Checks if entity1 is within the box defined by x/y/zSize of entity2. + -- + -- Last three parameters are almost alwasy p5 = 0, p6 = 1, p7 = 0 + ["IS_ENTITY_AT_ENTITY"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity1,--[[Entity (int)]] entity2,--[[float]] xSize,--[[float]] ySize,--[[float]] zSize,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] p6,--[[int]] p7)native_invoker.begin_call();native_invoker.push_arg_int(entity1);native_invoker.push_arg_int(entity2);native_invoker.push_arg_float(xSize);native_invoker.push_arg_float(ySize);native_invoker.push_arg_float(zSize);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_int(p7);native_invoker.end_call("751B70C3D034E187");return native_invoker.get_return_value_bool();end, + -- Whether the entity is attached to any other entity. + ["IS_ENTITY_ATTACHED"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("B346476EF1A64897");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_ATTACHED_TO_ANY_OBJECT"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("CF511840CEEDE0CC");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_ATTACHED_TO_ANY_PED"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("B1632E9A5F988D11");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_ATTACHED_TO_ANY_VEHICLE"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("26AA915AD89BFB4B");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_ATTACHED_TO_ENTITY"]=--[[BOOL (bool)]] function(--[[Entity (int)]] from,--[[Entity (int)]] to)native_invoker.begin_call();native_invoker.push_arg_int(from);native_invoker.push_arg_int(to);native_invoker.end_call("EFBE71898A993728");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_DEAD"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(p1);native_invoker.end_call("5F9532F3B5CC2551");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_IN_AIR"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("886E37EC497200B6");return native_invoker.get_return_value_bool();end, + -- `p8` is a debug flag invoking functions in the same path as ``DRAW_MARKER`` + -- `p10` is some entity flag check, also used in `IS_ENTITY_AT_ENTITY`, `IS_ENTITY_IN_AREA`, and `IS_ENTITY_AT_COORD`. + -- See IS_POINT_IN_ANGLED_AREA for the definition of an angled area. + ["IS_ENTITY_IN_ANGLED_AREA"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] width,--[[BOOL (bool)]] debug,--[[BOOL (bool)]] includeZ,--[[Any (int)]] p10)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(width);native_invoker.push_arg_bool(debug);native_invoker.push_arg_bool(includeZ);native_invoker.push_arg_int(p10);native_invoker.end_call("51210CED3DA1C78A");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_IN_AREA"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("54736AA40E271165");return native_invoker.get_return_value_bool();end, + -- Full list of zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/zones.json + ["IS_ENTITY_IN_ZONE"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[string]] zone)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(zone);native_invoker.end_call("B6463CF6AF527071");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_IN_WATER"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("CFB0A0D8EDD145A3");return native_invoker.get_return_value_bool();end, + -- Get how much of the entity is submerged. 1.0f is whole entity. + ["GET_ENTITY_SUBMERGED_LEVEL"]=--[[float]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("E81AFC1BC4CC41CE");return native_invoker.get_return_value_float();end, + -- SET_ENTITY_R* + ["_0x694E00132F2823ED"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("694E00132F2823ED");end, + -- Returns true if the entity is in between the minimum and maximum values for the 2d screen coords. + -- This means that it will return true even if the entity is behind a wall for example, as long as you're looking at their location. + -- Chipping + ["IS_ENTITY_ON_SCREEN"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("E659E47AF827484B");return native_invoker.get_return_value_bool();end, + -- See also PED::IS_SCRIPTED_SCENARIO_PED_USING_CONDITIONAL_ANIM 0x6EC47A344923E1ED 0x3C30B447 + -- + -- Taken from ENTITY::IS_ENTITY_PLAYING_ANIM(PLAYER::PLAYER_PED_ID(), "creatures@shark@move", "attack_player", 3) + -- + -- p4 is always 3 in the scripts. + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["IS_ENTITY_PLAYING_ANIM"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[string]] animDict,--[[string]] animName,--[[int]] taskFlag)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.push_arg_int(taskFlag);native_invoker.end_call("1F0B79228E461EC9");return native_invoker.get_return_value_bool();end, + -- a static ped will not react to natives like "APPLY_FORCE_TO_ENTITY" or "SET_ENTITY_VELOCITY" and oftentimes will not react to task-natives like "TASK::TASK_COMBAT_PED". The only way I know of to make one of these peds react is to ragdoll them (or sometimes to use CLEAR_PED_TASKS_IMMEDIATELY(). Static peds include almost all far-away peds, beach-combers, peds in certain scenarios, peds crossing a crosswalk, peds walking to get back into their cars, and others. If anyone knows how to make a ped non-static without ragdolling them, please edit this with the solution. + -- + -- how can I make an entity static??? + ["IS_ENTITY_STATIC"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("1218E6886D3D8327");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_TOUCHING_ENTITY"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[Entity (int)]] targetEntity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(targetEntity);native_invoker.end_call("17FFC1B2BA35A494");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_TOUCHING_MODEL"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(modelHash);native_invoker.end_call("0F42323798A58C8C");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_UPRIGHT"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[float]] angle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(angle);native_invoker.end_call("5333F526F6AB19AA");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_UPSIDEDOWN"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("1DBD58820FA61D71");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_VISIBLE"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("47D6F43D77935C75");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_VISIBLE_TO_SCRIPT"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("D796CB5BA8F20E32");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_OCCLUDED"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("E31C2C72B8692B64");return native_invoker.get_return_value_bool();end, + ["WOULD_ENTITY_BE_OCCLUDED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] entityModelHash,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(entityModelHash);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(p4);native_invoker.end_call("EE5D2A122E09EC42");return native_invoker.get_return_value_bool();end, + ["IS_ENTITY_WAITING_FOR_WORLD_COLLISION"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("D05BFF0C0A12C68F");return native_invoker.get_return_value_bool();end, + -- Applies a force to the specified entity. + -- + -- **List of force types (p1)**: + -- public enum ForceType + -- { + -- MinForce = 0, + -- MaxForceRot = 1, + -- MinForce2 = 2, + -- MaxForceRot2 = 3, + -- ForceNoRot = 4, + -- ForceRotPlusForce = 5 + -- } + -- Research/documentation on the gtaforums can be found here https://gtaforums.com/topic/885669-precisely-define-object-physics/) and here https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/. + -- + -- p6/relative - makes the xyz force not relative to world coords, but to something else + -- p7/highForce - setting false will make the force really low + ["APPLY_FORCE_TO_ENTITY_CENTER_OF_MASS"]=--[[void]] function(--[[Entity (int)]] entity,--[[int]] forceType,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] isDirectionRel,--[[BOOL (bool)]] isForceRel,--[[BOOL (bool)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(forceType);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(isDirectionRel);native_invoker.push_arg_bool(isForceRel);native_invoker.push_arg_bool(p8);native_invoker.end_call("18FF00FC7EFF559E");end, + -- Documented here: + -- gtaforums.com/topic/885669-precisely-define-object-physics/ + -- gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/ + -- + -- forceFlags: + -- First bit (lowest): Strong force flag, factor 100 + -- Second bit: Unkown flag + -- Third bit: Momentum flag=1 (vector (x,y,z) is a momentum, more research needed) + -- If higher bits are unequal 0 the function doesn't applay any forces at all. + -- (As integer possible values are 0-7) + -- + -- 0: weak force + -- 1: strong force + -- 2: same as 0 (2nd bit?) + -- 3: same as 1 + -- 4: weak momentum + -- 5: strong momentum + -- 6: same as 4 + -- 7: same as 5 + -- + -- isLocal: vector defined in local (body-fixed) coordinate frame + -- isMassRel: if true the force gets multiplied with the objects mass (this is why it was known as highForce) and different objects will have the same acceleration. + -- + -- p8 !!! Whenever I set this !=0, my script stopped. + ["APPLY_FORCE_TO_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[int]] forceFlags,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] offX,--[[float]] offY,--[[float]] offZ,--[[int]] boneIndex,--[[BOOL (bool)]] isDirectionRel,--[[BOOL (bool)]] ignoreUpVec,--[[BOOL (bool)]] isForceRel,--[[BOOL (bool)]] p12,--[[BOOL (bool)]] p13)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(forceFlags);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(offX);native_invoker.push_arg_float(offY);native_invoker.push_arg_float(offZ);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_bool(isDirectionRel);native_invoker.push_arg_bool(ignoreUpVec);native_invoker.push_arg_bool(isForceRel);native_invoker.push_arg_bool(p12);native_invoker.push_arg_bool(p13);native_invoker.end_call("C5F68BE9613E2D18");end, + -- Attaches entity1 to bone (boneIndex) of entity2. + -- + -- boneIndex - this is different to boneID, use GET_PED_BONE_INDEX to get the index from the ID. use the index for attaching to specific bones. entity1 will be attached to entity2's centre if bone index given doesn't correspond to bone indexes for that entity type. + -- + -- useSoftPinning - if set to false attached entity will not detach when fixed + -- collision - controls collision between the two entities (FALSE disables collision). + -- isPed - pitch doesnt work when false and roll will only work on negative numbers (only peds) + -- vertexIndex - position of vertex + -- fixedRot - if false it ignores entity vector + -- + ["ATTACH_ENTITY_TO_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity1,--[[Entity (int)]] entity2,--[[int]] boneIndex,--[[float]] xPos,--[[float]] yPos,--[[float]] zPos,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[BOOL (bool)]] p9,--[[BOOL (bool)]] useSoftPinning,--[[BOOL (bool)]] collision,--[[BOOL (bool)]] isPed,--[[int]] vertexIndex,--[[BOOL (bool)]] fixedRot)native_invoker.begin_call();native_invoker.push_arg_int(entity1);native_invoker.push_arg_int(entity2);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_float(xPos);native_invoker.push_arg_float(yPos);native_invoker.push_arg_float(zPos);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_bool(p9);native_invoker.push_arg_bool(useSoftPinning);native_invoker.push_arg_bool(collision);native_invoker.push_arg_bool(isPed);native_invoker.push_arg_int(vertexIndex);native_invoker.push_arg_bool(fixedRot);native_invoker.end_call("6B9BBD38AB0796DF");end, + ["_ATTACH_ENTITY_BONE_TO_ENTITY_BONE"]=--[[void]] function(--[[Entity (int)]] entity1,--[[Entity (int)]] entity2,--[[int]] boneIndex1,--[[int]] boneIndex2,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(entity1);native_invoker.push_arg_int(entity2);native_invoker.push_arg_int(boneIndex1);native_invoker.push_arg_int(boneIndex2);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("5C48B75732C8456C");end, + ["_ATTACH_ENTITY_BONE_TO_ENTITY_BONE_PHYSICALLY"]=--[[void]] function(--[[Entity (int)]] entity1,--[[Entity (int)]] entity2,--[[int]] boneIndex1,--[[int]] boneIndex2,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(entity1);native_invoker.push_arg_int(entity2);native_invoker.push_arg_int(boneIndex1);native_invoker.push_arg_int(boneIndex2);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("FD1695C5D3B05439");end, + -- breakForce is the amount of force required to break the bond. + -- p14 - is always 1 in scripts + -- p15 - is 1 or 0 in scripts - unknoun what it does + -- p16 - controls collision between the two entities (FALSE disables collision). + -- p17 - do not teleport entity to be attached to the position of the bone Index of the target entity (if 1, entity will not be teleported to target bone) + -- p18 - is always 2 in scripts. + -- + -- + ["ATTACH_ENTITY_TO_ENTITY_PHYSICALLY"]=--[[void]] function(--[[Entity (int)]] entity1,--[[Entity (int)]] entity2,--[[int]] boneIndex1,--[[int]] boneIndex2,--[[float]] xPos1,--[[float]] yPos1,--[[float]] zPos1,--[[float]] xPos2,--[[float]] yPos2,--[[float]] zPos2,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[float]] breakForce,--[[BOOL (bool)]] fixedRot,--[[BOOL (bool)]] p15,--[[BOOL (bool)]] collision,--[[BOOL (bool)]] p17,--[[int]] p18)native_invoker.begin_call();native_invoker.push_arg_int(entity1);native_invoker.push_arg_int(entity2);native_invoker.push_arg_int(boneIndex1);native_invoker.push_arg_int(boneIndex2);native_invoker.push_arg_float(xPos1);native_invoker.push_arg_float(yPos1);native_invoker.push_arg_float(zPos1);native_invoker.push_arg_float(xPos2);native_invoker.push_arg_float(yPos2);native_invoker.push_arg_float(zPos2);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_float(breakForce);native_invoker.push_arg_bool(fixedRot);native_invoker.push_arg_bool(p15);native_invoker.push_arg_bool(collision);native_invoker.push_arg_bool(p17);native_invoker.push_arg_int(p18);native_invoker.end_call("C3675780C92F90F9");end, + -- Called to update entity attachments. + ["PROCESS_ENTITY_ATTACHMENTS"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("F4080490ADC51C6F");end, + -- Returns the index of the bone. If the bone was not found, -1 will be returned. + -- + -- list: + -- pastebin.com/D7JMnX1g + -- + -- BoneNames: + -- chassis, + -- windscreen, + -- seat_pside_r, + -- seat_dside_r, + -- bodyshell, + -- suspension_lm, + -- suspension_lr, + -- platelight, + -- attach_female, + -- attach_male, + -- bonnet, + -- boot, + -- chassis_dummy, //Center of the dummy + -- chassis_Control, //Not found yet + -- door_dside_f, //Door left, front + -- door_dside_r, //Door left, back + -- door_pside_f, //Door right, front + -- door_pside_r, //Door right, back + -- Gun_GripR, + -- windscreen_f, + -- platelight, //Position where the light above the numberplate is located + -- VFX_Emitter, + -- window_lf, //Window left, front + -- window_lr, //Window left, back + -- window_rf, //Window right, front + -- window_rr, //Window right, back + -- engine, //Position of the engine + -- gun_ammo, + -- ROPE_ATTATCH, //Not misspelled. In script "finale_heist2b.c4". + -- wheel_lf, //Wheel left, front + -- wheel_lr, //Wheel left, back + -- wheel_rf, //Wheel right, front + -- wheel_rr, //Wheel right, back + -- exhaust, //Exhaust. shows only the position of the stock-exhaust + -- overheat, //A position on the engine(not exactly sure, how to name it) + -- misc_e, //Not a car-bone. + -- seat_dside_f, //Driver-seat + -- seat_pside_f, //Seat next to driver + -- Gun_Nuzzle, + -- seat_r + -- + -- I doubt that the function is case-sensitive, since I found a "Chassis" and a "chassis". - Just tested: Definitely not case-sensitive. + -- + -- + ["GET_ENTITY_BONE_INDEX_BY_NAME"]=--[[int]] function(--[[Entity (int)]] entity,--[[string]] boneName)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(boneName);native_invoker.end_call("FB71170B7E76ACBA");return native_invoker.get_return_value_int();end, + ["CLEAR_ENTITY_LAST_DAMAGE_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("A72CD9CA74A5ECBA");end, + -- Deletes the specified entity, then sets the handle pointed to by the pointer to NULL. + ["DELETE_ENTITY"]=--[[void]] function(--[[Entity* (pointer)]] entity)native_invoker.begin_call();native_invoker.push_arg_pointer(entity);native_invoker.end_call("AE3CBE5BF394C9C9");end, + -- If `collision` is set to true, both entities won't collide with the other until the distance between them is above 4 meters. + -- Set `dynamic` to true to keep velocity after dettaching + ["DETACH_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] dynamic,--[[BOOL (bool)]] collision)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(dynamic);native_invoker.push_arg_bool(collision);native_invoker.end_call("961AC54BF0613F5D");end, + -- Freezes or unfreezes an entity preventing its coordinates to change by the player if set to `true`. You can still change the entity position using SET_ENTITY_COORDS. + ["FREEZE_ENTITY_POSITION"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("428CA6DBD1094446");end, + -- True means it can be deleted by the engine when switching lobbies/missions/etc, false means the script is expected to clean it up. + ["_SET_ENTITY_CLEANUP_BY_ENGINE"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("3910051CCECDB00C");end, + -- delta and bitset are guessed fields. They are based on the fact that most of the calls have 0 or nil field types passed in. + -- + -- The only time bitset has a value is 0x4000 and the only time delta has a value is during stealth with usually <1.0f values. + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["PLAY_ENTITY_ANIM"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[string]] animName,--[[string]] animDict,--[[float]] p3,--[[BOOL (bool)]] loop,--[[BOOL (bool)]] stayInAnim,--[[BOOL (bool)]] p6,--[[float]] delta,--[[Any (int)]] bitset)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(animName);native_invoker.push_arg_string(animDict);native_invoker.push_arg_float(p3);native_invoker.push_arg_bool(loop);native_invoker.push_arg_bool(stayInAnim);native_invoker.push_arg_bool(p6);native_invoker.push_arg_float(delta);native_invoker.push_arg_int(bitset);native_invoker.end_call("7FB218262B810701");return native_invoker.get_return_value_bool();end, + -- p4 and p7 are usually 1000.0f. + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["PLAY_SYNCHRONIZED_ENTITY_ANIM"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[int]] syncedScene,--[[string]] animation,--[[string]] propName,--[[float]] p4,--[[float]] p5,--[[Any (int)]] p6,--[[float]] p7)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(syncedScene);native_invoker.push_arg_string(animation);native_invoker.push_arg_string(propName);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_float(p7);native_invoker.end_call("C77720A12FE14A86");return native_invoker.get_return_value_bool();end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["PLAY_SYNCHRONIZED_MAP_ENTITY_ANIM"]=--[[BOOL (bool)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any* (pointer)]] p6,--[[Any* (pointer)]] p7,--[[float]] p8,--[[float]] p9,--[[Any (int)]] p10,--[[float]] p11)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_pointer(p6);native_invoker.push_arg_pointer(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_int(p10);native_invoker.push_arg_float(p11);native_invoker.end_call("B9C54555ED30FBC4");return native_invoker.get_return_value_bool();end, + ["STOP_SYNCHRONIZED_MAP_ENTITY_ANIM"]=--[[BOOL (bool)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[Any (int)]] p4,--[[float]] p5)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_float(p5);native_invoker.end_call("11E79CAB7183B6F5");return native_invoker.get_return_value_bool();end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + -- + -- RAGEPluginHook list: docs.ragepluginhook.net/html/62951c37-a440-478c-b389-c471230ddfc5.htm + ["STOP_ENTITY_ANIM"]=--[[Any (int)]] function(--[[Entity (int)]] entity,--[[string]] animation,--[[string]] animGroup,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(animation);native_invoker.push_arg_string(animGroup);native_invoker.push_arg_float(p3);native_invoker.end_call("28004F88151E03E0");return native_invoker.get_return_value_int();end, + -- p1 sync task id? + ["STOP_SYNCHRONIZED_ENTITY_ANIM"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[float]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("43D3807C077261E3");return native_invoker.get_return_value_bool();end, + -- if (ENTITY::HAS_ANIM_EVENT_FIRED(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("CreateObject"))) + ["HAS_ANIM_EVENT_FIRED"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[Hash (int)]] actionHash)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(actionHash);native_invoker.end_call("EAF4CD9EA3E7E922");return native_invoker.get_return_value_bool();end, + -- In the script "player_scene_t_bbfight.c4": + -- "if (ENTITY::FIND_ANIM_EVENT_PHASE(&l_16E, &l_19F[v_4/*16*/], v_9, &v_A, &v_B))" + -- -- &l_16E (p0) is requested as an anim dictionary earlier in the script. + -- -- &l_19F[v_4/*16*/] (p1) is used in other natives in the script as the "animation" param. + -- -- v_9 (p2) is instantiated as "victim_fall"; I'm guessing that's another anim + -- --v_A and v_B (p3 & p4) are both set as -1.0, but v_A is used immediately after this native for: + -- "if (v_A < ENTITY::GET_ENTITY_ANIM_CURRENT_TIME(...))" + -- Both v_A and v_B are seemingly used to contain both Vector3's and floats, so I can't say what either really is other than that they are both output parameters. p4 looks more like a *Vector3 though + -- -alphazolam + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["FIND_ANIM_EVENT_PHASE"]=--[[BOOL (bool)]] function(--[[string]] animDictionary,--[[string]] animName,--[[string]] p2,--[[Any* (pointer)]] p3,--[[Any* (pointer)]] p4)native_invoker.begin_call();native_invoker.push_arg_string(animDictionary);native_invoker.push_arg_string(animName);native_invoker.push_arg_string(p2);native_invoker.push_arg_pointer(p3);native_invoker.push_arg_pointer(p4);native_invoker.end_call("07F1BE2BCCAA27A7");return native_invoker.get_return_value_bool();end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["SET_ENTITY_ANIM_CURRENT_TIME"]=--[[void]] function(--[[Entity (int)]] entity,--[[string]] animDictionary,--[[string]] animName,--[[float]] time)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(animDictionary);native_invoker.push_arg_string(animName);native_invoker.push_arg_float(time);native_invoker.end_call("4487C259F0F70977");end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["SET_ENTITY_ANIM_SPEED"]=--[[void]] function(--[[Entity (int)]] entity,--[[string]] animDictionary,--[[string]] animName,--[[float]] speedMultiplier)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(animDictionary);native_invoker.push_arg_string(animName);native_invoker.push_arg_float(speedMultiplier);native_invoker.end_call("28D1A16553C51776");end, + -- Makes the specified entity (ped, vehicle or object) persistent. Persistent entities will not automatically be removed by the engine. + -- + -- p1 has no effect when either its on or off + -- maybe a quick disassembly will tell us what it does + -- + -- p2 has no effect when either its on or off + -- maybe a quick disassembly will tell us what it does + ["SET_ENTITY_AS_MISSION_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("AD738C3085FE7E11");end, + -- Marks the specified entity (ped, vehicle or object) as no longer needed. + -- Entities marked as no longer needed, will be deleted as the engine sees fit. + ["SET_ENTITY_AS_NO_LONGER_NEEDED"]=--[[void]] function(--[[Entity* (pointer)]] entity)native_invoker.begin_call();native_invoker.push_arg_pointer(entity);native_invoker.end_call("B736A491E64A32CF");end, + -- This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED. + ["SET_PED_AS_NO_LONGER_NEEDED"]=--[[void]] function(--[[Ped* (pointer)]] ped)native_invoker.begin_call();native_invoker.push_arg_pointer(ped);native_invoker.end_call("2595DD4236549CE3");end, + -- This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED. + ["SET_VEHICLE_AS_NO_LONGER_NEEDED"]=--[[void]] function(--[[Vehicle* (pointer)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_pointer(vehicle);native_invoker.end_call("629BFA74418D6239");end, + -- This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED. + ["SET_OBJECT_AS_NO_LONGER_NEEDED"]=--[[void]] function(--[[Object* (pointer)]] object)native_invoker.begin_call();native_invoker.push_arg_pointer(object);native_invoker.end_call("3AE22DEB5BA5A3E6");end, + ["SET_ENTITY_CAN_BE_DAMAGED"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("1760FFA8AB074D66");end, + ["_GET_ENTITY_CAN_BE_DAMAGED"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("D95CC5D2AB15A09F");return native_invoker.get_return_value_bool();end, + ["SET_ENTITY_CAN_BE_DAMAGED_BY_RELATIONSHIP_GROUP"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] bCanBeDamaged,--[[int]] relGroup)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(bCanBeDamaged);native_invoker.push_arg_int(relGroup);native_invoker.end_call("E22D8FDE858B8119");end, + ["_0x352E2B5CF420BF3B"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("352E2B5CF420BF3B");end, + -- Sets whether the entity can be targeted without being in line-of-sight. + ["SET_ENTITY_CAN_BE_TARGETED_WITHOUT_LOS"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D3997889736FD899");end, + ["SET_ENTITY_COLLISION"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle,--[[BOOL (bool)]] keepPhysics)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_bool(keepPhysics);native_invoker.end_call("1A9205C1B9EE827F");end, + ["GET_ENTITY_COLLISION_DISABLED"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("CCF1E97BEFDAE480");return native_invoker.get_return_value_bool();end, + ["SET_ENTITY_COMPLETELY_DISABLE_COLLISION"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle,--[[BOOL (bool)]] keepPhysics)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_bool(keepPhysics);native_invoker.end_call("9EBC85ED0FFFE51C");end, + -- p7 is always 1 in the scripts. Set to 1, an area around the destination coords for the moved entity is cleared from other entities. + -- + -- Often ends with 1, 0, 0, 1); in the scripts. It works. + -- + -- Axis - Invert Axis Flags + ["SET_ENTITY_COORDS"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] xPos,--[[float]] yPos,--[[float]] zPos,--[[BOOL (bool)]] xAxis,--[[BOOL (bool)]] yAxis,--[[BOOL (bool)]] zAxis,--[[BOOL (bool)]] clearArea)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(xPos);native_invoker.push_arg_float(yPos);native_invoker.push_arg_float(zPos);native_invoker.push_arg_bool(xAxis);native_invoker.push_arg_bool(yAxis);native_invoker.push_arg_bool(zAxis);native_invoker.push_arg_bool(clearArea);native_invoker.end_call("06843DA7060A026B");end, + ["_SET_ENTITY_COORDS_2"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] xPos,--[[float]] yPos,--[[float]] zPos,--[[BOOL (bool)]] xAxis,--[[BOOL (bool)]] yAxis,--[[BOOL (bool)]] zAxis,--[[BOOL (bool)]] clearArea)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(xPos);native_invoker.push_arg_float(yPos);native_invoker.push_arg_float(zPos);native_invoker.push_arg_bool(xAxis);native_invoker.push_arg_bool(yAxis);native_invoker.push_arg_bool(zAxis);native_invoker.push_arg_bool(clearArea);native_invoker.end_call("621873ECE1178967");end, + -- Axis - Invert Axis Flags + ["SET_ENTITY_COORDS_NO_OFFSET"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] xPos,--[[float]] yPos,--[[float]] zPos,--[[BOOL (bool)]] xAxis,--[[BOOL (bool)]] yAxis,--[[BOOL (bool)]] zAxis)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(xPos);native_invoker.push_arg_float(yPos);native_invoker.push_arg_float(zPos);native_invoker.push_arg_bool(xAxis);native_invoker.push_arg_bool(yAxis);native_invoker.push_arg_bool(zAxis);native_invoker.end_call("239A3351AC1DA385");end, + ["SET_ENTITY_DYNAMIC"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("1718DE8E3F2823CA");end, + -- Set the heading of an entity in degrees also known as "Yaw". + ["SET_ENTITY_HEADING"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] heading)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(heading);native_invoker.end_call("8E2530AA8ADA980E");end, + -- health >= 0 + -- male ped ~= 100 - 200 + -- female ped ~= 0 - 100 + ["SET_ENTITY_HEALTH"]=--[[void]] function(--[[Entity (int)]] entity,--[[int]] health,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(health);native_invoker.push_arg_int(p2);native_invoker.end_call("6B76DC1F3AE6E6A3");end, + -- Sets a ped or an object totally invincible. It doesn't take any kind of damage. Peds will not ragdoll on explosions and the tazer animation won't apply either. + -- + -- If you use this for a ped and you want Ragdoll to stay enabled, then do: + -- *(DWORD *)(pedAddress + 0x188) |= (1 << 9); + -- + -- Use this if you want to get the invincibility status: + -- bool IsPedInvincible(Ped ped) + -- { + -- auto addr = getScriptHandleBaseAddress(ped); + -- + -- if (addr) + -- { + -- DWORD flag = *(DWORD *)(addr + 0x188); + -- return ((flag & (1 << 8)) != 0) || ((flag & (1 << 9)) != 0); + -- } + -- + -- return false; + -- } + ["SET_ENTITY_INVINCIBLE"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("3882114BDE571AD4");end, + ["SET_ENTITY_IS_TARGET_PRIORITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] p1,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(p1);native_invoker.push_arg_float(p2);native_invoker.end_call("EA02E132F5C68722");end, + ["SET_ENTITY_LIGHTS"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("7CFBA6A80BDF3874");end, + -- Loads collision grid for an entity spawned outside of a player's loaded area. This allows peds to execute tasks rather than sit dormant because of a lack of a physics grid. + -- Certainly not the main usage of this native but when set to true for a Vehicle, it will prevent the vehicle to explode if it is spawned far away from the player. + ["SET_ENTITY_LOAD_COLLISION_FLAG"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(p2);native_invoker.end_call("0DC7CABAB1E9B67E");end, + ["HAS_COLLISION_LOADED_AROUND_ENTITY"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("E9676F61BC0B3321");return native_invoker.get_return_value_bool();end, + ["SET_ENTITY_MAX_SPEED"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] speed)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(speed);native_invoker.end_call("0E46A3FCBDE2A1B1");end, + ["SET_ENTITY_ONLY_DAMAGED_BY_PLAYER"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("79F020FF9EDC0748");end, + ["SET_ENTITY_ONLY_DAMAGED_BY_RELATIONSHIP_GROUP"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("7022BD828FA0B082");end, + -- Enable / disable each type of damage. + -- + -- Can't get drownProof to work. + -- -------------- + -- p7 is to to '1' in am_mp_property_ext/int: entity::set_entity_proofs(uParam0->f_19, true, true, true, true, true, true, 1, true); + -- + ["SET_ENTITY_PROOFS"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] bulletProof,--[[BOOL (bool)]] fireProof,--[[BOOL (bool)]] explosionProof,--[[BOOL (bool)]] collisionProof,--[[BOOL (bool)]] meleeProof,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] drownProof)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(bulletProof);native_invoker.push_arg_bool(fireProof);native_invoker.push_arg_bool(explosionProof);native_invoker.push_arg_bool(collisionProof);native_invoker.push_arg_bool(meleeProof);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(drownProof);native_invoker.end_call("FAEE099C6F890BB8");end, + ["_GET_ENTITY_PROOFS"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[BOOL* (pointer)]] bulletProof,--[[BOOL* (pointer)]] fireProof,--[[BOOL* (pointer)]] explosionProof,--[[BOOL* (pointer)]] collisionProof,--[[BOOL* (pointer)]] meleeProof,--[[BOOL* (pointer)]] steamProof,--[[BOOL* (pointer)]] p7,--[[BOOL* (pointer)]] drownProof)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_pointer(bulletProof);native_invoker.push_arg_pointer(fireProof);native_invoker.push_arg_pointer(explosionProof);native_invoker.push_arg_pointer(collisionProof);native_invoker.push_arg_pointer(meleeProof);native_invoker.push_arg_pointer(steamProof);native_invoker.push_arg_pointer(p7);native_invoker.push_arg_pointer(drownProof);native_invoker.end_call("BE8CD9BE829BBEBF");return native_invoker.get_return_value_bool();end, + -- w is the correct parameter name! + ["SET_ENTITY_QUATERNION"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] w)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(w);native_invoker.end_call("77B21BE7AC540F07");end, + ["SET_ENTITY_RECORDS_COLLISIONS"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("0A50A1EEDAD01E65");end, + -- rotationOrder refers to the order yaw pitch roll is applied + -- value ranges from 0 to 5. What you use for rotationOrder when setting must be the same as rotationOrder when getting the rotation. + -- Unsure what value corresponds to what rotation order, more testing will be needed for that. + -- For the most part R* uses 1 or 2 as the order. + -- p5 is usually set as true + -- + ["SET_ENTITY_ROTATION"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] pitch,--[[float]] roll,--[[float]] yaw,--[[int]] rotationOrder,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(pitch);native_invoker.push_arg_float(roll);native_invoker.push_arg_float(yaw);native_invoker.push_arg_int(rotationOrder);native_invoker.push_arg_bool(p5);native_invoker.end_call("8524A8B0171D5E07");end, + -- unk was always 0. + ["SET_ENTITY_VISIBLE"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle,--[[BOOL (bool)]] unk)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_bool(unk);native_invoker.end_call("EA1C610A04DB6BBB");end, + -- SET_ENTITY_* + ["_0xC34BC448DA29F5E9"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C34BC448DA29F5E9");end, + -- SET_ENTITY_M* + ["_0xE66377CDDADA4810"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(p1);native_invoker.end_call("E66377CDDADA4810");end, + -- Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement. + ["SET_ENTITY_VELOCITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("1C99BB7B6E96D16F");end, + ["SET_ENTITY_HAS_GRAVITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("4A4722448F18EEF5");end, + -- LOD distance can be 0 to 0xFFFF (higher values will result in 0xFFFF) as it is actually stored as a 16-bit value (aka uint16_t). + ["SET_ENTITY_LOD_DIST"]=--[[void]] function(--[[Entity (int)]] entity,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(value);native_invoker.end_call("5927F96A78577363");end, + -- Returns the LOD distance of an entity. + ["GET_ENTITY_LOD_DIST"]=--[[int]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("4159C2762B5791D6");return native_invoker.get_return_value_int();end, + -- skin - everything alpha except skin + -- Set entity alpha level. Ranging from 0 to 255 but chnages occur after every 20 percent (after every 51). + ["SET_ENTITY_ALPHA"]=--[[void]] function(--[[Entity (int)]] entity,--[[int]] alphaLevel,--[[BOOL (bool)]] skin)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(alphaLevel);native_invoker.push_arg_bool(skin);native_invoker.end_call("44A0870B7E92D7C0");end, + ["GET_ENTITY_ALPHA"]=--[[int]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("5A47B3B5E63E94C6");return native_invoker.get_return_value_int();end, + ["RESET_ENTITY_ALPHA"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("9B1E824FFBB7027A");end, + ["_0x490861B88F4FD846"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("490861B88F4FD846");end, + ["_0xCEA7C8E1B48FF68C"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("CEA7C8E1B48FF68C");end, + -- Only called once in the scripts. + -- + -- Related to weapon objects. + -- + ["_0x5C3B791D580E0BC2"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(p1);native_invoker.end_call("5C3B791D580E0BC2");end, + ["SET_ENTITY_ALWAYS_PRERENDER"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("ACAD101E1FB66689");end, + ["SET_ENTITY_RENDER_SCORCHED"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("730F5F8D3F0F2050");end, + -- Example here: www.gtaforums.com/topic/830463-help-with-turning-lights-green-and-causing-peds-to-crash-into-each-other/#entry1068211340 + -- + -- 0 = green + -- 1 = red + -- 2 = yellow + -- 3 = reset changes + -- changing lights may not change the behavior of vehicles + ["SET_ENTITY_TRAFFICLIGHT_OVERRIDE"]=--[[void]] function(--[[Entity (int)]] entity,--[[int]] state)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(state);native_invoker.end_call("57C5DB656185EAC4");end, + -- Related to cutscene entities. Unsure about the use. + -- + -- SET_ENTITY_* + ["_0x78E8E3A640178255"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("78E8E3A640178255");end, + -- Only works with objects! + -- Network players do not see changes done with this. + -- - Did ya try modifying p6 lol + ["CREATE_MODEL_SWAP"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] originalModel,--[[Hash (int)]] newModel,--[[BOOL (bool)]] p6)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(originalModel);native_invoker.push_arg_int(newModel);native_invoker.push_arg_bool(p6);native_invoker.end_call("92C47782FDA8B2A3");end, + ["REMOVE_MODEL_SWAP"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] originalModel,--[[Hash (int)]] newModel,--[[BOOL (bool)]] p6)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(originalModel);native_invoker.push_arg_int(newModel);native_invoker.push_arg_bool(p6);native_invoker.end_call("033C0F9A64E229AE");end, + -- p5 = sets as true in scripts + -- Same as the comment for CREATE_MODEL_SWAP unless for some reason p5 affects it this only works with objects as well. + -- + -- Network players do not see changes done with this. + ["CREATE_MODEL_HIDE"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] modelHash,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_bool(p5);native_invoker.end_call("8A97BCA30A0CE478");end, + ["CREATE_MODEL_HIDE_EXCLUDING_SCRIPT_OBJECTS"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] modelHash,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_bool(p5);native_invoker.end_call("3A52AE588830BF7F");end, + -- This native makes entities visible that are hidden by the native CREATE_MODEL_HIDE. + -- p5 should be false, true does nothing + ["REMOVE_MODEL_HIDE"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] modelHash,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_bool(p5);native_invoker.end_call("D9E3006FB3CBD765");end, + ["CREATE_FORCED_OBJECT"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[Any (int)]] p3,--[[Hash (int)]] modelHash,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_bool(p5);native_invoker.end_call("150E808B375A385A");end, + ["REMOVE_FORCED_OBJECT"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("61B6775E83C0DB6F");end, + -- Calling this function disables collision between two entities. + -- The importance of the order for entity1 and entity2 is unclear. + -- The third parameter, `thisFrame`, decides whether the collision is to be disabled until it is turned back on, or if it's just this frame. + ["SET_ENTITY_NO_COLLISION_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity1,--[[Entity (int)]] entity2,--[[BOOL (bool)]] thisFrameOnly)native_invoker.begin_call();native_invoker.push_arg_int(entity1);native_invoker.push_arg_int(entity2);native_invoker.push_arg_bool(thisFrameOnly);native_invoker.end_call("A53ED5520C07654A");end, + ["SET_ENTITY_MOTION_BLUR"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("295D82A8559F9150");end, + -- p1 always false. + ["SET_CAN_AUTO_VAULT_ON_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("E12ABE5E3A389A6C");end, + -- p1 always false. + ["SET_CAN_CLIMB_ON_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("A80AE305E0A3044F");end, + -- SET_* + -- + -- Only called within 1 script for x360. 'fm_mission_controller' and it used on an object. + -- + -- Ran after these 2 natives, + -- set_object_targettable(uParam0, 0); + -- set_entity_invincible(uParam0, 1); + ["_0xDC6F8601FAF2E893"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("DC6F8601FAF2E893");end, + -- SET_ENTITY_* + ["_0x2C2E3DC128F44309"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(p1);native_invoker.end_call("2C2E3DC128F44309");end, + -- SET_ENTITY_* + ["_0x1A092BB0C3808B96"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(p1);native_invoker.end_call("1A092BB0C3808B96");end, + -- Gets the world rotation of the specified bone of the specified entity. + ["_GET_ENTITY_BONE_ROTATION"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity,--[[int]] boneIndex)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(boneIndex);native_invoker.end_call("CE6294A232D03786");return native_invoker.get_return_value_vector3();end, + -- Gets the world rotation of the specified bone of the specified entity. + -- This native is used in casinoroulette.c but I don't know yet what is the difference with _GET_ENTITY_BONE_ROTATION + ["_GET_ENTITY_BONE_POSITION_2"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity,--[[int]] boneIndex)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(boneIndex);native_invoker.end_call("46F8696933A63C9B");return native_invoker.get_return_value_vector3();end, + -- Gets the local rotation of the specified bone of the specified entity. + ["_GET_ENTITY_BONE_ROTATION_LOCAL"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity,--[[int]] boneIndex)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(boneIndex);native_invoker.end_call("BD8D32550E5CEBFE");return native_invoker.get_return_value_vector3();end, + ["_GET_ENTITY_BONE_COUNT"]=--[[int]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("B328DCC3A3AA401B");return native_invoker.get_return_value_int();end, + -- ENABLE_* + ["_ENABLE_ENTITY_UNK"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("6CE177D014502E8A");end, + ["_0xB17BC6453F6CF5AC"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("B17BC6453F6CF5AC");end, + -- Puts pickup2 ptr somewhere in pickup? + ["_0x68B562E124CC0AEF"]=--[[void]] function(--[[Pickup (int)]] pickup,--[[Pickup (int)]] pickup2)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.push_arg_int(pickup2);native_invoker.end_call("68B562E124CC0AEF");end, + ["_0x36F32DE87082343E"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("36F32DE87082343E");end, + -- GET_ENTITY_* + -- + -- Seems to return the handle of the entity's portable pickup. + ["_GET_ENTITY_PICKUP"]=--[[Entity (int)]] function(--[[Entity (int)]] entity,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(modelHash);native_invoker.end_call("1F922734E259BD26");return native_invoker.get_return_value_int();end, + -- Sets 32nd bit of pickup+188 + -- SET_PICKUP_?? + ["_0xD7B80E7C3BEFC396"]=--[[void]] function(--[[Pickup (int)]] pickup,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D7B80E7C3BEFC396");end, +} +EVENT={ + ["SET_DECISION_MAKER"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] name)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(name);native_invoker.end_call("B604A2942ADED0EE");end, + -- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + ["CLEAR_DECISION_MAKER_EVENT_RESPONSE"]=--[[void]] function(--[[Hash (int)]] name,--[[int]] eventType)native_invoker.begin_call();native_invoker.push_arg_int(name);native_invoker.push_arg_int(eventType);native_invoker.end_call("4FC9381A7AEE8968");end, + -- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + -- + -- This is limited to 4 blocked events at a time. + ["BLOCK_DECISION_MAKER_EVENT"]=--[[void]] function(--[[Hash (int)]] name,--[[int]] eventType)native_invoker.begin_call();native_invoker.push_arg_int(name);native_invoker.push_arg_int(eventType);native_invoker.end_call("E42FCDFD0E4196F7");end, + -- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + ["UNBLOCK_DECISION_MAKER_EVENT"]=--[[void]] function(--[[Hash (int)]] name,--[[int]] eventType)native_invoker.begin_call();native_invoker.push_arg_int(name);native_invoker.push_arg_int(eventType);native_invoker.end_call("D7CD9CF34F2C99E8");end, + -- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + ["ADD_SHOCKING_EVENT_AT_POSITION"]=--[[ScrHandle (int)]] function(--[[int]] eventType,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] duration)native_invoker.begin_call();native_invoker.push_arg_int(eventType);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(duration);native_invoker.end_call("D9F8455409B525E9");return native_invoker.get_return_value_int();end, + -- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + ["ADD_SHOCKING_EVENT_FOR_ENTITY"]=--[[ScrHandle (int)]] function(--[[int]] eventType,--[[Entity (int)]] entity,--[[float]] duration)native_invoker.begin_call();native_invoker.push_arg_int(eventType);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(duration);native_invoker.end_call("7FD8F3BE76F89422");return native_invoker.get_return_value_int();end, + -- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + ["IS_SHOCKING_EVENT_IN_SPHERE"]=--[[BOOL (bool)]] function(--[[int]] eventType,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_int(eventType);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("1374ABB7C15BAB92");return native_invoker.get_return_value_bool();end, + ["REMOVE_SHOCKING_EVENT"]=--[[BOOL (bool)]] function(--[[ScrHandle (int)]] event)native_invoker.begin_call();native_invoker.push_arg_int(event);native_invoker.end_call("2CDA538C44C6CCE5");return native_invoker.get_return_value_bool();end, + ["REMOVE_ALL_SHOCKING_EVENTS"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("EAABE8FDFA21274C");end, + ["REMOVE_SHOCKING_EVENT_SPAWN_BLOCKING_AREAS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("340F1415B68AEADE");end, + ["SUPPRESS_SHOCKING_EVENTS_NEXT_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2F9A292AD0A3BD89");end, + -- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + ["SUPPRESS_SHOCKING_EVENT_TYPE_NEXT_FRAME"]=--[[void]] function(--[[int]] eventType)native_invoker.begin_call();native_invoker.push_arg_int(eventType);native_invoker.end_call("3FD2EC8BF1F1CF30");end, + ["SUPPRESS_AGITATION_EVENTS_NEXT_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5F3B7749C112D552");end, +} +FILES={ + -- Character types: + -- 0 = Michael, + -- 1 = Franklin, + -- 2 = Trevor, + -- 3 = MPMale, + -- 4 = MPFemale + ["GET_NUM_TATTOO_SHOP_DLC_ITEMS"]=--[[int]] function(--[[int]] character)native_invoker.begin_call();native_invoker.push_arg_int(character);native_invoker.end_call("278F76C3B0A8F109");return native_invoker.get_return_value_int();end, + -- Character types: + -- 0 = Michael, + -- 1 = Franklin, + -- 2 = Trevor, + -- 3 = MPMale, + -- 4 = MPFemale + -- + -- + -- enum TattooZoneData + -- { + -- ZONE_TORSO = 0, + -- ZONE_HEAD = 1, + -- ZONE_LEFT_ARM = 2, + -- ZONE_RIGHT_ARM = 3, + -- ZONE_LEFT_LEG = 4, + -- ZONE_RIGHT_LEG = 5, + -- ZONE_UNKNOWN = 6, + -- ZONE_NONE = 7, + -- }; + -- struct outComponent + -- { + -- // these vars are suffixed with 4 bytes of padding each. + -- uint unk; + -- int unk2; + -- uint tattooCollectionHash; + -- uint tattooNameHash; + -- int unk3; + -- TattooZoneData zoneId; + -- uint unk4; + -- uint unk5; + -- // maybe more, not sure exactly, decompiled scripts are very vague around this part. + -- } + ["GET_TATTOO_SHOP_DLC_ITEM_DATA"]=--[[BOOL (bool)]] function(--[[int]] characterType,--[[int]] decorationIndex,--[[Any* (pointer)]] outComponent)native_invoker.begin_call();native_invoker.push_arg_int(characterType);native_invoker.push_arg_int(decorationIndex);native_invoker.push_arg_pointer(outComponent);native_invoker.end_call("FF56381874F82086");return native_invoker.get_return_value_bool();end, + -- Returns some sort of index/offset for overlays/decorations. + -- + -- Character types: + -- 0 = Michael, + -- 1 = Franklin, + -- 2 = Trevor, + -- 3 = MPMale, + -- 4 = MPFemale + ["_0x10144267DD22866C"]=--[[int]] function(--[[Hash (int)]] overlayHash,--[[Any (int)]] p1,--[[int]] character)native_invoker.begin_call();native_invoker.push_arg_int(overlayHash);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(character);native_invoker.end_call("10144267DD22866C");return native_invoker.get_return_value_int();end, + ["INIT_SHOP_PED_COMPONENT"]=--[[void]] function(--[[Any* (pointer)]] outComponent)native_invoker.begin_call();native_invoker.push_arg_pointer(outComponent);native_invoker.end_call("1E8C308FD312C036");end, + ["INIT_SHOP_PED_PROP"]=--[[void]] function(--[[Any* (pointer)]] outProp)native_invoker.begin_call();native_invoker.push_arg_pointer(outProp);native_invoker.end_call("EB0A2B758F7B850F");end, + ["SETUP_SHOP_PED_APPAREL_QUERY"]=--[[int]] function(--[[int]] p0,--[[int]] p1,--[[int]] p2,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("50F457823CE6EB5F");return native_invoker.get_return_value_int();end, + -- character is 0 for Michael, 1 for Franklin, 2 for Trevor, 3 for freemode male, and 4 for freemode female. + -- + -- componentId is between 0 and 11 and corresponds to the usual component slots. + -- + -- p1 could be the outfit number; unsure. + -- + -- p2 is usually -1; unknown function. + -- + -- p3 appears to be for selecting between clothes and props; false is used with components/clothes, true is used with props. + -- + -- p4 is usually -1; unknown function. + -- + -- componentId is -1 when p3 is true in decompiled scripts. + ["SETUP_SHOP_PED_APPAREL_QUERY_TU"]=--[[int]] function(--[[int]] character,--[[int]] p1,--[[int]] p2,--[[BOOL (bool)]] p3,--[[int]] p4,--[[int]] componentId)native_invoker.begin_call();native_invoker.push_arg_int(character);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(componentId);native_invoker.end_call("9BDF59818B1E38C1");return native_invoker.get_return_value_int();end, + -- See https://git.io/JtcRf for example and structs. + ["GET_SHOP_PED_QUERY_COMPONENT"]=--[[void]] function(--[[int]] componentId,--[[Any* (pointer)]] outComponent)native_invoker.begin_call();native_invoker.push_arg_int(componentId);native_invoker.push_arg_pointer(outComponent);native_invoker.end_call("249E310B2D920699");end, + -- Returns some sort of index/offset for components. + -- Needs _GET_NUM_PROPS_FROM_OUTFIT to be called with p3 = false and componentId with the drawable's component slot first, returns -1 otherwise. + ["_0x96E2929292A4DB77"]=--[[int]] function(--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.end_call("96E2929292A4DB77");return native_invoker.get_return_value_int();end, + -- More info here: https://gist.github.com/root-cause/3b80234367b0c856d60bf5cb4b826f86 + ["GET_SHOP_PED_COMPONENT"]=--[[void]] function(--[[Hash (int)]] componentHash,--[[Any* (pointer)]] outComponent)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.push_arg_pointer(outComponent);native_invoker.end_call("74C0E2A57EC66760");end, + -- See https://git.io/JtcRf for example and structs. + ["GET_SHOP_PED_QUERY_PROP"]=--[[void]] function(--[[int]] componentId,--[[Any* (pointer)]] outProp)native_invoker.begin_call();native_invoker.push_arg_int(componentId);native_invoker.push_arg_pointer(outProp);native_invoker.end_call("DE44A00999B2837D");end, + -- Returns some sort of index/offset for props. + -- Needs _GET_NUM_PROPS_FROM_OUTFIT to be called with p3 = true and componentId = -1 first, returns -1 otherwise. + ["_0x6CEBE002E58DEE97"]=--[[int]] function(--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.end_call("6CEBE002E58DEE97");return native_invoker.get_return_value_int();end, + -- More info here: https://gist.github.com/root-cause/3b80234367b0c856d60bf5cb4b826f86 + ["GET_SHOP_PED_PROP"]=--[[void]] function(--[[Hash (int)]] componentHash,--[[Any* (pointer)]] outProp)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.push_arg_pointer(outProp);native_invoker.end_call("5D5CAFF661DDF6FC");end, + ["GET_HASH_NAME_FOR_COMPONENT"]=--[[Hash (int)]] function(--[[Entity (int)]] entity,--[[int]] componentId,--[[int]] drawableVariant,--[[int]] textureVariant)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(componentId);native_invoker.push_arg_int(drawableVariant);native_invoker.push_arg_int(textureVariant);native_invoker.end_call("0368B3A838070348");return native_invoker.get_return_value_int();end, + ["GET_HASH_NAME_FOR_PROP"]=--[[Hash (int)]] function(--[[Entity (int)]] entity,--[[int]] componentId,--[[int]] propIndex,--[[int]] propTextureIndex)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(componentId);native_invoker.push_arg_int(propIndex);native_invoker.push_arg_int(propTextureIndex);native_invoker.end_call("5D6160275CAEC8DD");return native_invoker.get_return_value_int();end, + ["GET_SHOP_PED_APPAREL_VARIANT_COMPONENT_COUNT"]=--[[int]] function(--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.end_call("C17AD0E5752BECDA");return native_invoker.get_return_value_int();end, + -- `propHash`: Ped helmet prop hash? + -- This native returns 1 when the player helmet has a visor (there is another prop index for the same helmet with closed/opened visor variant) that can be toggled. 0 if there's no alternative version with a visor for this helmet prop. + ["_GET_SHOP_PED_APPAREL_VARIANT_PROP_COUNT"]=--[[int]] function(--[[Hash (int)]] propHash)native_invoker.begin_call();native_invoker.push_arg_int(propHash);native_invoker.end_call("D40AAC51E8E4C663");return native_invoker.get_return_value_int();end, + ["GET_VARIANT_COMPONENT"]=--[[void]] function(--[[Hash (int)]] componentHash,--[[int]] variantComponentIndex,--[[Hash* (pointer)]] nameHash,--[[int* (pointer)]] enumValue,--[[int* (pointer)]] componentType)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.push_arg_int(variantComponentIndex);native_invoker.push_arg_pointer(nameHash);native_invoker.push_arg_pointer(enumValue);native_invoker.push_arg_pointer(componentType);native_invoker.end_call("6E11F282F11863B6");end, + ["_GET_VARIANT_PROP"]=--[[void]] function(--[[Hash (int)]] componentHash,--[[int]] variantPropIndex,--[[Hash* (pointer)]] nameHash,--[[int* (pointer)]] enumValue,--[[int* (pointer)]] anchorPoint)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.push_arg_int(variantPropIndex);native_invoker.push_arg_pointer(nameHash);native_invoker.push_arg_pointer(enumValue);native_invoker.push_arg_pointer(anchorPoint);native_invoker.end_call("D81B7F27BC773E66");end, + -- Returns number of possible values of the forcedComponentIndex argument of GET_FORCED_COMPONENT. + ["GET_SHOP_PED_APPAREL_FORCED_COMPONENT_COUNT"]=--[[int]] function(--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.end_call("C6B9DB42C04DD8C3");return native_invoker.get_return_value_int();end, + -- Returns number of possible values of the forcedPropIndex argument of GET_FORCED_PROP. + ["GET_SHOP_PED_APPAREL_FORCED_PROP_COUNT"]=--[[int]] function(--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.end_call("017568A8182D98A6");return native_invoker.get_return_value_int();end, + ["GET_FORCED_COMPONENT"]=--[[void]] function(--[[Hash (int)]] componentHash,--[[int]] forcedComponentIndex,--[[Hash* (pointer)]] nameHash,--[[int* (pointer)]] enumValue,--[[int* (pointer)]] componentType)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.push_arg_int(forcedComponentIndex);native_invoker.push_arg_pointer(nameHash);native_invoker.push_arg_pointer(enumValue);native_invoker.push_arg_pointer(componentType);native_invoker.end_call("6C93ED8C2F74859B");end, + ["GET_FORCED_PROP"]=--[[void]] function(--[[Hash (int)]] componentHash,--[[int]] forcedPropIndex,--[[Hash* (pointer)]] nameHash,--[[int* (pointer)]] enumValue,--[[int* (pointer)]] anchorPoint)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.push_arg_int(forcedPropIndex);native_invoker.push_arg_pointer(nameHash);native_invoker.push_arg_pointer(enumValue);native_invoker.push_arg_pointer(anchorPoint);native_invoker.end_call("E1CA84EBF72E691D");end, + -- Full list of restriction tags by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedApparelRestrictionTags.json + -- + -- componentId/last parameter seems to be unused. + ["DOES_SHOP_PED_APPAREL_HAVE_RESTRICTION_TAG"]=--[[BOOL (bool)]] function(--[[Hash (int)]] componentHash,--[[Hash (int)]] restrictionTagHash,--[[int]] componentId)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.push_arg_int(restrictionTagHash);native_invoker.push_arg_int(componentId);native_invoker.end_call("341DE7ED1D2A1BFD");return native_invoker.get_return_value_bool();end, + -- characters + -- + -- 0: Michael + -- 1: Franklin + -- 2: Trevor + -- 3: MPMale + -- 4: MPFemale + ["SETUP_SHOP_PED_OUTFIT_QUERY"]=--[[int]] function(--[[int]] character,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(character);native_invoker.push_arg_bool(p1);native_invoker.end_call("F3FBE2D50A6A8C28");return native_invoker.get_return_value_int();end, + -- outfitIndex: from 0 to _GET_NUM_SHOP_PED_OUTFITS(characterIndex, false) - 1. + -- See https://git.io/JtcB8 for example and outfit struct. + ["GET_SHOP_PED_QUERY_OUTFIT"]=--[[void]] function(--[[int]] outfitIndex,--[[Any* (pointer)]] outfit)native_invoker.begin_call();native_invoker.push_arg_int(outfitIndex);native_invoker.push_arg_pointer(outfit);native_invoker.end_call("6D793F03A631FE56");end, + ["GET_SHOP_PED_OUTFIT"]=--[[void]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("B7952076E444979D");end, + ["GET_SHOP_PED_OUTFIT_LOCATE"]=--[[int]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("073CA26B079F956E");return native_invoker.get_return_value_int();end, + -- See https://git.io/JtcBH for example and structs. + ["GET_SHOP_PED_OUTFIT_PROP_VARIANT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] outfitHash,--[[int]] variantIndex,--[[Any* (pointer)]] outPropVariant)native_invoker.begin_call();native_invoker.push_arg_int(outfitHash);native_invoker.push_arg_int(variantIndex);native_invoker.push_arg_pointer(outPropVariant);native_invoker.end_call("A9F9C2E0FDE11CBB");return native_invoker.get_return_value_bool();end, + -- See https://git.io/JtcBH for example and structs. + ["GET_SHOP_PED_OUTFIT_COMPONENT_VARIANT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] outfitHash,--[[int]] variantIndex,--[[Any* (pointer)]] outComponentVariant)native_invoker.begin_call();native_invoker.push_arg_int(outfitHash);native_invoker.push_arg_int(variantIndex);native_invoker.push_arg_pointer(outComponentVariant);native_invoker.end_call("19F2A026EDF0013F");return native_invoker.get_return_value_bool();end, + ["GET_NUM_DLC_VEHICLES"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("A7A866D21CD2329B");return native_invoker.get_return_value_int();end, + -- dlcVehicleIndex is 0 to GET_NUM_DLC_VEHICLS() - 1 + ["GET_DLC_VEHICLE_MODEL"]=--[[Hash (int)]] function(--[[int]] dlcVehicleIndex)native_invoker.begin_call();native_invoker.push_arg_int(dlcVehicleIndex);native_invoker.end_call("ECC01B7C5763333C");return native_invoker.get_return_value_int();end, + -- dlcVehicleIndex takes a number from 0 - GET_NUM_DLC_VEHICLES() - 1. + -- outData is a struct of 3 8-byte items. + -- The Second item in the struct *(Hash *)(outData + 1) is the vehicle hash. + ["GET_DLC_VEHICLE_DATA"]=--[[BOOL (bool)]] function(--[[int]] dlcVehicleIndex,--[[int* (pointer)]] outData)native_invoker.begin_call();native_invoker.push_arg_int(dlcVehicleIndex);native_invoker.push_arg_pointer(outData);native_invoker.end_call("33468EDC08E371F6");return native_invoker.get_return_value_bool();end, + ["GET_DLC_VEHICLE_FLAGS"]=--[[int]] function(--[[int]] dlcVehicleIndex)native_invoker.begin_call();native_invoker.push_arg_int(dlcVehicleIndex);native_invoker.end_call("5549EE11FA22FCF2");return native_invoker.get_return_value_int();end, + -- Returns the total number of DLC weapons. + ["GET_NUM_DLC_WEAPONS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("EE47635F352DA367");return native_invoker.get_return_value_int();end, + -- Returns the total number of DLC weapons that are available in SP (availableInSP field in shop_weapon.meta). + ["_GET_NUM_DLC_WEAPONS_SP"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("4160B65AE085B5A9");return native_invoker.get_return_value_int();end, + -- + -- dlcWeaponIndex takes a number from 0 - GET_NUM_DLC_WEAPONS() - 1. + -- struct DlcWeaponData + -- { + -- int emptyCheck; //use DLC1::_IS_DLC_DATA_EMPTY on this + -- int padding1; + -- int weaponHash; + -- int padding2; + -- int unk; + -- int padding3; + -- int weaponCost; + -- int padding4; + -- int ammoCost; + -- int padding5; + -- int ammoType; + -- int padding6; + -- int defaultClipSize; + -- int padding7; + -- char nameLabel[64]; + -- char descLabel[64]; + -- char desc2Label[64]; // usually "the" + name + -- char upperCaseNameLabel[64]; + -- }; + ["GET_DLC_WEAPON_DATA"]=--[[BOOL (bool)]] function(--[[int]] dlcWeaponIndex,--[[int* (pointer)]] outData)native_invoker.begin_call();native_invoker.push_arg_int(dlcWeaponIndex);native_invoker.push_arg_pointer(outData);native_invoker.end_call("79923CD21BECE14E");return native_invoker.get_return_value_bool();end, + -- Same as GET_DLC_WEAPON_DATA but only works for DLC weapons that are available in SP. + ["_GET_DLC_WEAPON_DATA_SP"]=--[[BOOL (bool)]] function(--[[int]] dlcWeaponIndex,--[[int* (pointer)]] outData)native_invoker.begin_call();native_invoker.push_arg_int(dlcWeaponIndex);native_invoker.push_arg_pointer(outData);native_invoker.end_call("310836EE7129BA33");return native_invoker.get_return_value_bool();end, + -- Returns the total number of DLC weapon components. + ["GET_NUM_DLC_WEAPON_COMPONENTS"]=--[[int]] function(--[[int]] dlcWeaponIndex)native_invoker.begin_call();native_invoker.push_arg_int(dlcWeaponIndex);native_invoker.end_call("405425358A7D61FE");return native_invoker.get_return_value_int();end, + -- Returns the total number of DLC weapon components that are available in SP. + ["_GET_NUM_DLC_WEAPON_COMPONENTS_SP"]=--[[int]] function(--[[int]] dlcWeaponIndex)native_invoker.begin_call();native_invoker.push_arg_int(dlcWeaponIndex);native_invoker.end_call("AD2A7A6DFF55841B");return native_invoker.get_return_value_int();end, + -- p0 seems to be the weapon index + -- p1 seems to be the weapon component index + -- struct DlcComponentData{ + -- int attachBone; + -- int padding1; + -- int bActiveByDefault; + -- int padding2; + -- int unk; + -- int padding3; + -- int componentHash; + -- int padding4; + -- int unk2; + -- int padding5; + -- int componentCost; + -- int padding6; + -- char nameLabel[64]; + -- char descLabel[64]; + -- }; + -- + ["GET_DLC_WEAPON_COMPONENT_DATA"]=--[[BOOL (bool)]] function(--[[int]] dlcWeaponIndex,--[[int]] dlcWeapCompIndex,--[[int* (pointer)]] ComponentDataPtr)native_invoker.begin_call();native_invoker.push_arg_int(dlcWeaponIndex);native_invoker.push_arg_int(dlcWeapCompIndex);native_invoker.push_arg_pointer(ComponentDataPtr);native_invoker.end_call("6CF598A2957C2BF8");return native_invoker.get_return_value_bool();end, + -- Same as GET_DLC_WEAPON_COMPONENT_DATA but only works for DLC components that are available in SP. + ["_GET_DLC_WEAPON_COMPONENT_DATA_SP"]=--[[BOOL (bool)]] function(--[[int]] dlcWeaponIndex,--[[int]] dlcWeapCompIndex,--[[int* (pointer)]] ComponentDataPtr)native_invoker.begin_call();native_invoker.push_arg_int(dlcWeaponIndex);native_invoker.push_arg_int(dlcWeapCompIndex);native_invoker.push_arg_pointer(ComponentDataPtr);native_invoker.end_call("31D5E073B6F93CDC");return native_invoker.get_return_value_bool();end, + ["IS_CONTENT_ITEM_LOCKED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] itemHash)native_invoker.begin_call();native_invoker.push_arg_int(itemHash);native_invoker.end_call("D4D7B033C3AA243C");return native_invoker.get_return_value_bool();end, + ["IS_DLC_VEHICLE_MOD"]=--[[BOOL (bool)]] function(--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.end_call("0564B9FF9631B82C");return native_invoker.get_return_value_bool();end, + ["GET_DLC_VEHICLE_MOD_LOCK_HASH"]=--[[Hash (int)]] function(--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.end_call("C098810437312FFF");return native_invoker.get_return_value_int();end, + -- From fm_deathmatch_creator and fm_race_creator: + -- + -- FILES::_UNLOAD_CONTENT_CHANGE_SET_GROUP(joaat("GROUP_MAP_SP")); + -- FILES::_LOAD_CONTENT_CHANGE_SET_GROUP(joaat("GROUP_MAP")); + ["_LOAD_CONTENT_CHANGE_SET_GROUP"]=--[[void]] function(--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.end_call("6BEDF5769AC2DC07");end, + -- From fm_deathmatch_creator and fm_race_creator: + -- + -- FILES::_UNLOAD_CONTENT_CHANGE_SET_GROUP(joaat("GROUP_MAP_SP")); + -- FILES::_LOAD_CONTENT_CHANGE_SET_GROUP(joaat("GROUP_MAP")); + ["_UNLOAD_CONTENT_CHANGE_SET_GROUP"]=--[[void]] function(--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.end_call("3C1978285B036B25");end, +} +FIRE={ + -- Starts a fire: + -- + -- xyz: Location of fire + -- maxChildren: The max amount of times a fire can spread to other objects. Must be 25 or less, or the function will do nothing. + -- isGasFire: Whether or not the fire is powered by gasoline. + ["START_SCRIPT_FIRE"]=--[[FireId (int)]] function(--[[float]] X,--[[float]] Y,--[[float]] Z,--[[int]] maxChildren,--[[BOOL (bool)]] isGasFire)native_invoker.begin_call();native_invoker.push_arg_float(X);native_invoker.push_arg_float(Y);native_invoker.push_arg_float(Z);native_invoker.push_arg_int(maxChildren);native_invoker.push_arg_bool(isGasFire);native_invoker.end_call("6B83617E04503888");return native_invoker.get_return_value_int();end, + ["REMOVE_SCRIPT_FIRE"]=--[[void]] function(--[[FireId (int)]] fireHandle)native_invoker.begin_call();native_invoker.push_arg_int(fireHandle);native_invoker.end_call("7FF548385680673F");end, + ["START_ENTITY_FIRE"]=--[[FireId (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("F6A9D9708F6F23DF");return native_invoker.get_return_value_int();end, + ["STOP_ENTITY_FIRE"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("7F0DD2EBBB651AFF");end, + ["IS_ENTITY_ON_FIRE"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("28D3FED7190D3A0B");return native_invoker.get_return_value_bool();end, + ["GET_NUMBER_OF_FIRES_IN_RANGE"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("50CAD495A460B305");return native_invoker.get_return_value_int();end, + -- SET_FIRE_* + ["_SET_FIRE_SPREAD_RATE"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("8F390AC4155099BA");end, + ["STOP_FIRE_IN_RANGE"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("056A8A219B8E829F");end, + -- Returns TRUE if it found something. FALSE if not. + ["GET_CLOSEST_FIRE_POS"]=--[[BOOL (bool)]] function(--[[Vector3* (pointer)]] outPosition,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_pointer(outPosition);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("352A9F6BCF90081F");return native_invoker.get_return_value_bool();end, + -- BOOL isAudible = If explosion makes a sound. + -- BOOL isInvisible = If the explosion is invisible or not. + -- + -- explosionType: https://alloc8or.re/gta5/doc/enums/eExplosionTag.txt + ["ADD_EXPLOSION"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] explosionType,--[[float]] damageScale,--[[BOOL (bool)]] isAudible,--[[BOOL (bool)]] isInvisible,--[[float]] cameraShake,--[[BOOL (bool)]] noDamage)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(explosionType);native_invoker.push_arg_float(damageScale);native_invoker.push_arg_bool(isAudible);native_invoker.push_arg_bool(isInvisible);native_invoker.push_arg_float(cameraShake);native_invoker.push_arg_bool(noDamage);native_invoker.end_call("E3AD2BDBAEE269AC");end, + -- isAudible: If explosion makes a sound. + -- isInvisible: If the explosion is invisible or not. + -- explosionType: See ADD_EXPLOSION. + ["ADD_OWNED_EXPLOSION"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] explosionType,--[[float]] damageScale,--[[BOOL (bool)]] isAudible,--[[BOOL (bool)]] isInvisible,--[[float]] cameraShake)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(explosionType);native_invoker.push_arg_float(damageScale);native_invoker.push_arg_bool(isAudible);native_invoker.push_arg_bool(isInvisible);native_invoker.push_arg_float(cameraShake);native_invoker.end_call("172AA1B624FA1013");end, + -- isAudible: If explosion makes a sound. + -- isInvisible: If the explosion is invisible or not. + -- explosionType: See ADD_EXPLOSION. + ["ADD_EXPLOSION_WITH_USER_VFX"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] explosionType,--[[Hash (int)]] explosionFx,--[[float]] damageScale,--[[BOOL (bool)]] isAudible,--[[BOOL (bool)]] isInvisible,--[[float]] cameraShake)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(explosionType);native_invoker.push_arg_int(explosionFx);native_invoker.push_arg_float(damageScale);native_invoker.push_arg_bool(isAudible);native_invoker.push_arg_bool(isInvisible);native_invoker.push_arg_float(cameraShake);native_invoker.end_call("36DD3FE58B5E5212");end, + -- explosionType: See ADD_EXPLOSION. + ["IS_EXPLOSION_IN_AREA"]=--[[BOOL (bool)]] function(--[[int]] explosionType,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2)native_invoker.begin_call();native_invoker.push_arg_int(explosionType);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.end_call("2E2EBA0EE7CED0E0");return native_invoker.get_return_value_bool();end, + -- explosionType: See ADD_EXPLOSION. + ["IS_EXPLOSION_ACTIVE_IN_AREA"]=--[[BOOL (bool)]] function(--[[int]] explosionType,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2)native_invoker.begin_call();native_invoker.push_arg_int(explosionType);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.end_call("6070104B699B2EF4");return native_invoker.get_return_value_bool();end, + -- explosionType: See ADD_EXPLOSION. + ["IS_EXPLOSION_IN_SPHERE"]=--[[BOOL (bool)]] function(--[[int]] explosionType,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_int(explosionType);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("AB0F816885B0E483");return native_invoker.get_return_value_bool();end, + -- explosionType: See ADD_EXPLOSION. + ["_GET_ENTITY_INSIDE_EXPLOSION_SPHERE"]=--[[Entity (int)]] function(--[[int]] explosionType,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_int(explosionType);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("B3CD51E3DB86F176");return native_invoker.get_return_value_int();end, + -- explosionType: See ADD_EXPLOSION, -1 for any explosion type + -- + ["IS_EXPLOSION_IN_ANGLED_AREA"]=--[[BOOL (bool)]] function(--[[int]] explosionType,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] width)native_invoker.begin_call();native_invoker.push_arg_int(explosionType);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(width);native_invoker.end_call("A079A6C51525DC4B");return native_invoker.get_return_value_bool();end, + -- Returns a handle to the first entity within the a circle spawned inside the 2 points from a radius. + -- + -- explosionType: See ADD_EXPLOSION. + ["_GET_ENTITY_INSIDE_EXPLOSION_AREA"]=--[[Entity (int)]] function(--[[int]] explosionType,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_int(explosionType);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(radius);native_invoker.end_call("14BA4BA137AF6CEC");return native_invoker.get_return_value_int();end, +} +GRAPHICS={ + -- NOTE: Debugging functions are not present in the retail version of the game. + ["SET_DEBUG_LINES_AND_SPHERES_DRAWING_ACTIVE"]=--[[void]] function(--[[BOOL (bool)]] enabled)native_invoker.begin_call();native_invoker.push_arg_bool(enabled);native_invoker.end_call("175B6BFC15CDD0C5");end, + ["DRAW_DEBUG_LINE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("7FDFADE676AA3CB0");end, + -- NOTE: Debugging functions are not present in the retail version of the game. + ["DRAW_DEBUG_LINE_WITH_TWO_COLOURS"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[int]] r1,--[[int]] g1,--[[int]] b1,--[[int]] r2,--[[int]] g2,--[[int]] b2,--[[int]] alpha1,--[[int]] alpha2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(r1);native_invoker.push_arg_int(g1);native_invoker.push_arg_int(b1);native_invoker.push_arg_int(r2);native_invoker.push_arg_int(g2);native_invoker.push_arg_int(b2);native_invoker.push_arg_int(alpha1);native_invoker.push_arg_int(alpha2);native_invoker.end_call("D8B9A8AC5608FF94");end, + -- NOTE: Debugging functions are not present in the retail version of the game. + ["DRAW_DEBUG_SPHERE"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("AAD68E1AB39DA632");end, + ["DRAW_DEBUG_BOX"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("083A2CA4F2E573BD");end, + -- NOTE: Debugging functions are not present in the retail version of the game. + ["DRAW_DEBUG_CROSS"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] size,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(size);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("73B1189623049839");end, + -- NOTE: Debugging functions are not present in the retail version of the game. + ["DRAW_DEBUG_TEXT"]=--[[void]] function(--[[string]] text,--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_string(text);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("3903E216620488E8");end, + -- NOTE: Debugging functions are not present in the retail version of the game. + ["DRAW_DEBUG_TEXT_2D"]=--[[void]] function(--[[string]] text,--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_string(text);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("A3BB2E9555C05A8F");end, + -- Draws a depth-tested line from one point to another. + -- ---------------- + -- x1, y1, z1 : Coordinates for the first point + -- x2, y2, z2 : Coordinates for the second point + -- r, g, b, alpha : Color with RGBA-Values + -- I recommend using a predefined function to call this. + -- [VB.NET] + -- Public Sub DrawLine(from As Vector3, [to] As Vector3, col As Color) + -- [Function].Call(Hash.DRAW_LINE, from.X, from.Y, from.Z, [to].X, [to].Y, [to].Z, col.R, col.G, col.B, col.A) + -- End Sub + -- + -- [C#] + -- public void DrawLine(Vector3 from, Vector3 to, Color col) + -- { + -- Function.Call(Hash.DRAW_LINE, from.X, from.Y, from.Z, to.X, to.Y, to.Z, col.R, col.G, col.B, col.A); + -- } + ["DRAW_LINE"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("6B7256074AE34680");end, + -- x/y/z - Location of a vertex (in world coords), presumably. + -- ---------------- + -- x1, y1, z1 : Coordinates for the first point + -- x2, y2, z2 : Coordinates for the second point + -- x3, y3, z3 : Coordinates for the third point + -- r, g, b, alpha : Color with RGBA-Values + -- + -- Keep in mind that only one side of the drawn triangle is visible: It's the side, in which the vector-product of the vectors heads to: (b-a)x(c-a) Or (b-a)x(c-b). + -- But be aware: The function seems to work somehow differently. I have trouble having them drawn in rotated orientation. Try it yourself and if you somehow succeed, please edit this and post your solution. + -- I recommend using a predefined function to call this. + -- [VB.NET] + -- Public Sub DrawPoly(a As Vector3, b As Vector3, c As Vector3, col As Color) + -- [Function].Call(Hash.DRAW_POLY, a.X, a.Y, a.Z, b.X, b.Y, b.Z, c.X, c.Y, c.Z, col.R, col.G, col.B, col.A) + -- End Sub + -- + -- [C#] + -- public void DrawPoly(Vector3 a, Vector3 b, Vector3 c, Color col) + -- { + -- Function.Call(Hash.DRAW_POLY, a.X, a.Y, a.Z, b.X, b.Y, b.Z, c.X, c.Y, c.Z, col.R, col.G, col.B, col.A); + -- } + -- BTW: Intersecting triangles are not supported: They overlap in the order they were called. + ["DRAW_POLY"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] x3,--[[float]] y3,--[[float]] z3,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(x3);native_invoker.push_arg_float(y3);native_invoker.push_arg_float(z3);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("AC26716048436851");end, + -- Used for drawling Deadline trailing lights, see deadline.ytd + -- + -- p15 through p23 are values that appear to be related to illiumation, scaling, and rotation; more testing required. + -- For UVW mapping (u,v,w parameters), reference your favourite internet resource for more details. + ["_DRAW_SPRITE_POLY"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] x3,--[[float]] y3,--[[float]] z3,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha,--[[string]] textureDict,--[[string]] textureName,--[[float]] u1,--[[float]] v1,--[[float]] w1,--[[float]] u2,--[[float]] v2,--[[float]] w2,--[[float]] u3,--[[float]] v3,--[[float]] w3)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(x3);native_invoker.push_arg_float(y3);native_invoker.push_arg_float(z3);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.push_arg_string(textureDict);native_invoker.push_arg_string(textureName);native_invoker.push_arg_float(u1);native_invoker.push_arg_float(v1);native_invoker.push_arg_float(w1);native_invoker.push_arg_float(u2);native_invoker.push_arg_float(v2);native_invoker.push_arg_float(w2);native_invoker.push_arg_float(u3);native_invoker.push_arg_float(v3);native_invoker.push_arg_float(w3);native_invoker.end_call("29280002282F1928");end, + -- Used for drawling Deadline trailing lights, see deadline.ytd + -- + -- Each vertex has its own colour that is blended/illuminated on the texture. Additionally, the R, G, and B components are floats that are int-casted internally. + -- For UVW mapping (u,v,w parameters), reference your favourite internet resource for more details. + ["_DRAW_SPRITE_POLY_2"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] x3,--[[float]] y3,--[[float]] z3,--[[float]] red1,--[[float]] green1,--[[float]] blue1,--[[int]] alpha1,--[[float]] red2,--[[float]] green2,--[[float]] blue2,--[[int]] alpha2,--[[float]] red3,--[[float]] green3,--[[float]] blue3,--[[int]] alpha3,--[[string]] textureDict,--[[string]] textureName,--[[float]] u1,--[[float]] v1,--[[float]] w1,--[[float]] u2,--[[float]] v2,--[[float]] w2,--[[float]] u3,--[[float]] v3,--[[float]] w3)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(x3);native_invoker.push_arg_float(y3);native_invoker.push_arg_float(z3);native_invoker.push_arg_float(red1);native_invoker.push_arg_float(green1);native_invoker.push_arg_float(blue1);native_invoker.push_arg_int(alpha1);native_invoker.push_arg_float(red2);native_invoker.push_arg_float(green2);native_invoker.push_arg_float(blue2);native_invoker.push_arg_int(alpha2);native_invoker.push_arg_float(red3);native_invoker.push_arg_float(green3);native_invoker.push_arg_float(blue3);native_invoker.push_arg_int(alpha3);native_invoker.push_arg_string(textureDict);native_invoker.push_arg_string(textureName);native_invoker.push_arg_float(u1);native_invoker.push_arg_float(v1);native_invoker.push_arg_float(w1);native_invoker.push_arg_float(u2);native_invoker.push_arg_float(v2);native_invoker.push_arg_float(w2);native_invoker.push_arg_float(u3);native_invoker.push_arg_float(v3);native_invoker.push_arg_float(w3);native_invoker.end_call("736D7AA1B750856B");end, + -- x,y,z = start pos + -- x2,y2,z2 = end pos + -- + -- Draw's a 3D Box between the two x,y,z coords. + -- -------------- + -- Keep in mind that the edges of the box do only align to the worlds base-vectors. Therefore something like rotation cannot be applied. That means this function is pretty much useless, unless you want a static unicolor box somewhere. + -- I recommend using a predefined function to call this. + -- [VB.NET] + -- Public Sub DrawBox(a As Vector3, b As Vector3, col As Color) + -- [Function].Call(Hash.DRAW_BOX,a.X, a.Y, a.Z,b.X, b.Y, b.Z,col.R, col.G, col.B, col.A) + -- End Sub + -- + -- [C#] + -- public void DrawBox(Vector3 a, Vector3 b, Color col) + -- { + -- Function.Call(Hash.DRAW_BOX,a.X, a.Y, a.Z,b.X, b.Y, b.Z,col.R, col.G, col.B, col.A); + -- } + ["DRAW_BOX"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("D3A9971CADAC7252");end, + ["SET_BACKFACECULLING"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("23BA6B0C2AD7B0D3");end, + ["_0xC5C8F970D4EDFF71"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("C5C8F970D4EDFF71");end, + ["BEGIN_TAKE_MISSION_CREATOR_PHOTO"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("1DD2139A9A20DCE8");return native_invoker.get_return_value_int();end, + ["GET_STATUS_OF_TAKE_MISSION_CREATOR_PHOTO"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("90A78ECAA4E78453");return native_invoker.get_return_value_int();end, + ["FREE_MEMORY_FOR_MISSION_CREATOR_PHOTO"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0A46AF8A78DC5E0A");end, + ["LOAD_MISSION_CREATOR_PHOTO"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("4862437A486F91B0");return native_invoker.get_return_value_bool();end, + ["GET_STATUS_OF_LOAD_MISSION_CREATOR_PHOTO"]=--[[int]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("1670F8D05056F257");return native_invoker.get_return_value_int();end, + ["_0x7FA5D82B8F58EC06"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("7FA5D82B8F58EC06");return native_invoker.get_return_value_int();end, + ["_0x5B0316762AFD4A64"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("5B0316762AFD4A64");return native_invoker.get_return_value_int();end, + ["_0x346EF3ECAAAB149E"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("346EF3ECAAAB149E");end, + ["BEGIN_TAKE_HIGH_QUALITY_PHOTO"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A67C35C56EB1BD9D");return native_invoker.get_return_value_bool();end, + ["GET_STATUS_OF_TAKE_HIGH_QUALITY_PHOTO"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("0D6CA79EEEBD8CA3");return native_invoker.get_return_value_int();end, + ["FREE_MEMORY_FOR_HIGH_QUALITY_PHOTO"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D801CC02177FA3F1");end, + ["_0x1BBC135A4D25EDDE"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("1BBC135A4D25EDDE");end, + ["_0xF3F776ADA161E47D"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("F3F776ADA161E47D");end, + ["_0xADD6627C4D325458"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("ADD6627C4D325458");end, + -- 1 match in 1 script. cellphone_controller. + -- p0 is -1 in scripts. + ["SAVE_HIGH_QUALITY_PHOTO"]=--[[BOOL (bool)]] function(--[[int]] unused)native_invoker.begin_call();native_invoker.push_arg_int(unused);native_invoker.end_call("3DEC726C25A11BAC");return native_invoker.get_return_value_bool();end, + ["GET_STATUS_OF_SAVE_HIGH_QUALITY_PHOTO"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("0C0C4E81E1AC60A0");return native_invoker.get_return_value_int();end, + ["_0x759650634F07B6B4"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("759650634F07B6B4");return native_invoker.get_return_value_bool();end, + ["_0xCB82A0BF0E3E3265"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("CB82A0BF0E3E3265");return native_invoker.get_return_value_int();end, + ["_0x6A12D88881435DCA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6A12D88881435DCA");end, + ["_0x1072F115DAB0717E"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("1072F115DAB0717E");end, + -- This function is hard-coded to always return 0. + ["GET_MAXIMUM_NUMBER_OF_PHOTOS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("34D23450F028B0BF");return native_invoker.get_return_value_int();end, + -- This function is hard-coded to always return 96. + ["GET_MAXIMUM_NUMBER_OF_CLOUD_PHOTOS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("DC54A7AF8B3A14EF");return native_invoker.get_return_value_int();end, + -- GET_CURRENT_* + ["_GET_CURRENT_NUMBER_OF_PHOTOS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("473151EBC762C6DA");return native_invoker.get_return_value_int();end, + -- 2 matches across 2 scripts. Only showed in appcamera & appmedia. Both were 0. + ["_0x2A893980E96B659A"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2A893980E96B659A");return native_invoker.get_return_value_int();end, + -- 3 matches across 3 scripts. First 2 were 0, 3rd was 1. Possibly a bool. + -- appcamera, appmedia, and cellphone_controller. + ["_0xF5BED327CEA362B1"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F5BED327CEA362B1");return native_invoker.get_return_value_int();end, + ["_0x4AF92ACD3141D96C"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("4AF92ACD3141D96C");end, + -- This function is hard-coded to always return 0. + ["_0xE791DF1F73ED2C8B"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E791DF1F73ED2C8B");return native_invoker.get_return_value_int();end, + -- This function is hard-coded to always return 0. + ["_0xEC72C258667BE5EA"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("EC72C258667BE5EA");return native_invoker.get_return_value_int();end, + -- GET_L* + -- + -- Hardcoded to always return 2. + ["_RETURN_TWO"]=--[[int]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("40AFB081F8ADD4EE");return native_invoker.get_return_value_int();end, + ["_DRAW_LIGHT_WITH_RANGE_AND_SHADOW"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] r,--[[int]] g,--[[int]] b,--[[float]] range,--[[float]] intensity,--[[float]] shadow)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.push_arg_float(range);native_invoker.push_arg_float(intensity);native_invoker.push_arg_float(shadow);native_invoker.end_call("F49E9A9716A04595");end, + ["DRAW_LIGHT_WITH_RANGE"]=--[[void]] function(--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[int]] colorR,--[[int]] colorG,--[[int]] colorB,--[[float]] range,--[[float]] intensity)native_invoker.begin_call();native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_int(colorR);native_invoker.push_arg_int(colorG);native_invoker.push_arg_int(colorB);native_invoker.push_arg_float(range);native_invoker.push_arg_float(intensity);native_invoker.end_call("F2A1B2771A01DBD4");end, + -- Parameters: + -- * pos - coordinate where the spotlight is located + -- * dir - the direction vector the spotlight should aim at from its current position + -- * r,g,b - color of the spotlight + -- * distance - the maximum distance the light can reach + -- * brightness - the brightness of the light + -- * roundness - "smoothness" of the circle edge + -- * radius - the radius size of the spotlight + -- * falloff - the falloff size of the light's edge (example: www.i.imgur.com/DemAWeO.jpg) + -- + -- Example in C# (spotlight aims at the closest vehicle): + -- Vector3 myPos = Game.Player.Character.Position; + -- Vehicle nearest = World.GetClosestVehicle(myPos , 1000f); + -- Vector3 destinationCoords = nearest.Position; + -- Vector3 dirVector = destinationCoords - myPos; + -- dirVector.Normalize(); + -- Function.Call(Hash.DRAW_SPOT_LIGHT, pos.X, pos.Y, pos.Z, dirVector.X, dirVector.Y, dirVector.Z, 255, 255, 255, 100.0f, 1f, 0.0f, 13.0f, 1f); + ["DRAW_SPOT_LIGHT"]=--[[void]] function(--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] dirX,--[[float]] dirY,--[[float]] dirZ,--[[int]] colorR,--[[int]] colorG,--[[int]] colorB,--[[float]] distance,--[[float]] brightness,--[[float]] hardness,--[[float]] radius,--[[float]] falloff)native_invoker.begin_call();native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(dirX);native_invoker.push_arg_float(dirY);native_invoker.push_arg_float(dirZ);native_invoker.push_arg_int(colorR);native_invoker.push_arg_int(colorG);native_invoker.push_arg_int(colorB);native_invoker.push_arg_float(distance);native_invoker.push_arg_float(brightness);native_invoker.push_arg_float(hardness);native_invoker.push_arg_float(radius);native_invoker.push_arg_float(falloff);native_invoker.end_call("D0F64B265C8C8B33");end, + ["_DRAW_SPOT_LIGHT_WITH_SHADOW"]=--[[void]] function(--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] dirX,--[[float]] dirY,--[[float]] dirZ,--[[int]] colorR,--[[int]] colorG,--[[int]] colorB,--[[float]] distance,--[[float]] brightness,--[[float]] roundness,--[[float]] radius,--[[float]] falloff,--[[int]] shadowId)native_invoker.begin_call();native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(dirX);native_invoker.push_arg_float(dirY);native_invoker.push_arg_float(dirZ);native_invoker.push_arg_int(colorR);native_invoker.push_arg_int(colorG);native_invoker.push_arg_int(colorB);native_invoker.push_arg_float(distance);native_invoker.push_arg_float(brightness);native_invoker.push_arg_float(roundness);native_invoker.push_arg_float(radius);native_invoker.push_arg_float(falloff);native_invoker.push_arg_int(shadowId);native_invoker.end_call("5BCA583A583194DB");end, + ["FADE_UP_PED_LIGHT"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("C9B18B4619F48F7B");end, + ["UPDATE_LIGHTS_ON_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("DEADC0DEDEADC0DE");end, + ["_0x9641588DAB93B4B5"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("9641588DAB93B4B5");end, + ["_0x393BD2275CEB7793"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("393BD2275CEB7793");return native_invoker.get_return_value_int();end, + -- enum MarkerTypes + -- { + -- MarkerTypeUpsideDownCone = 0, + -- MarkerTypeVerticalCylinder = 1, + -- MarkerTypeThickChevronUp = 2, + -- MarkerTypeThinChevronUp = 3, + -- MarkerTypeCheckeredFlagRect = 4, + -- MarkerTypeCheckeredFlagCircle = 5, + -- MarkerTypeVerticleCircle = 6, + -- MarkerTypePlaneModel = 7, + -- MarkerTypeLostMCDark = 8, + -- MarkerTypeLostMCLight = 9, + -- MarkerTypeNumber0 = 10, + -- MarkerTypeNumber1 = 11, + -- MarkerTypeNumber2 = 12, + -- MarkerTypeNumber3 = 13, + -- MarkerTypeNumber4 = 14, + -- MarkerTypeNumber5 = 15, + -- MarkerTypeNumber6 = 16, + -- MarkerTypeNumber7 = 17, + -- MarkerTypeNumber8 = 18, + -- MarkerTypeNumber9 = 19, + -- MarkerTypeChevronUpx1 = 20, + -- MarkerTypeChevronUpx2 = 21, + -- MarkerTypeChevronUpx3 = 22, + -- MarkerTypeHorizontalCircleFat = 23, + -- MarkerTypeReplayIcon = 24, + -- MarkerTypeHorizontalCircleSkinny = 25, + -- MarkerTypeHorizontalCircleSkinny_Arrow = 26, + -- MarkerTypeHorizontalSplitArrowCircle = 27, + -- MarkerTypeDebugSphere = 28, + -- MarkerTypeDallorSign = 29, + -- MarkerTypeHorizontalBars = 30, + -- MarkerTypeWolfHead = 31 + -- }; + -- + -- dirX/Y/Z represent a heading on each axis in which the marker should face, alternatively you can rotate each axis independently with rotX/Y/Z (and set dirX/Y/Z all to 0). + -- + -- faceCamera - Rotates only the y-axis (the heading) towards the camera + -- + -- p19 - no effect, default value in script is 2 + -- + -- rotate - Rotates only on the y-axis (the heading) + -- + -- textureDict - Name of texture dictionary to load texture from (e.g. "GolfPutting") + -- + -- textureName - Name of texture inside dictionary to load (e.g. "PuttingMarker") + -- + -- drawOnEnts - Draws the marker onto any entities that intersect it + -- + -- basically what he said, except textureDict and textureName are totally not const char*, or if so, then they are always set to 0/NULL/nullptr in every script I checked, eg: + -- + -- bj.c: graphics::draw_marker(6, vParam0, 0f, 0f, 1f, 0f, 0f, 0f, 4f, 4f, 4f, 240, 200, 80, iVar1, 0, 0, 2, 0, 0, 0, false); + -- + -- his is what I used to draw an amber downward pointing chevron "V", has to be redrawn every frame. The 180 is for 180 degrees rotation around the Y axis, the 50 is alpha, assuming max is 100, but it will accept 255. + -- + -- GRAPHICS::DRAW_MARKER(2, v.x, v.y, v.z + 2, 0, 0, 0, 0, 180, 0, 2, 2, 2, 255, 128, 0, 50, 0, 1, 1, 0, 0, 0, 0); + -- + -- + ["DRAW_MARKER"]=--[[void]] function(--[[int]] type,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] dirX,--[[float]] dirY,--[[float]] dirZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[float]] scaleX,--[[float]] scaleY,--[[float]] scaleZ,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha,--[[BOOL (bool)]] bobUpAndDown,--[[BOOL (bool)]] faceCamera,--[[int]] p19,--[[BOOL (bool)]] rotate,--[[string]] textureDict,--[[string]] textureName,--[[BOOL (bool)]] drawOnEnts)native_invoker.begin_call();native_invoker.push_arg_int(type);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(dirX);native_invoker.push_arg_float(dirY);native_invoker.push_arg_float(dirZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_float(scaleX);native_invoker.push_arg_float(scaleY);native_invoker.push_arg_float(scaleZ);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.push_arg_bool(bobUpAndDown);native_invoker.push_arg_bool(faceCamera);native_invoker.push_arg_int(p19);native_invoker.push_arg_bool(rotate);native_invoker.push_arg_string(textureDict);native_invoker.push_arg_string(textureName);native_invoker.push_arg_bool(drawOnEnts);native_invoker.end_call("28477EC23D892089");end, + ["_DRAW_MARKER_2"]=--[[void]] function(--[[int]] type,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] dirX,--[[float]] dirY,--[[float]] dirZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[float]] scaleX,--[[float]] scaleY,--[[float]] scaleZ,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha,--[[BOOL (bool)]] bobUpAndDown,--[[BOOL (bool)]] faceCamera,--[[Any (int)]] p19,--[[BOOL (bool)]] rotate,--[[string]] textureDict,--[[string]] textureName,--[[BOOL (bool)]] drawOnEnts,--[[BOOL (bool)]] p24,--[[BOOL (bool)]] p25)native_invoker.begin_call();native_invoker.push_arg_int(type);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(dirX);native_invoker.push_arg_float(dirY);native_invoker.push_arg_float(dirZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_float(scaleX);native_invoker.push_arg_float(scaleY);native_invoker.push_arg_float(scaleZ);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.push_arg_bool(bobUpAndDown);native_invoker.push_arg_bool(faceCamera);native_invoker.push_arg_int(p19);native_invoker.push_arg_bool(rotate);native_invoker.push_arg_string(textureDict);native_invoker.push_arg_string(textureName);native_invoker.push_arg_bool(drawOnEnts);native_invoker.push_arg_bool(p24);native_invoker.push_arg_bool(p25);native_invoker.end_call("E82728F0DE75D13A");end, + -- Draws a 3D sphere, typically seen in the GTA:O freemode event "Penned In". + -- Example https://imgur.com/nCbtS4H + ["_DRAW_SPHERE"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[int]] red,--[[int]] green,--[[int]] blue,--[[float]] alpha)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_float(alpha);native_invoker.end_call("799017F9E3B10112");end, + -- Creates a checkpoint. Returns the handle of the checkpoint. + -- + -- 20/03/17 : Attention, checkpoints are already handled by the game itself, so you must not loop it like markers. + -- + -- Parameters: + -- * type - The type of checkpoint to create. See below for a list of checkpoint types. + -- * pos1 - The position of the checkpoint. + -- * pos2 - The position of the next checkpoint to point to. + -- * radius - The radius of the checkpoint. + -- * color - The color of the checkpoint. + -- * reserved - Special parameter, see below for details. Usually set to 0 in the scripts. + -- + -- Checkpoint types: + -- 0-4---------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker + -- 5-9---------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker + -- 10-14-------Ring: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker + -- 15-19-------1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker + -- 20-24-------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker + -- 25-29-------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker + -- 30-34-------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker + -- 35-38-------Ring: Airplane Up, Left, Right, UpsideDown + -- 39----------? + -- 40----------Ring: just a ring + -- 41----------? + -- 42-44-------Cylinder w/ number (uses 'reserved' parameter) + -- 45-47-------Cylinder no arrow or number + -- + -- If using type 42-44, reserved sets number / number and shape to display + -- + -- 0-99------------Just numbers (0-99) + -- 100-109-----------------Arrow (0-9) + -- 110-119------------Two arrows (0-9) + -- 120-129----------Three arrows (0-9) + -- 130-139----------------Circle (0-9) + -- 140-149------------CycleArrow (0-9) + -- 150-159----------------Circle (0-9) + -- 160-169----Circle w/ pointer (0-9) + -- 170-179-------Perforated ring (0-9) + -- 180-189----------------Sphere (0-9) + ["CREATE_CHECKPOINT"]=--[[int]] function(--[[int]] type,--[[float]] posX1,--[[float]] posY1,--[[float]] posZ1,--[[float]] posX2,--[[float]] posY2,--[[float]] posZ2,--[[float]] diameter,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha,--[[int]] reserved)native_invoker.begin_call();native_invoker.push_arg_int(type);native_invoker.push_arg_float(posX1);native_invoker.push_arg_float(posY1);native_invoker.push_arg_float(posZ1);native_invoker.push_arg_float(posX2);native_invoker.push_arg_float(posY2);native_invoker.push_arg_float(posZ2);native_invoker.push_arg_float(diameter);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.push_arg_int(reserved);native_invoker.end_call("0134F0835AB6BFCB");return native_invoker.get_return_value_int();end, + -- p0 - Scale? Looks to be a normalized value (0.0 - 1.0) + -- + -- offroad_races.c4, line ~67407: + -- a_3._f7 = GRAPHICS::CREATE_CHECKPOINT(v_D, v_A, a_4, a_7, v_E, v_F, v_10, sub_62b2(v_A, 220, 255), 0); + -- HUD::GET_HUD_COLOUR(134, &v_E, &v_F, &v_10, &v_11); + -- GRAPHICS::_SET_CHECKPOINT_ICON_RGBA(a_3._f7, v_E, v_F, v_10, sub_62b2(v_A, 70, 210)); + -- GRAPHICS::_4B5B4DA5D79F1943(a_3._f7, 0.95); + -- GRAPHICS::SET_CHECKPOINT_CYLINDER_HEIGHT(a_3._f7, 4.0, 4.0, 100.0); + -- + ["_SET_CHECKPOINT_SCALE"]=--[[void]] function(--[[int]] checkpoint,--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_int(checkpoint);native_invoker.push_arg_float(p0);native_invoker.end_call("4B5B4DA5D79F1943");end, + ["_0x44621483FF966526"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("44621483FF966526");end, + -- Sets the cylinder height of the checkpoint. + -- + -- Parameters: + -- * nearHeight - The height of the checkpoint when inside of the radius. + -- * farHeight - The height of the checkpoint when outside of the radius. + -- * radius - The radius of the checkpoint. + ["SET_CHECKPOINT_CYLINDER_HEIGHT"]=--[[void]] function(--[[int]] checkpoint,--[[float]] nearHeight,--[[float]] farHeight,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_int(checkpoint);native_invoker.push_arg_float(nearHeight);native_invoker.push_arg_float(farHeight);native_invoker.push_arg_float(radius);native_invoker.end_call("2707AAE9D9297D89");end, + -- Sets the checkpoint color. + ["SET_CHECKPOINT_RGBA"]=--[[void]] function(--[[int]] checkpoint,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_int(checkpoint);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("7167371E8AD747F7");end, + -- Sets the checkpoint icon color. + ["_SET_CHECKPOINT_ICON_RGBA"]=--[[void]] function(--[[int]] checkpoint,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_int(checkpoint);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("B9EA40907C680580");end, + -- This does not move an existing checkpoint... so wtf. + ["_0xF51D36185993515D"]=--[[void]] function(--[[int]] checkpoint,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] unkX,--[[float]] unkY,--[[float]] unkZ)native_invoker.begin_call();native_invoker.push_arg_int(checkpoint);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(unkX);native_invoker.push_arg_float(unkY);native_invoker.push_arg_float(unkZ);native_invoker.end_call("F51D36185993515D");end, + -- SET_CHECKPOINT_* + ["_0xFCF6788FC4860CD4"]=--[[void]] function(--[[int]] checkpoint)native_invoker.begin_call();native_invoker.push_arg_int(checkpoint);native_invoker.end_call("FCF6788FC4860CD4");end, + -- Unknown. Called after creating a checkpoint (type: 51) in the creators. + ["_0x615D3925E87A3B26"]=--[[void]] function(--[[int]] checkpoint)native_invoker.begin_call();native_invoker.push_arg_int(checkpoint);native_invoker.end_call("615D3925E87A3B26");end, + ["_0xDB1EA9411C8911EC"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DB1EA9411C8911EC");end, + ["_0x3C788E7F6438754D"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("3C788E7F6438754D");end, + ["DELETE_CHECKPOINT"]=--[[void]] function(--[[int]] checkpoint)native_invoker.begin_call();native_invoker.push_arg_int(checkpoint);native_invoker.end_call("F5ED37F54CD4D52E");end, + ["_0x22A249A53034450A"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("22A249A53034450A");end, + -- FORCE_* + ["_0xDC459CFA0CCE245B"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("DC459CFA0CCE245B");end, + -- This function can requests texture dictonaries from following RPFs: + -- scaleform_generic.rpf + -- scaleform_minigames.rpf + -- scaleform_minimap.rpf + -- scaleform_web.rpf + -- + -- last param isnt a toggle + ["REQUEST_STREAMED_TEXTURE_DICT"]=--[[void]] function(--[[string]] textureDict,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(textureDict);native_invoker.push_arg_bool(p1);native_invoker.end_call("DFA2EF8E04127DD5");end, + ["HAS_STREAMED_TEXTURE_DICT_LOADED"]=--[[BOOL (bool)]] function(--[[string]] textureDict)native_invoker.begin_call();native_invoker.push_arg_string(textureDict);native_invoker.end_call("0145F696AAAAD2E4");return native_invoker.get_return_value_bool();end, + ["SET_STREAMED_TEXTURE_DICT_AS_NO_LONGER_NEEDED"]=--[[void]] function(--[[string]] textureDict)native_invoker.begin_call();native_invoker.push_arg_string(textureDict);native_invoker.end_call("BE2CACCF5A8AA805");end, + -- Draws a rectangle on the screen. + -- + -- -x: The relative X point of the center of the rectangle. (0.0-1.0, 0.0 is the left edge of the screen, 1.0 is the right edge of the screen) + -- + -- -y: The relative Y point of the center of the rectangle. (0.0-1.0, 0.0 is the top edge of the screen, 1.0 is the bottom edge of the screen) + -- + -- -width: The relative width of the rectangle. (0.0-1.0, 1.0 means the whole screen width) + -- + -- -height: The relative height of the rectangle. (0.0-1.0, 1.0 means the whole screen height) + -- + -- -R: Red part of the color. (0-255) + -- + -- -G: Green part of the color. (0-255) + -- + -- -B: Blue part of the color. (0-255) + -- + -- -A: Alpha part of the color. (0-255, 0 means totally transparent, 255 means totally opaque) + -- + -- The total number of rectangles to be drawn in one frame is apparently limited to 399. + -- + ["DRAW_RECT"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] width,--[[float]] height,--[[int]] r,--[[int]] g,--[[int]] b,--[[int]] a,--[[BOOL (bool)]] p8)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(width);native_invoker.push_arg_float(height);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.push_arg_int(a);native_invoker.push_arg_bool(p8);native_invoker.end_call("3A618A217E5154F0");end, + -- Sets a flag defining whether or not script draw commands should continue being drawn behind the pause menu. This is usually used for TV channels and other draw commands that are used with a world render target. + ["SET_SCRIPT_GFX_DRAW_BEHIND_PAUSEMENU"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("C6372ECD45D73BCD");end, + -- Sets the draw order for script draw commands. + -- + -- Examples from decompiled scripts: + -- GRAPHICS::SET_SCRIPT_GFX_DRAW_ORDER(7); + -- GRAPHICS::DRAW_RECT(0.5, 0.5, 3.0, 3.0, v_4, v_5, v_6, a_0._f172, 0); + -- + -- GRAPHICS::SET_SCRIPT_GFX_DRAW_ORDER(1); + -- GRAPHICS::DRAW_RECT(0.5, 0.5, 1.5, 1.5, 0, 0, 0, 255, 0); + ["SET_SCRIPT_GFX_DRAW_ORDER"]=--[[void]] function(--[[int]] drawOrder)native_invoker.begin_call();native_invoker.push_arg_int(drawOrder);native_invoker.end_call("61BB1D9B3A95D802");end, + -- horizontalAlign: The horizontal alignment. This can be 67 ('C'), 76 ('L'), or 82 ('R'). + -- verticalAlign: The vertical alignment. This can be 67 ('C'), 66 ('B'), or 84 ('T'). + -- + -- This function anchors script draws to a side of the safe zone. This needs to be called to make the interface independent of the player's safe zone configuration. + -- + -- These values are equivalent to alignX and alignY in common:/data/ui/frontend.xml, which can be used as a baseline for default alignment. + -- + -- Using any other value (including 0) will result in the safe zone not being taken into account for this draw. The canonical value for this is 'I' (73). + -- + -- For example, you can use SET_SCRIPT_GFX_ALIGN(0, 84) to only scale on the Y axis (to the top), but not change the X axis. + -- + -- To reset the value, use RESET_SCRIPT_GFX_ALIGN. + ["SET_SCRIPT_GFX_ALIGN"]=--[[void]] function(--[[int]] horizontalAlign,--[[int]] verticalAlign)native_invoker.begin_call();native_invoker.push_arg_int(horizontalAlign);native_invoker.push_arg_int(verticalAlign);native_invoker.end_call("B8A850F20A067EB6");end, + -- This function resets the alignment set using SET_SCRIPT_GFX_ALIGN and SET_SCRIPT_GFX_ALIGN_PARAMS to the default values ('I', 'I'; 0, 0, 0, 0). + -- This should be used after having used the aforementioned functions in order to not affect any other scripts attempting to draw. + ["RESET_SCRIPT_GFX_ALIGN"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E3A3DB414A373DAB");end, + -- Sets the draw offset/calculated size for SET_SCRIPT_GFX_ALIGN. If using any alignment other than left/top, the game expects the width/height to be configured using this native in order to get a proper starting position for the draw command. + ["SET_SCRIPT_GFX_ALIGN_PARAMS"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] w,--[[float]] h)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(w);native_invoker.push_arg_float(h);native_invoker.end_call("F5A2C681787E579D");end, + -- Calculates the effective X/Y fractions when applying the values set by SET_SCRIPT_GFX_ALIGN and SET_SCRIPT_GFX_ALIGN_PARAMS + ["_GET_SCRIPT_GFX_POSITION"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float* (pointer)]] calculatedX,--[[float* (pointer)]] calculatedY)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_pointer(calculatedX);native_invoker.push_arg_pointer(calculatedY);native_invoker.end_call("6DD8F5AA635EB4B2");end, + -- Gets the scale of safe zone. if the safe zone size scale is max, it will return 1.0. + ["GET_SAFE_ZONE_SIZE"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("BAF107B6BB2C97F0");return native_invoker.get_return_value_float();end, + -- Draws a 2D sprite on the screen. + -- + -- Parameters: + -- textureDict - Name of texture dictionary to load texture from (e.g. "CommonMenu", "MPWeaponsCommon", etc.) + -- + -- textureName - Name of texture to load from texture dictionary (e.g. "last_team_standing_icon", "tennis_icon", etc.) + -- + -- screenX/Y - Screen offset (0.5 = center) + -- scaleX/Y - Texture scaling. Negative values can be used to flip the texture on that axis. (0.5 = half) + -- + -- heading - Texture rotation in degrees (default = 0.0) positive is clockwise, measured in degrees + -- + -- red,green,blue - Sprite color (default = 255/255/255) + -- + -- alpha - opacity level + ["DRAW_SPRITE"]=--[[void]] function(--[[string]] textureDict,--[[string]] textureName,--[[float]] screenX,--[[float]] screenY,--[[float]] width,--[[float]] height,--[[float]] heading,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha,--[[BOOL (bool)]] p11)native_invoker.begin_call();native_invoker.push_arg_string(textureDict);native_invoker.push_arg_string(textureName);native_invoker.push_arg_float(screenX);native_invoker.push_arg_float(screenY);native_invoker.push_arg_float(width);native_invoker.push_arg_float(height);native_invoker.push_arg_float(heading);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.push_arg_bool(p11);native_invoker.end_call("E7FFAE5EBF23D890");end, + -- Used in arcade games and Beam hack minigame in Doomsday Heist. I will most certainly dive into this to try replicate arcade games. + -- x position must be between 0.0 and 1.0 (1.0 being the most right side of the screen) + -- y position must be between 0.0 and 1.0 (1.0 being the most bottom side of the screen) + -- width 0.0 - 1.0 is the reasonable amount generally + -- height 0.0 - 1.0 is the reasonable amount generally + -- p6 almost always 0.0 + -- p11 seems to be unknown but almost always 0 int + ["_0x2D3B147AFAD49DE0"]=--[[void]] function(--[[string]] textureDict,--[[string]] textureName,--[[float]] x,--[[float]] y,--[[float]] width,--[[float]] height,--[[float]] p6,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha,--[[Any (int)]] p11)native_invoker.begin_call();native_invoker.push_arg_string(textureDict);native_invoker.push_arg_string(textureName);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(width);native_invoker.push_arg_float(height);native_invoker.push_arg_float(p6);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.push_arg_int(p11);native_invoker.end_call("2D3B147AFAD49DE0");end, + -- Similar to _DRAW_SPRITE, but seems to be some kind of "interactive" sprite, at least used by render targets. + -- These seem to be the only dicts ever requested by this native: + -- + -- prop_screen_biker_laptop + -- Prop_Screen_GR_Disruption + -- Prop_Screen_TaleOfUs + -- prop_screen_nightclub + -- Prop_Screen_IE_Adhawk + -- prop_screen_sm_free_trade_shipping + -- prop_screen_hacker_truck + -- MPDesktop + -- Prop_Screen_Nightclub + -- And a few others + -- + ["_DRAW_INTERACTIVE_SPRITE"]=--[[void]] function(--[[string]] textureDict,--[[string]] textureName,--[[float]] screenX,--[[float]] screenY,--[[float]] width,--[[float]] height,--[[float]] heading,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_string(textureDict);native_invoker.push_arg_string(textureName);native_invoker.push_arg_float(screenX);native_invoker.push_arg_float(screenY);native_invoker.push_arg_float(width);native_invoker.push_arg_float(height);native_invoker.push_arg_float(heading);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("2BC54A8188768488");end, + -- Similar to DRAW_SPRITE, but allows to specify the texture coordinates used to draw the sprite. + -- + -- u1, v1 - texture coordinates for the top-left corner + -- u2, v2 - texture coordinates for the bottom-right corner + ["_DRAW_SPRITE_UV"]=--[[void]] function(--[[string]] textureDict,--[[string]] textureName,--[[float]] x,--[[float]] y,--[[float]] width,--[[float]] height,--[[float]] u1,--[[float]] v1,--[[float]] u2,--[[float]] v2,--[[float]] heading,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_string(textureDict);native_invoker.push_arg_string(textureName);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(width);native_invoker.push_arg_float(height);native_invoker.push_arg_float(u1);native_invoker.push_arg_float(v1);native_invoker.push_arg_float(u2);native_invoker.push_arg_float(v2);native_invoker.push_arg_float(heading);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("95812F9B26074726");end, + -- Example: + -- GRAPHICS::ADD_ENTITY_ICON(a_0, "MP_Arrow"); + -- + -- I tried this and nothing happened... + ["ADD_ENTITY_ICON"]=--[[Any (int)]] function(--[[Entity (int)]] entity,--[[string]] icon)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_string(icon);native_invoker.end_call("9CD43EEE12BF4DD0");return native_invoker.get_return_value_int();end, + ["SET_ENTITY_ICON_VISIBILITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("E0E8BEECCA96BA31");end, + ["SET_ENTITY_ICON_COLOR"]=--[[void]] function(--[[Entity (int)]] entity,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("1D5F595CCAE2E238");end, + -- Sets the on-screen drawing origin for draw-functions (which is normally x=0,y=0 in the upper left corner of the screen) to a world coordinate. + -- From now on, the screen coordinate which displays the given world coordinate on the screen is seen as x=0,y=0. + -- + -- Example in C#: + -- Vector3 boneCoord = somePed.GetBoneCoord(Bone.SKEL_Head); + -- Function.Call(Hash.SET_DRAW_ORIGIN, boneCoord.X, boneCoord.Y, boneCoord.Z, 0); + -- Function.Call(Hash.DRAW_SPRITE, "helicopterhud", "hud_corner", -0.01, -0.015, 0.013, 0.013, 0.0, 255, 0, 0, 200); + -- Function.Call(Hash.DRAW_SPRITE, "helicopterhud", "hud_corner", 0.01, -0.015, 0.013, 0.013, 90.0, 255, 0, 0, 200); + -- Function.Call(Hash.DRAW_SPRITE, "helicopterhud", "hud_corner", -0.01, 0.015, 0.013, 0.013, 270.0, 255, 0, 0, 200); + -- Function.Call(Hash.DRAW_SPRITE, "helicopterhud", "hud_corner", 0.01, 0.015, 0.013, 0.013, 180.0, 255, 0, 0, 200); + -- Function.Call(Hash.CLEAR_DRAW_ORIGIN); + -- + -- Result: www11.pic-upload.de/19.06.15/bkqohvil2uao.jpg + -- If the pedestrian starts walking around now, the sprites are always around her head, no matter where the head is displayed on the screen. + -- + -- This function also effects the drawing of texts and other UI-elements. + -- The effect can be reset by calling GRAPHICS::CLEAR_DRAW_ORIGIN(). + ["SET_DRAW_ORIGIN"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(p3);native_invoker.end_call("AA0008F3BBB8F416");end, + -- Resets the screen's draw-origin which was changed by the function GRAPHICS::SET_DRAW_ORIGIN(...) back to x=0,y=0. + -- + -- See GRAPHICS::SET_DRAW_ORIGIN(...) for further information. + ["CLEAR_DRAW_ORIGIN"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FF0B610F6BE0D7AF");end, + ["_SET_BINK_MOVIE"]=--[[int]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("338D9F609FD632DB");return native_invoker.get_return_value_int();end, + ["_PLAY_BINK_MOVIE"]=--[[void]] function(--[[int]] binkMovie)native_invoker.begin_call();native_invoker.push_arg_int(binkMovie);native_invoker.end_call("70D2CC8A542A973C");end, + ["_STOP_BINK_MOVIE"]=--[[void]] function(--[[int]] binkMovie)native_invoker.begin_call();native_invoker.push_arg_int(binkMovie);native_invoker.end_call("63606A61DE68898A");end, + ["_RELEASE_BINK_MOVIE"]=--[[void]] function(--[[int]] binkMovie)native_invoker.begin_call();native_invoker.push_arg_int(binkMovie);native_invoker.end_call("04D950EEFA4EED8C");end, + ["_DRAW_BINK_MOVIE"]=--[[void]] function(--[[int]] binkMovie,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[int]] r,--[[int]] g,--[[int]] b,--[[int]] a)native_invoker.begin_call();native_invoker.push_arg_int(binkMovie);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.push_arg_int(a);native_invoker.end_call("7118E83EEB9F7238");end, + -- In percentage: 0.0 - 100.0 + ["_SET_BINK_MOVIE_TIME"]=--[[void]] function(--[[int]] binkMovie,--[[float]] progress)native_invoker.begin_call();native_invoker.push_arg_int(binkMovie);native_invoker.push_arg_float(progress);native_invoker.end_call("0CB6B3446855B57A");end, + -- In percentage: 0.0 - 100.0 + ["_GET_BINK_MOVIE_TIME"]=--[[float]] function(--[[int]] binkMovie)native_invoker.begin_call();native_invoker.push_arg_int(binkMovie);native_invoker.end_call("8E17DDD6B9D5BF29");return native_invoker.get_return_value_float();end, + -- binkMovie: Is return value from _SET_BINK_MOVIE. Has something to do with bink volume? (audRequestedSettings::SetVolumeCurveScale) + ["_SET_BINK_MOVIE_VOLUME"]=--[[void]] function(--[[int]] binkMovie,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(binkMovie);native_invoker.push_arg_float(value);native_invoker.end_call("AFF33B1178172223");end, + -- Might be more appropriate in AUDIO? + ["ATTACH_TV_AUDIO_TO_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("845BAD77CC770633");end, + ["_SET_BINK_MOVIE_UNK_2"]=--[[void]] function(--[[int]] binkMovie,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(binkMovie);native_invoker.push_arg_bool(p1);native_invoker.end_call("F816F2933752322D");end, + -- Probably changes tvs from being a 3d audio to being "global" audio + ["SET_TV_AUDIO_FRONTEND"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("113D2C5DC57E1774");end, + ["_SET_BINK_SHOULD_SKIP"]=--[[void]] function(--[[int]] binkMovie,--[[BOOL (bool)]] bShouldSkip)native_invoker.begin_call();native_invoker.push_arg_int(binkMovie);native_invoker.push_arg_bool(bShouldSkip);native_invoker.end_call("6805D58CAA427B72");end, + ["LOAD_MOVIE_MESH_SET"]=--[[int]] function(--[[string]] movieMeshSetName)native_invoker.begin_call();native_invoker.push_arg_string(movieMeshSetName);native_invoker.end_call("B66064452270E8F1");return native_invoker.get_return_value_int();end, + ["RELEASE_MOVIE_MESH_SET"]=--[[void]] function(--[[int]] movieMeshSet)native_invoker.begin_call();native_invoker.push_arg_int(movieMeshSet);native_invoker.end_call("EB119AA014E89183");end, + ["_0x9B6E70C5CEEF4EEB"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("9B6E70C5CEEF4EEB");return native_invoker.get_return_value_int();end, + -- int screenresx,screenresy; + -- GET_SCREEN_RESOLUTION(&screenresx,&screenresy); + ["GET_SCREEN_RESOLUTION"]=--[[void]] function(--[[int* (pointer)]] x,--[[int* (pointer)]] y)native_invoker.begin_call();native_invoker.push_arg_pointer(x);native_invoker.push_arg_pointer(y);native_invoker.end_call("888D57E407E63624");end, + -- Returns current screen resolution. + ["_GET_ACTIVE_SCREEN_RESOLUTION"]=--[[void]] function(--[[int* (pointer)]] x,--[[int* (pointer)]] y)native_invoker.begin_call();native_invoker.push_arg_pointer(x);native_invoker.push_arg_pointer(y);native_invoker.end_call("873C9F3104101DD3");end, + ["_GET_ASPECT_RATIO"]=--[[float]] function(--[[BOOL (bool)]] b)native_invoker.begin_call();native_invoker.push_arg_bool(b);native_invoker.end_call("F1307EF624A80D87");return native_invoker.get_return_value_float();end, + ["_0xB2EBE8CBC58B90E9"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("B2EBE8CBC58B90E9");return native_invoker.get_return_value_int();end, + -- Setting Aspect Ratio Manually in game will return: + -- + -- false - for Narrow format Aspect Ratios (3:2, 4:3, 5:4, etc. ) + -- true - for Wide format Aspect Ratios (5:3, 16:9, 16:10, etc. ) + -- + -- Setting Aspect Ratio to "Auto" in game will return "false" or "true" based on the actual set Resolution Ratio. + ["GET_IS_WIDESCREEN"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("30CF4BDA4FCB1905");return native_invoker.get_return_value_bool();end, + -- false = Any resolution < 1280x720 + -- true = Any resolution >= 1280x720 + ["GET_IS_HIDEF"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("84ED31191CC5D2C9");return native_invoker.get_return_value_bool();end, + -- AD* + ["_0xEFABC7722293DA7C"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EFABC7722293DA7C");end, + -- Enables Night Vision. + -- + -- Example: + -- C#: Function.Call(Hash.SET_NIGHTVISION, true); + -- C++: GRAPHICS::SET_NIGHTVISION(true); + -- + -- BOOL toggle: + -- true = turns night vision on for your player. + -- false = turns night vision off for your player. + ["SET_NIGHTVISION"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("18F621F7A5B1F85D");end, + ["GET_REQUESTINGNIGHTVISION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("35FB78DC42B7BD21");return native_invoker.get_return_value_bool();end, + ["GET_USINGNIGHTVISION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("2202A3F42C8E5F79");return native_invoker.get_return_value_bool();end, + ["_0xEF398BEEE4EF45F9"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("EF398BEEE4EF45F9");end, + ["_0x814AF7DCAACC597B"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("814AF7DCAACC597B");end, + ["_0x43FA7CBE20DAB219"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("43FA7CBE20DAB219");end, + ["SET_NOISEOVERIDE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("E787BF1C5CF823C9");end, + ["SET_NOISINESSOVERIDE"]=--[[void]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("CB6A7C3BB17A0C67");end, + -- Convert a world coordinate into its relative screen coordinate. (WorldToScreen) + -- + -- Returns a boolean; whether or not the operation was successful. It will return false if the coordinates given are not visible to the rendering camera. + -- + -- + -- For .NET users... + -- + -- VB: + -- Public Shared Function World3DToScreen2d(pos as vector3) As Vector2 + -- + -- Dim x2dp, y2dp As New Native.OutputArgument + -- + -- Native.Function.Call(Of Boolean)(Native.Hash.GET_SCREEN_COORD_FROM_WORLD_COORD , pos.x, pos.y, pos.z, x2dp, y2dp) + -- Return New Vector2(x2dp.GetResult(Of Single), y2dp.GetResult(Of Single)) + -- + -- End Function + -- + -- C#: + -- Vector2 World3DToScreen2d(Vector3 pos) + -- { + -- var x2dp = new OutputArgument(); + -- var y2dp = new OutputArgument(); + -- + -- Function.Call(Hash.GET_SCREEN_COORD_FROM_WORLD_COORD , pos.X, pos.Y, pos.Z, x2dp, y2dp); + -- return new Vector2(x2dp.GetResult(), y2dp.GetResult()); + -- } + -- //USE VERY SMALL VALUES FOR THE SCALE OF RECTS/TEXT because it is dramatically larger on screen than in 3D, e.g '0.05' small. + -- + -- Used to be called _WORLD3D_TO_SCREEN2D + -- + -- I thought we lost you from the scene forever. It does seem however that calling SET_DRAW_ORIGIN then your natives, then ending it. Seems to work better for certain things such as keeping boxes around people for a predator missile e.g. + ["GET_SCREEN_COORD_FROM_WORLD_COORD"]=--[[BOOL (bool)]] function(--[[float]] worldX,--[[float]] worldY,--[[float]] worldZ,--[[float* (pointer)]] screenX,--[[float* (pointer)]] screenY)native_invoker.begin_call();native_invoker.push_arg_float(worldX);native_invoker.push_arg_float(worldY);native_invoker.push_arg_float(worldZ);native_invoker.push_arg_pointer(screenX);native_invoker.push_arg_pointer(screenY);native_invoker.end_call("34E82F05DF2974F5");return native_invoker.get_return_value_bool();end, + -- Returns the texture resolution of the passed texture dict+name. + -- + -- Note: Most texture resolutions are doubled compared to the console version of the game. + ["GET_TEXTURE_RESOLUTION"]=--[[Vector3 (vector3)]] function(--[[string]] textureDict,--[[string]] textureName)native_invoker.begin_call();native_invoker.push_arg_string(textureDict);native_invoker.push_arg_string(textureName);native_invoker.end_call("35736EE65BD00C11");return native_invoker.get_return_value_vector3();end, + -- Overriding ped badge texture to a passed texture. It's synced between players (even custom textures!), don't forget to request used dict on *all* clients to make it sync properly. Can be removed by passing empty strings. + ["_OVERRIDE_PED_BADGE_TEXTURE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[string]] txd,--[[string]] txn)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(txd);native_invoker.push_arg_string(txn);native_invoker.end_call("95EB5E34F821BABE");return native_invoker.get_return_value_bool();end, + ["_0xE2892E7E55D7073A"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("E2892E7E55D7073A");end, + -- Purpose of p0 and p1 unknown. + ["SET_FLASH"]=--[[void]] function(--[[float]] p0,--[[float]] p1,--[[float]] fadeIn,--[[float]] duration,--[[float]] fadeOut)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(fadeIn);native_invoker.push_arg_float(duration);native_invoker.push_arg_float(fadeOut);native_invoker.end_call("0AB84296FED9CFC6");end, + ["DISABLE_OCCLUSION_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("3669F1B198DCAA4F");end, + -- Does not affect weapons, particles, fire/explosions, flashlights or the sun. + -- When set to true, all emissive textures (including ped components that have light effects), street lights, building lights, vehicle lights, etc will all be turned off. + -- + -- Used in Humane Labs Heist for EMP. + -- + -- state: True turns off all artificial light sources in the map: buildings, street lights, car lights, etc. False turns them back on. + ["SET_ARTIFICIAL_LIGHTS_STATE"]=--[[void]] function(--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_bool(state);native_invoker.end_call("1268615ACE24D504");end, + -- If "blackout" is enabled, this native allows you to ignore "blackout" for vehicles. + ["_SET_ARTIFICIAL_LIGHTS_STATE_AFFECTS_VEHICLES"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("E2B187C0939B3D32");end, + ["_0xC35A6D07C93802B2"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C35A6D07C93802B2");end, + -- Creates a tracked point, useful for checking the visibility of a 3D point on screen. + ["CREATE_TRACKED_POINT"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("E2C9439ED45DEA60");return native_invoker.get_return_value_int();end, + ["SET_TRACKED_POINT_INFO"]=--[[void]] function(--[[int]] point,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_int(point);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("164ECBB3CF750CB0");end, + ["IS_TRACKED_POINT_VISIBLE"]=--[[BOOL (bool)]] function(--[[int]] point)native_invoker.begin_call();native_invoker.push_arg_int(point);native_invoker.end_call("C45CCDAAC9221CA8");return native_invoker.get_return_value_bool();end, + ["DESTROY_TRACKED_POINT"]=--[[void]] function(--[[int]] point)native_invoker.begin_call();native_invoker.push_arg_int(point);native_invoker.end_call("B25DC90BAD56CA42");end, + -- This function is hard-coded to always return 0. + ["_0xBE197EAA669238F4"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("BE197EAA669238F4");return native_invoker.get_return_value_int();end, + -- This native does absolutely nothing, just a nullsub + ["_0x61F95E5BB3E0A8C6"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("61F95E5BB3E0A8C6");end, + ["_0xAE51BC858F32BA66"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.end_call("AE51BC858F32BA66");end, + ["_0x649C97D52332341A"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("649C97D52332341A");end, + ["_0x2C42340F916C5930"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2C42340F916C5930");return native_invoker.get_return_value_int();end, + ["_0x14FC5833464340A8"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("14FC5833464340A8");end, + ["_0x0218BA067D249DEA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0218BA067D249DEA");end, + ["_0x1612C45F9E3E0D44"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1612C45F9E3E0D44");end, + ["_0x5DEBD9C4DC995692"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5DEBD9C4DC995692");end, + ["_0xAAE9BE70EC7C69AB"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.end_call("AAE9BE70EC7C69AB");end, + -- Wraps 0xAAE9BE70EC7C69AB with FLT_MAX as p7, Jenkins: 0x73E96210? + ["_GRASS_LOD_SHRINK_SCRIPT_AREAS"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[float]] p4,--[[float]] p5,--[[float]] p6)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.end_call("6D955F6A9E0295B1");end, + ["_GRASS_LOD_RESET_SCRIPT_AREAS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("302C91AB2D477F7E");end, + ["_0x03FC694AE06C5A20"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("03FC694AE06C5A20");end, + ["_0xD2936CAB8B58FCBD"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[BOOL (bool)]] p6,--[[float]] p7)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_float(p7);native_invoker.end_call("D2936CAB8B58FCBD");end, + ["_0x5F0F3F56635809EF"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("5F0F3F56635809EF");end, + ["_0x5E9DAF5A20F15908"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("5E9DAF5A20F15908");end, + ["_0x36F6626459D91457"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("36F6626459D91457");end, + ["_0x259BA6D4E6F808F1"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("259BA6D4E6F808F1");end, + -- When this is set to ON, shadows only draw as you get nearer. + -- + -- When OFF, they draw from a further distance. + ["_SET_FAR_SHADOWS_SUPPRESSED"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("80ECBC0C856D3B0B");end, + ["_0x25FC3E33A31AD0C9"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("25FC3E33A31AD0C9");end, + -- Possible values: + -- "CSM_ST_POINT" + -- "CSM_ST_LINEAR" + -- "CSM_ST_TWOTAP" + -- "CSM_ST_BOX3x3" + -- "CSM_ST_BOX4x4" + -- "CSM_ST_DITHER2_LINEAR" + -- "CSM_ST_CUBIC" + -- "CSM_ST_DITHER4" + -- "CSM_ST_DITHER16" + -- "CSM_ST_SOFT16" + -- "CSM_ST_DITHER16_RPDB" + -- "CSM_ST_POISSON16_RPDB_GNORM" + -- "CSM_ST_HIGHRES_BOX4x4" + -- "CSM_ST_CLOUDS_SIMPLE" + -- "CSM_ST_CLOUDS_LINEAR" + -- "CSM_ST_CLOUDS_TWOTAP" + -- "CSM_ST_CLOUDS_BOX3x3" + -- "CSM_ST_CLOUDS_BOX4x4" + -- "CSM_ST_CLOUDS_DITHER2_LINEAR" + -- "CSM_ST_CLOUDS_SOFT16" + -- "CSM_ST_CLOUDS_DITHER16_RPDB" + -- "CSM_ST_CLOUDS_POISSON16_RPDB_GNORM" + ["_CASCADESHADOWS_SET_TYPE"]=--[[void]] function(--[[string]] type)native_invoker.begin_call();native_invoker.push_arg_string(type);native_invoker.end_call("B11D94BC55F41932");end, + ["_CASCADESHADOWS_RESET_TYPE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("27CB772218215325");end, + ["_0x6DDBF9DFFC4AC080"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("6DDBF9DFFC4AC080");end, + ["_0xD39D13C9FEBF0511"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("D39D13C9FEBF0511");end, + ["_0x02AC28F3A01FA04A"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("02AC28F3A01FA04A");end, + ["_0x0AE73D8DF3A762B2"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("0AE73D8DF3A762B2");end, + ["_0xCA465D9CC0D231BA"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("CA465D9CC0D231BA");end, + ["GOLF_TRAIL_SET_ENABLED"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("A51C4B86B71652AE");end, + -- p8 seems to always be false. + ["GOLF_TRAIL_SET_PATH"]=--[[void]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[BOOL (bool)]] p8)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_bool(p8);native_invoker.end_call("312342E1A4874F3F");end, + ["GOLF_TRAIL_SET_RADIUS"]=--[[void]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.end_call("2485D34E50A22E84");end, + ["GOLF_TRAIL_SET_COLOUR"]=--[[void]] function(--[[int]] p0,--[[int]] p1,--[[int]] p2,--[[int]] p3,--[[int]] p4,--[[int]] p5,--[[int]] p6,--[[int]] p7,--[[int]] p8,--[[int]] p9,--[[int]] p10,--[[int]] p11)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_int(p10);native_invoker.push_arg_int(p11);native_invoker.end_call("12995F2E53FFA601");end, + ["GOLF_TRAIL_SET_TESSELLATION"]=--[[void]] function(--[[int]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("DBAA5EC848BA2D46");end, + -- GOLF_TRAIL_SET_* + ["_0xC0416B061F2B7E5E"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("C0416B061F2B7E5E");end, + -- 12 matches across 4 scripts. All 4 scripts were job creators. + -- + -- type ranged from 0 - 2. + -- p4 was always 0.2f. Likely scale. + -- assuming p5 - p8 is RGBA, the graphic is always yellow (255, 255, 0, 255). + -- + -- Tested but noticed nothing. + ["GOLF_TRAIL_SET_FIXED_CONTROL_POINT"]=--[[void]] function(--[[int]] type,--[[float]] xPos,--[[float]] yPos,--[[float]] zPos,--[[float]] p4,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_int(type);native_invoker.push_arg_float(xPos);native_invoker.push_arg_float(yPos);native_invoker.push_arg_float(zPos);native_invoker.push_arg_float(p4);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("B1BB03742917A5D6");end, + -- Only appeared in Golf & Golf_mp. Parameters were all ptrs + ["GOLF_TRAIL_SET_SHADER_PARAMS"]=--[[void]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.end_call("9CFDD90B2B844BF7");end, + ["GOLF_TRAIL_SET_FACING"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("06F761EA47C1D3ED");end, + ["GOLF_TRAIL_GET_MAX_HEIGHT"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("A4819F5E23E2FFAD");return native_invoker.get_return_value_float();end, + ["GOLF_TRAIL_GET_VISUAL_CONTROL_POINT"]=--[[Vector3 (vector3)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A4664972A9B8F8BA");return native_invoker.get_return_value_vector3();end, + -- Toggles Heatvision on/off. + ["SET_SEETHROUGH"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("7E08924259E08CE0");end, + ["GET_USINGSEETHROUGH"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("44B80ABAB9D80BD3");return native_invoker.get_return_value_bool();end, + ["SEETHROUGH_RESET"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("70A64C0234EF522C");end, + ["_SEETHROUGH_SET_FADE_START_DISTANCE"]=--[[void]] function(--[[float]] distance)native_invoker.begin_call();native_invoker.push_arg_float(distance);native_invoker.end_call("A78DE25577300BA1");end, + ["_SEETHROUGH_SET_FADE_END_DISTANCE"]=--[[void]] function(--[[float]] distance)native_invoker.begin_call();native_invoker.push_arg_float(distance);native_invoker.end_call("9D75795B9DC6EBBF");end, + ["_SEETHROUGH_GET_MAX_THICKNESS"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("43DBAE39626CE83F");return native_invoker.get_return_value_float();end, + -- 0.0 = you will not be able to see people behind the walls. 50.0 and more = you will see everyone through the walls. More value is "better" view. See https://gfycat.com/FirmFlippantGourami + -- min: 1.0 + -- max: 10000.0 + ["_SEETHROUGH_SET_MAX_THICKNESS"]=--[[void]] function(--[[float]] thickness)native_invoker.begin_call();native_invoker.push_arg_float(thickness);native_invoker.end_call("0C8FAC83902A62DF");end, + ["_SEETHROUGH_SET_NOISE_AMOUNT_MIN"]=--[[void]] function(--[[float]] amount)native_invoker.begin_call();native_invoker.push_arg_float(amount);native_invoker.end_call("FF5992E1C9E65D05");end, + ["_SEETHROUGH_SET_NOISE_AMOUNT_MAX"]=--[[void]] function(--[[float]] amount)native_invoker.begin_call();native_invoker.push_arg_float(amount);native_invoker.end_call("FEBFBFDFB66039DE");end, + ["_SEETHROUGH_SET_HI_LIGHT_INTENSITY"]=--[[void]] function(--[[float]] intensity)native_invoker.begin_call();native_invoker.push_arg_float(intensity);native_invoker.end_call("19E50EB6E33E1D28");end, + ["_SEETHROUGH_SET_HI_LIGHT_NOISE"]=--[[void]] function(--[[float]] noise)native_invoker.begin_call();native_invoker.push_arg_float(noise);native_invoker.end_call("1636D7FC127B10D2");end, + -- min: 0.0 + -- max: 0.75 + ["SEETHROUGH_SET_HEATSCALE"]=--[[void]] function(--[[int]] index,--[[float]] heatScale)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_float(heatScale);native_invoker.end_call("D7D0B00177485411");end, + ["_SEETHROUGH_SET_COLOR_NEAR"]=--[[void]] function(--[[int]] red,--[[int]] green,--[[int]] blue)native_invoker.begin_call();native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.end_call("1086127B3A63505E");end, + -- Setter for 0xE59343E9E96529E7 + -- + -- SET_M* + ["_0xB3C641F3630BF6DA"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("B3C641F3630BF6DA");end, + -- Getter for 0xB3C641F3630BF6DA + -- + -- GET_M* + ["_0xE59343E9E96529E7"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("E59343E9E96529E7");return native_invoker.get_return_value_float();end, + -- SET_F* + ["_0x6A51F78772175A51"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("6A51F78772175A51");end, + -- TOGGLE_* + ["_0xE63D7C6EECECB66B"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("E63D7C6EECECB66B");end, + -- Sets an unknown value related to timecycles. + ["_0xE3E2C1B4C59DBC77"]=--[[void]] function(--[[int]] unk)native_invoker.begin_call();native_invoker.push_arg_int(unk);native_invoker.end_call("E3E2C1B4C59DBC77");end, + -- time in ms to transition to fully blurred screen + ["TRIGGER_SCREENBLUR_FADE_IN"]=--[[BOOL (bool)]] function(--[[float]] transitionTime)native_invoker.begin_call();native_invoker.push_arg_float(transitionTime);native_invoker.end_call("A328A24AAA6B7FDC");return native_invoker.get_return_value_bool();end, + -- time in ms to transition from fully blurred to normal + ["TRIGGER_SCREENBLUR_FADE_OUT"]=--[[BOOL (bool)]] function(--[[float]] transitionTime)native_invoker.begin_call();native_invoker.push_arg_float(transitionTime);native_invoker.end_call("EFACC8AEF94430D5");return native_invoker.get_return_value_bool();end, + ["DISABLE_SCREENBLUR_FADE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("DE81239437E8C5A8");end, + ["GET_SCREENBLUR_FADE_CURRENT_TIME"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("5CCABFFCA31DDE33");return native_invoker.get_return_value_float();end, + -- Returns whether screen transition to blur/from blur is running. + ["IS_SCREENBLUR_FADE_RUNNING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("7B226C785A52A0A9");return native_invoker.get_return_value_bool();end, + ["TOGGLE_PAUSED_RENDERPHASES"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("DFC252D8A3E15AB7");end, + ["GET_TOGGLE_PAUSED_RENDERPHASES_STATUS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("EB3DAC2C86001E5E");return native_invoker.get_return_value_bool();end, + ["RESET_PAUSED_RENDERPHASES"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E1C8709406F2C41C");end, + ["_0x851CD923176EBA7C"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("851CD923176EBA7C");end, + -- Every p2 - p5 occurrence was 0f. + ["_SET_HIDOF_ENV_BLUR_PARAMS"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1,--[[float]] nearplaneOut,--[[float]] nearplaneIn,--[[float]] farplaneOut,--[[float]] farplaneIn)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_float(nearplaneOut);native_invoker.push_arg_float(nearplaneIn);native_invoker.push_arg_float(farplaneOut);native_invoker.push_arg_float(farplaneIn);native_invoker.end_call("BA3D65906822BED5");end, + ["_0xB569F41F3E7E83A4"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("B569F41F3E7E83A4");end, + ["_0x7AC24EAB6D74118D"]=--[[BOOL (bool)]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("7AC24EAB6D74118D");return native_invoker.get_return_value_bool();end, + ["_0xBCEDB009461DA156"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("BCEDB009461DA156");return native_invoker.get_return_value_int();end, + ["_0x27FEB5254759CDE3"]=--[[BOOL (bool)]] function(--[[string]] textureDict,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(textureDict);native_invoker.push_arg_bool(p1);native_invoker.end_call("27FEB5254759CDE3");return native_invoker.get_return_value_bool();end, + -- GRAPHICS::START_PARTICLE_FX_NON_LOOPED_AT_COORD("scr_paleto_roof_impact", -140.8576f, 6420.789f, 41.1391f, 0f, 0f, 267.3957f, 0x3F800000, 0, 0, 0); + -- + -- Axis - Invert Axis Flags + -- + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + -- + -- + -- ------------------------------------------------------------------- + -- C# + -- + -- Function.Call(Hash.START_PARTICLE_FX_NON_LOOPED_AT_COORD, = you are calling this function. + -- + -- char *effectname = This is an in-game effect name, for e.g. "scr_fbi4_trucks_crash" is used to give the effects when truck crashes etc + -- + -- float x, y, z pos = this one is Simple, you just have to declare, where do you want this effect to take place at, so declare the ordinates + -- + -- float xrot, yrot, zrot = Again simple? just mention the value in case if you want the effect to rotate. + -- + -- float scale = is declare the scale of the effect, this may vary as per the effects for e.g 1.0f + -- + -- bool xaxis, yaxis, zaxis = To bool the axis values. + -- + -- example: + -- Function.Call(Hash.START_PARTICLE_FX_NON_LOOPED_AT_COORD, "scr_fbi4_trucks_crash", GTA.Game.Player.Character.Position.X, GTA.Game.Player.Character.Position.Y, GTA.Game.Player.Character.Position.Z + 4f, 0, 0, 0, 5.5f, 0, 0, 0); + ["START_PARTICLE_FX_NON_LOOPED_AT_COORD"]=--[[int]] function(--[[string]] effectName,--[[float]] xPos,--[[float]] yPos,--[[float]] zPos,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[float]] scale,--[[BOOL (bool)]] xAxis,--[[BOOL (bool)]] yAxis,--[[BOOL (bool)]] zAxis)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_float(xPos);native_invoker.push_arg_float(yPos);native_invoker.push_arg_float(zPos);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(xAxis);native_invoker.push_arg_bool(yAxis);native_invoker.push_arg_bool(zAxis);native_invoker.end_call("25129531F77B9ED3");return native_invoker.get_return_value_int();end, + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["START_NETWORKED_PARTICLE_FX_NON_LOOPED_AT_COORD"]=--[[BOOL (bool)]] function(--[[string]] effectName,--[[float]] xPos,--[[float]] yPos,--[[float]] zPos,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[float]] scale,--[[BOOL (bool)]] xAxis,--[[BOOL (bool)]] yAxis,--[[BOOL (bool)]] zAxis,--[[BOOL (bool)]] p11)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_float(xPos);native_invoker.push_arg_float(yPos);native_invoker.push_arg_float(zPos);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(xAxis);native_invoker.push_arg_bool(yAxis);native_invoker.push_arg_bool(zAxis);native_invoker.push_arg_bool(p11);native_invoker.end_call("F56B8137DF10135D");return native_invoker.get_return_value_bool();end, + -- GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_sh_bong_smoke", PLAYER::PLAYER_PED_ID(), -0.025f, 0.13f, 0f, 0f, 0f, 0f, 31086, 0x3F800000, 0, 0, 0); + -- + -- Axis - Invert Axis Flags + -- + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE"]=--[[BOOL (bool)]] function(--[[string]] effectName,--[[Ped (int)]] ped,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[int]] boneIndex,--[[float]] scale,--[[BOOL (bool)]] axisX,--[[BOOL (bool)]] axisY,--[[BOOL (bool)]] axisZ)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_int(ped);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(axisX);native_invoker.push_arg_bool(axisY);native_invoker.push_arg_bool(axisZ);native_invoker.end_call("0E7E72961BA18619");return native_invoker.get_return_value_bool();end, + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_PED_BONE"]=--[[BOOL (bool)]] function(--[[string]] effectName,--[[Ped (int)]] ped,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[int]] boneIndex,--[[float]] scale,--[[BOOL (bool)]] axisX,--[[BOOL (bool)]] axisY,--[[BOOL (bool)]] axisZ)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_int(ped);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(axisX);native_invoker.push_arg_bool(axisY);native_invoker.push_arg_bool(axisZ);native_invoker.end_call("A41B6A43642AC2CF");return native_invoker.get_return_value_bool();end, + -- Starts a particle effect on an entity for example your player. + -- + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + -- + -- Example: + -- C#: + -- Function.Call(Hash.REQUEST_NAMED_PTFX_ASSET, "scr_rcbarry2"); Function.Call(Hash._SET_PTFX_ASSET_NEXT_CALL, "scr_rcbarry2"); Function.Call(Hash.START_PARTICLE_FX_NON_LOOPED_ON_ENTITY, "scr_clown_appears", Game.Player.Character, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 1.0, false, false, false); + -- + -- Internally this calls the same function as GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE + -- however it uses -1 for the specified bone index, so it should be possible to start a non looped fx on an entity bone using that native + -- + -- -can confirm START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE does NOT work on vehicle bones. + ["START_PARTICLE_FX_NON_LOOPED_ON_ENTITY"]=--[[BOOL (bool)]] function(--[[string]] effectName,--[[Entity (int)]] entity,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[float]] scale,--[[BOOL (bool)]] axisX,--[[BOOL (bool)]] axisY,--[[BOOL (bool)]] axisZ)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(axisX);native_invoker.push_arg_bool(axisY);native_invoker.push_arg_bool(axisZ);native_invoker.end_call("0D53A3B8DA0809D2");return native_invoker.get_return_value_bool();end, + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_ENTITY"]=--[[BOOL (bool)]] function(--[[string]] effectName,--[[Entity (int)]] entity,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[float]] scale,--[[BOOL (bool)]] axisX,--[[BOOL (bool)]] axisY,--[[BOOL (bool)]] axisZ)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(axisX);native_invoker.push_arg_bool(axisY);native_invoker.push_arg_bool(axisZ);native_invoker.end_call("C95EB1DB6E92113D");return native_invoker.get_return_value_bool();end, + ["_START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_ENTITY_BONE"]=--[[BOOL (bool)]] function(--[[string]] effectName,--[[Entity (int)]] entity,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[int]] boneIndex,--[[float]] scale,--[[BOOL (bool)]] axisX,--[[BOOL (bool)]] axisY,--[[BOOL (bool)]] axisZ)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(axisX);native_invoker.push_arg_bool(axisY);native_invoker.push_arg_bool(axisZ);native_invoker.end_call("02B1F2A72E0F5325");return native_invoker.get_return_value_bool();end, + -- only works on some fx's, not networked + ["SET_PARTICLE_FX_NON_LOOPED_COLOUR"]=--[[void]] function(--[[float]] r,--[[float]] g,--[[float]] b)native_invoker.begin_call();native_invoker.push_arg_float(r);native_invoker.push_arg_float(g);native_invoker.push_arg_float(b);native_invoker.end_call("26143A59EF48B262");end, + -- Usage example for C#: + -- + -- Function.Call(Hash.SET_PARTICLE_FX_NON_LOOPED_ALPHA, new InputArgument[] { 0.1f }); + -- + -- Note: the argument alpha ranges from 0.0f-1.0f ! + ["SET_PARTICLE_FX_NON_LOOPED_ALPHA"]=--[[void]] function(--[[float]] alpha)native_invoker.begin_call();native_invoker.push_arg_float(alpha);native_invoker.end_call("77168D722C58B2FC");end, + -- Used only once in the scripts (taxi_clowncar) + -- + -- SET_PARTICLE_FX_* + ["_0x8CDE909A0370BB3A"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("8CDE909A0370BB3A");end, + -- GRAPHICS::START_PARTICLE_FX_LOOPED_AT_COORD("scr_fbi_falling_debris", 93.7743f, -749.4572f, 70.86904f, 0f, 0f, 0f, 0x3F800000, 0, 0, 0, 0) + -- + -- + -- p11 seems to be always 0 + -- + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["START_PARTICLE_FX_LOOPED_AT_COORD"]=--[[int]] function(--[[string]] effectName,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[float]] scale,--[[BOOL (bool)]] xAxis,--[[BOOL (bool)]] yAxis,--[[BOOL (bool)]] zAxis,--[[BOOL (bool)]] p11)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(xAxis);native_invoker.push_arg_bool(yAxis);native_invoker.push_arg_bool(zAxis);native_invoker.push_arg_bool(p11);native_invoker.end_call("E184F4F0DC5910E7");return native_invoker.get_return_value_int();end, + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["START_PARTICLE_FX_LOOPED_ON_PED_BONE"]=--[[int]] function(--[[string]] effectName,--[[Ped (int)]] ped,--[[float]] xOffset,--[[float]] yOffset,--[[float]] zOffset,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[int]] boneIndex,--[[float]] scale,--[[BOOL (bool)]] xAxis,--[[BOOL (bool)]] yAxis,--[[BOOL (bool)]] zAxis)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_int(ped);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(zOffset);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(xAxis);native_invoker.push_arg_bool(yAxis);native_invoker.push_arg_bool(zAxis);native_invoker.end_call("F28DA9F38CD1787C");return native_invoker.get_return_value_int();end, + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["START_PARTICLE_FX_LOOPED_ON_ENTITY"]=--[[int]] function(--[[string]] effectName,--[[Entity (int)]] entity,--[[float]] xOffset,--[[float]] yOffset,--[[float]] zOffset,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[float]] scale,--[[BOOL (bool)]] xAxis,--[[BOOL (bool)]] yAxis,--[[BOOL (bool)]] zAxis)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(zOffset);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(xAxis);native_invoker.push_arg_bool(yAxis);native_invoker.push_arg_bool(zAxis);native_invoker.end_call("1AE42C1660FD6517");return native_invoker.get_return_value_int();end, + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["START_PARTICLE_FX_LOOPED_ON_ENTITY_BONE"]=--[[int]] function(--[[string]] effectName,--[[Entity (int)]] entity,--[[float]] xOffset,--[[float]] yOffset,--[[float]] zOffset,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[int]] boneIndex,--[[float]] scale,--[[BOOL (bool)]] xAxis,--[[BOOL (bool)]] yAxis,--[[BOOL (bool)]] zAxis)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(zOffset);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(xAxis);native_invoker.push_arg_bool(yAxis);native_invoker.push_arg_bool(zAxis);native_invoker.end_call("C6EB449E33977F0B");return native_invoker.get_return_value_int();end, + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["START_NETWORKED_PARTICLE_FX_LOOPED_ON_ENTITY"]=--[[int]] function(--[[string]] effectName,--[[Entity (int)]] entity,--[[float]] xOffset,--[[float]] yOffset,--[[float]] zOffset,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[float]] scale,--[[BOOL (bool)]] xAxis,--[[BOOL (bool)]] yAxis,--[[BOOL (bool)]] zAxis,--[[Any (int)]] p12,--[[Any (int)]] p13,--[[Any (int)]] p14,--[[Any (int)]] p15)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(zOffset);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(xAxis);native_invoker.push_arg_bool(yAxis);native_invoker.push_arg_bool(zAxis);native_invoker.push_arg_int(p12);native_invoker.push_arg_int(p13);native_invoker.push_arg_int(p14);native_invoker.push_arg_int(p15);native_invoker.end_call("6F60E89A7B64EE1D");return native_invoker.get_return_value_int();end, + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["START_NETWORKED_PARTICLE_FX_LOOPED_ON_ENTITY_BONE"]=--[[int]] function(--[[string]] effectName,--[[Entity (int)]] entity,--[[float]] xOffset,--[[float]] yOffset,--[[float]] zOffset,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[int]] boneIndex,--[[float]] scale,--[[BOOL (bool)]] xAxis,--[[BOOL (bool)]] yAxis,--[[BOOL (bool)]] zAxis,--[[Any (int)]] p13,--[[Any (int)]] p14,--[[Any (int)]] p15,--[[Any (int)]] p16)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(zOffset);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_float(scale);native_invoker.push_arg_bool(xAxis);native_invoker.push_arg_bool(yAxis);native_invoker.push_arg_bool(zAxis);native_invoker.push_arg_int(p13);native_invoker.push_arg_int(p14);native_invoker.push_arg_int(p15);native_invoker.push_arg_int(p16);native_invoker.end_call("DDE23F30CC5A0F03");return native_invoker.get_return_value_int();end, + -- p1 is always 0 in the native scripts + ["STOP_PARTICLE_FX_LOOPED"]=--[[void]] function(--[[int]] ptfxHandle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ptfxHandle);native_invoker.push_arg_bool(p1);native_invoker.end_call("8F75998877616996");end, + ["REMOVE_PARTICLE_FX"]=--[[void]] function(--[[int]] ptfxHandle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ptfxHandle);native_invoker.push_arg_bool(p1);native_invoker.end_call("C401503DFE8D53CF");end, + ["REMOVE_PARTICLE_FX_FROM_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("B8FEAEEBCC127425");end, + ["REMOVE_PARTICLE_FX_IN_RANGE"]=--[[void]] function(--[[float]] X,--[[float]] Y,--[[float]] Z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(X);native_invoker.push_arg_float(Y);native_invoker.push_arg_float(Z);native_invoker.push_arg_float(radius);native_invoker.end_call("DD19FA1C6D657305");end, + ["_0xBA0127DA25FD54C9"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("BA0127DA25FD54C9");end, + ["DOES_PARTICLE_FX_LOOPED_EXIST"]=--[[BOOL (bool)]] function(--[[int]] ptfxHandle)native_invoker.begin_call();native_invoker.push_arg_int(ptfxHandle);native_invoker.end_call("74AFEF0D2E1E409B");return native_invoker.get_return_value_bool();end, + ["SET_PARTICLE_FX_LOOPED_OFFSETS"]=--[[void]] function(--[[int]] ptfxHandle,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ)native_invoker.begin_call();native_invoker.push_arg_int(ptfxHandle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.end_call("F7DDEBEC43483C43");end, + ["SET_PARTICLE_FX_LOOPED_EVOLUTION"]=--[[void]] function(--[[int]] ptfxHandle,--[[string]] propertyName,--[[float]] amount,--[[BOOL (bool)]] noNetwork)native_invoker.begin_call();native_invoker.push_arg_int(ptfxHandle);native_invoker.push_arg_string(propertyName);native_invoker.push_arg_float(amount);native_invoker.push_arg_bool(noNetwork);native_invoker.end_call("5F0C4B5B1C393BE2");end, + -- only works on some fx's + -- + -- p4 = 0 + ["SET_PARTICLE_FX_LOOPED_COLOUR"]=--[[void]] function(--[[int]] ptfxHandle,--[[float]] r,--[[float]] g,--[[float]] b,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ptfxHandle);native_invoker.push_arg_float(r);native_invoker.push_arg_float(g);native_invoker.push_arg_float(b);native_invoker.push_arg_bool(p4);native_invoker.end_call("7F8F65877F88783B");end, + ["SET_PARTICLE_FX_LOOPED_ALPHA"]=--[[void]] function(--[[int]] ptfxHandle,--[[float]] alpha)native_invoker.begin_call();native_invoker.push_arg_int(ptfxHandle);native_invoker.push_arg_float(alpha);native_invoker.end_call("726845132380142E");end, + ["SET_PARTICLE_FX_LOOPED_SCALE"]=--[[void]] function(--[[int]] ptfxHandle,--[[float]] scale)native_invoker.begin_call();native_invoker.push_arg_int(ptfxHandle);native_invoker.push_arg_float(scale);native_invoker.end_call("B44250AAA456492D");end, + ["SET_PARTICLE_FX_LOOPED_FAR_CLIP_DIST"]=--[[void]] function(--[[int]] ptfxHandle,--[[float]] range)native_invoker.begin_call();native_invoker.push_arg_int(ptfxHandle);native_invoker.push_arg_float(range);native_invoker.end_call("DCB194B85EF7B541");end, + ["SET_PARTICLE_FX_CAM_INSIDE_VEHICLE"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("EEC4047028426510");end, + ["SET_PARTICLE_FX_CAM_INSIDE_NONPLAYER_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("ACEE6F360FC1F6B6");end, + ["SET_PARTICLE_FX_SHOOTOUT_BOAT"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("96EF97DAEB89BEF5");end, + ["_0x2A251AA48B2B46DB"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2A251AA48B2B46DB");end, + ["_0x908311265D42A820"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("908311265D42A820");end, + ["_0xCFD16F0DB5A3535C"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("CFD16F0DB5A3535C");end, + -- DISABLE_* + ["_0x5F6DF3D92271E8A1"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("5F6DF3D92271E8A1");end, + ["_0x2B40A97646381508"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2B40A97646381508");end, + -- Creates cartoon effect when Michel smokes the weed + ["ENABLE_CLOWN_BLOOD_VFX"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("D821490579791273");end, + -- Creates a motion-blur sort of effect, this native does not seem to work, however by using the `START_SCREEN_EFFECT` native with `DrugsMichaelAliensFight` as the effect parameter, you should be able to get the effect. + ["ENABLE_ALIEN_BLOOD_VFX"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("9DCE1F0F78260875");end, + ["SET_PARTICLE_FX_BULLET_IMPACT_SCALE"]=--[[void]] function(--[[float]] scale)native_invoker.begin_call();native_invoker.push_arg_float(scale);native_invoker.end_call("27E32866E9A5C416");end, + ["_0xBB90E12CAC1DAB25"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("BB90E12CAC1DAB25");end, + ["_0xCA4AE345A153D573"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("CA4AE345A153D573");end, + ["_0x54E22EA2C1956A8D"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("54E22EA2C1956A8D");end, + ["_0x949F397A288B28B3"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("949F397A288B28B3");end, + -- SET_PARTICLE_FX_* + -- + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["_0xBA3D194057C79A7B"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("BA3D194057C79A7B");end, + ["_0x5DBF05DB5926D089"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5DBF05DB5926D089");end, + -- FORCE_* + ["_0x9B079E5221D984D3"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("9B079E5221D984D3");end, + -- From the b678d decompiled scripts: + -- + -- GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("FM_Mission_Controler"); + -- GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("scr_apartment_mp"); + -- GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("scr_indep_fireworks"); + -- GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("scr_mp_cig_plane"); + -- GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("scr_mp_creator"); + -- GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("scr_ornate_heist"); + -- GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("scr_prison_break_heist_station"); + -- + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["USE_PARTICLE_FX_ASSET"]=--[[void]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("6C38AF3693A69A91");end, + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["SET_PARTICLE_FX_OVERRIDE"]=--[[void]] function(--[[string]] oldAsset,--[[string]] newAsset)native_invoker.begin_call();native_invoker.push_arg_string(oldAsset);native_invoker.push_arg_string(newAsset);native_invoker.end_call("EA1E2D93F6F75ED9");end, + -- Resets the effect of SET_PARTICLE_FX_OVERRIDE + -- + -- Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + ["RESET_PARTICLE_FX_OVERRIDE"]=--[[void]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("89C8553DD3274AAE");end, + ["_0xA46B73FAA3460AE1"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("A46B73FAA3460AE1");end, + ["_0xF78B803082D4386F"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("F78B803082D4386F");end, + ["WASH_DECALS_IN_RANGE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("9C30613D50A6ADEF");end, + ["WASH_DECALS_FROM_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p1);native_invoker.end_call("5B712761429DBC14");end, + -- Fades nearby decals within the range specified + ["FADE_DECALS_IN_RANGE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("D77EDADB0420E6E0");end, + -- Removes all decals in range from a position, it includes the bullet holes, blood pools, petrol... + ["REMOVE_DECALS_IN_RANGE"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] range)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(range);native_invoker.end_call("5D6B2D4830A67C62");end, + ["REMOVE_DECALS_FROM_OBJECT"]=--[[void]] function(--[[Object (int)]] obj)native_invoker.begin_call();native_invoker.push_arg_int(obj);native_invoker.end_call("CCF71CBDDF5B6CB9");end, + ["REMOVE_DECALS_FROM_OBJECT_FACING"]=--[[void]] function(--[[Object (int)]] obj,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(obj);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("A6F6F70FDC6D144C");end, + ["REMOVE_DECALS_FROM_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("E91F1B65F2B48D57");end, + -- decal types: + -- + -- public enum DecalTypes + -- { + -- splatters_blood = 1010, + -- splatters_blood_dir = 1015, + -- splatters_blood_mist = 1017, + -- splatters_mud = 1020, + -- splatters_paint = 1030, + -- splatters_water = 1040, + -- splatters_water_hydrant = 1050, + -- splatters_blood2 = 1110, + -- weapImpact_metal = 4010, + -- weapImpact_concrete = 4020, + -- weapImpact_mattress = 4030, + -- weapImpact_mud = 4032, + -- weapImpact_wood = 4050, + -- weapImpact_sand = 4053, + -- weapImpact_cardboard = 4040, + -- weapImpact_melee_glass = 4100, + -- weapImpact_glass_blood = 4102, + -- weapImpact_glass_blood2 = 4104, + -- weapImpact_shotgun_paper = 4200, + -- weapImpact_shotgun_mattress, + -- weapImpact_shotgun_metal, + -- weapImpact_shotgun_wood, + -- weapImpact_shotgun_dirt, + -- weapImpact_shotgun_tvscreen, + -- weapImpact_shotgun_tvscreen2, + -- weapImpact_shotgun_tvscreen3, + -- weapImpact_melee_concrete = 4310, + -- weapImpact_melee_wood = 4312, + -- weapImpact_melee_metal = 4314, + -- burn1 = 4421, + -- burn2, + -- burn3, + -- burn4, + -- burn5, + -- bang_concrete_bang = 5000, + -- bang_concrete_bang2, + -- bang_bullet_bang, + -- bang_bullet_bang2 = 5004, + -- bang_glass = 5031, + -- bang_glass2, + -- solidPool_water = 9000, + -- solidPool_blood, + -- solidPool_oil, + -- solidPool_petrol, + -- solidPool_mud, + -- porousPool_water, + -- porousPool_blood, + -- porousPool_oil, + -- porousPool_petrol, + -- porousPool_mud, + -- porousPool_water_ped_drip, + -- liquidTrail_water = 9050 + -- } + ["ADD_DECAL"]=--[[int]] function(--[[int]] decalType,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[float]] p8,--[[float]] p9,--[[float]] width,--[[float]] height,--[[float]] rCoef,--[[float]] gCoef,--[[float]] bCoef,--[[float]] opacity,--[[float]] timeout,--[[BOOL (bool)]] p17,--[[BOOL (bool)]] p18,--[[BOOL (bool)]] p19)native_invoker.begin_call();native_invoker.push_arg_int(decalType);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_float(width);native_invoker.push_arg_float(height);native_invoker.push_arg_float(rCoef);native_invoker.push_arg_float(gCoef);native_invoker.push_arg_float(bCoef);native_invoker.push_arg_float(opacity);native_invoker.push_arg_float(timeout);native_invoker.push_arg_bool(p17);native_invoker.push_arg_bool(p18);native_invoker.push_arg_bool(p19);native_invoker.end_call("B302244A1839BDAD");return native_invoker.get_return_value_int();end, + ["ADD_PETROL_DECAL"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] groundLvl,--[[float]] width,--[[float]] transparency)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(groundLvl);native_invoker.push_arg_float(width);native_invoker.push_arg_float(transparency);native_invoker.end_call("4F5212C7AD880DF8");return native_invoker.get_return_value_int();end, + ["START_PETROL_TRAIL_DECALS"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("99AC7F0D8B9C893D");end, + ["ADD_PETROL_TRAIL_DECAL_INFO"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p3);native_invoker.end_call("967278682CB6967A");end, + ["END_PETROL_TRAIL_DECALS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0A123435A26C36CD");end, + ["REMOVE_DECAL"]=--[[void]] function(--[[int]] decal)native_invoker.begin_call();native_invoker.push_arg_int(decal);native_invoker.end_call("ED3F346429CCD659");end, + ["IS_DECAL_ALIVE"]=--[[BOOL (bool)]] function(--[[int]] decal)native_invoker.begin_call();native_invoker.push_arg_int(decal);native_invoker.end_call("C694D74949CAFD0C");return native_invoker.get_return_value_bool();end, + ["GET_DECAL_WASH_LEVEL"]=--[[float]] function(--[[int]] decal)native_invoker.begin_call();native_invoker.push_arg_int(decal);native_invoker.end_call("323F647679A09103");return native_invoker.get_return_value_float();end, + ["_0xD9454B5752C857DC"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D9454B5752C857DC");end, + ["_0x27CFB1B1E078CB2D"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("27CFB1B1E078CB2D");end, + ["SET_DISABLE_DECAL_RENDERING_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("4B5CFC83122DF602");end, + ["GET_IS_PETROL_DECAL_IN_RANGE"]=--[[BOOL (bool)]] function(--[[float]] xCoord,--[[float]] yCoord,--[[float]] zCoord,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(xCoord);native_invoker.push_arg_float(yCoord);native_invoker.push_arg_float(zCoord);native_invoker.push_arg_float(radius);native_invoker.end_call("2F09F7976C512404");return native_invoker.get_return_value_bool();end, + -- Old name: _OVERRIDE_DECAL_TEXTURE + ["PATCH_DECAL_DIFFUSE_MAP"]=--[[void]] function(--[[int]] decalType,--[[string]] textureDict,--[[string]] textureName)native_invoker.begin_call();native_invoker.push_arg_int(decalType);native_invoker.push_arg_string(textureDict);native_invoker.push_arg_string(textureName);native_invoker.end_call("8A35C742130C6080");end, + -- Old name: _UNDO_DECAL_TEXTURE_OVERRIDE + ["UNPATCH_DECAL_DIFFUSE_MAP"]=--[[void]] function(--[[int]] decalType)native_invoker.begin_call();native_invoker.push_arg_int(decalType);native_invoker.end_call("B7ED70C49521A61D");end, + ["MOVE_VEHICLE_DECALS"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("84C8D7C2D30D3280");end, + -- boneIndex is always chassis_dummy in the scripts. The x/y/z params are location relative to the chassis bone. + ["ADD_VEHICLE_CREW_EMBLEM"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[Ped (int)]] ped,--[[int]] boneIndex,--[[float]] x1,--[[float]] x2,--[[float]] x3,--[[float]] y1,--[[float]] y2,--[[float]] y3,--[[float]] z1,--[[float]] z2,--[[float]] z3,--[[float]] scale,--[[Any (int)]] p13,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(ped);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(x3);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(y3);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(z3);native_invoker.push_arg_float(scale);native_invoker.push_arg_int(p13);native_invoker.push_arg_int(alpha);native_invoker.end_call("428BDCB9DA58DA53");return native_invoker.get_return_value_bool();end, + ["_0x82ACC484FFA3B05F"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("82ACC484FFA3B05F");return native_invoker.get_return_value_int();end, + ["REMOVE_VEHICLE_CREW_EMBLEM"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.end_call("D2300034310557E4");end, + ["GET_VEHICLE_CREW_EMBLEM_REQUEST_STATE"]=--[[int]] function(--[[Vehicle (int)]] vehicle,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.end_call("FE26117A5841B2FF");return native_invoker.get_return_value_int();end, + ["DOES_VEHICLE_HAVE_CREW_EMBLEM"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.end_call("060D935D3981A275");return native_invoker.get_return_value_bool();end, + ["_0x0E4299C549F0D1F1"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("0E4299C549F0D1F1");end, + -- DISABLE_S* + ["_0x02369D5C8A51FDCF"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("02369D5C8A51FDCF");end, + ["_0x46D1A61A21F566FC"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("46D1A61A21F566FC");end, + ["OVERRIDE_INTERIOR_SMOKE_NAME"]=--[[void]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("2A2A52824DB96700");end, + ["OVERRIDE_INTERIOR_SMOKE_LEVEL"]=--[[void]] function(--[[float]] level)native_invoker.begin_call();native_invoker.push_arg_float(level);native_invoker.end_call("1600FD8CF72EBC12");end, + ["OVERRIDE_INTERIOR_SMOKE_END"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EFB55E7C25D3B3BE");end, + -- Used with 'NG_filmnoir_BW{01,02}' timecycles and the "NOIR_FILTER_SOUNDS" audioref. + ["_REGISTER_NOIR_SCREEN_EFFECT_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A44FF770DFBC5DAE");end, + ["DISABLE_VEHICLE_DISTANTLIGHTS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("C9F98AC1884E73A2");end, + ["_0x03300B57FCAC6DDB"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("03300B57FCAC6DDB");end, + -- REQUEST_* + ["_0x98EDF76A7271E4F2"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("98EDF76A7271E4F2");end, + -- Forces footstep tracks on all surfaces. + -- + -- USE_/USING_* + ["_SET_FORCE_PED_FOOTSTEPS_TRACKS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("AEEDAD1420C65CC0");end, + -- Forces vehicle trails on all surfaces. + -- + -- USE_/USING_* + ["_SET_FORCE_VEHICLE_TRAILS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("4CC7F0FEA5283FE0");end, + ["_DISABLE_SCRIPT_AMBIENT_EFFECTS"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("EFD97FF47B745B8D");end, + -- Only one match in the scripts: + -- + -- GRAPHICS::PRESET_INTERIOR_AMBIENT_CACHE("int_carrier_hanger"); + ["PRESET_INTERIOR_AMBIENT_CACHE"]=--[[void]] function(--[[string]] timecycleModifierName)native_invoker.begin_call();native_invoker.push_arg_string(timecycleModifierName);native_invoker.end_call("D7021272EB0A451E");end, + -- Loads the specified timecycle modifier. Modifiers are defined separately in another file (e.g. "timecycle_mods_1.xml") + -- + -- Parameters: + -- modifierName - The modifier to load (e.g. "V_FIB_IT3", "scanline_cam", etc.) + -- + -- Full list of timecycle modifiers by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/timecycleModifiers.json + ["SET_TIMECYCLE_MODIFIER"]=--[[void]] function(--[[string]] modifierName)native_invoker.begin_call();native_invoker.push_arg_string(modifierName);native_invoker.end_call("2C933ABF17A1DF41");end, + ["SET_TIMECYCLE_MODIFIER_STRENGTH"]=--[[void]] function(--[[float]] strength)native_invoker.begin_call();native_invoker.push_arg_float(strength);native_invoker.end_call("82E7FFCD5B2326B3");end, + -- Full list of timecycle modifiers by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/timecycleModifiers.json + ["SET_TRANSITION_TIMECYCLE_MODIFIER"]=--[[void]] function(--[[string]] modifierName,--[[float]] transition)native_invoker.begin_call();native_invoker.push_arg_string(modifierName);native_invoker.push_arg_float(transition);native_invoker.end_call("3BCF567485E1971C");end, + -- SET_TRA* + ["_0x1CBA05AE7BD7EE05"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("1CBA05AE7BD7EE05");end, + ["CLEAR_TIMECYCLE_MODIFIER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0F07E7745A236711");end, + -- Only use for this in the PC scripts is: + -- + -- if (GRAPHICS::GET_TIMECYCLE_MODIFIER_INDEX() != -1) + -- + -- For a full list, see here: pastebin.com/cnk7FTF2 + ["GET_TIMECYCLE_MODIFIER_INDEX"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("FDF3D97C674AFB66");return native_invoker.get_return_value_int();end, + ["GET_TIMECYCLE_TRANSITION_MODIFIER_INDEX"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("459FD2C8D0AB78BC");return native_invoker.get_return_value_int();end, + ["_0x98D18905BF723B99"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("98D18905BF723B99");return native_invoker.get_return_value_int();end, + ["PUSH_TIMECYCLE_MODIFIER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("58F735290861E6B4");end, + ["POP_TIMECYCLE_MODIFIER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("3C8938D7D872211E");end, + ["SET_CURRENT_PLAYER_TCMODIFIER"]=--[[void]] function(--[[string]] modifierName)native_invoker.begin_call();native_invoker.push_arg_string(modifierName);native_invoker.end_call("BBF327DED94E4DEB");end, + ["SET_PLAYER_TCMODIFIER_TRANSITION"]=--[[void]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("BDEB86F4D5809204");end, + ["SET_NEXT_PLAYER_TCMODIFIER"]=--[[void]] function(--[[string]] modifierName)native_invoker.begin_call();native_invoker.push_arg_string(modifierName);native_invoker.end_call("BF59707B3E5ED531");end, + ["ADD_TCMODIFIER_OVERRIDE"]=--[[void]] function(--[[string]] modifierName1,--[[string]] modifierName2)native_invoker.begin_call();native_invoker.push_arg_string(modifierName1);native_invoker.push_arg_string(modifierName2);native_invoker.end_call("1A8E2C8B9CF4549C");end, + -- CLEAR_A* + ["_0x15E33297C3E8DC60"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("15E33297C3E8DC60");end, + -- Full list of timecycle modifiers by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/timecycleModifiers.json + ["_SET_EXTRA_TIMECYCLE_MODIFIER"]=--[[void]] function(--[[string]] modifierName)native_invoker.begin_call();native_invoker.push_arg_string(modifierName);native_invoker.end_call("5096FD9CCB49056D");end, + -- Clears the secondary timecycle modifier usually set with _SET_EXTRA_TIMECYCLE_MODIFIER + ["_CLEAR_EXTRA_TIMECYCLE_MODIFIER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("92CCC17A7A2285DA");end, + -- See _0xFDF3D97C674AFB66 for use, works the same just for the secondary timecycle modifier. + -- Returns an integer representing the Timecycle modifier + ["_GET_EXTRA_TIMECYCLE_MODIFIER_INDEX"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("BB0527EC6341496D");return native_invoker.get_return_value_int();end, + -- ENABLE_* + -- The same as SET_TIMECYCLE_MODIFIER_STRENGTH but for the secondary timecycle modifier. + ["_SET_EXTRA_TIMECYCLE_MODIFIER_STRENGTH"]=--[[void]] function(--[[float]] strength)native_invoker.begin_call();native_invoker.push_arg_float(strength);native_invoker.end_call("2C328AF17210F009");end, + -- Resets the extra timecycle modifier strength normally set with 0x2C328AF17210F009 + ["_RESET_EXTRA_TIMECYCLE_MODIFIER_STRENGTH"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2BF72AD5B41AA739");end, + ["REQUEST_SCALEFORM_MOVIE"]=--[[int]] function(--[[string]] scaleformName)native_invoker.begin_call();native_invoker.push_arg_string(scaleformName);native_invoker.end_call("11FE353CF9733E6F");return native_invoker.get_return_value_int();end, + -- Another REQUEST_SCALEFORM_MOVIE equivalent. + ["_REQUEST_SCALEFORM_MOVIE_2"]=--[[int]] function(--[[string]] scaleformName)native_invoker.begin_call();native_invoker.push_arg_string(scaleformName);native_invoker.end_call("65E7E78842E74CDB");return native_invoker.get_return_value_int();end, + ["REQUEST_SCALEFORM_MOVIE_INSTANCE"]=--[[int]] function(--[[string]] scaleformName)native_invoker.begin_call();native_invoker.push_arg_string(scaleformName);native_invoker.end_call("C514489CFB8AF806");return native_invoker.get_return_value_int();end, + -- Similar to REQUEST_SCALEFORM_MOVIE, but seems to be some kind of "interactive" scaleform movie? + -- + -- These seem to be the only scaleforms ever requested by this native: + -- "breaking_news" + -- "desktop_pc" + -- "ECG_MONITOR" + -- "Hacking_PC" + -- "TEETH_PULLING" + -- + -- Note: Unless this hash is out-of-order, this native is next-gen only. + -- + ["_REQUEST_SCALEFORM_MOVIE_INTERACTIVE"]=--[[int]] function(--[[string]] scaleformName)native_invoker.begin_call();native_invoker.push_arg_string(scaleformName);native_invoker.end_call("BD06C611BB9048C2");return native_invoker.get_return_value_int();end, + ["HAS_SCALEFORM_MOVIE_LOADED"]=--[[BOOL (bool)]] function(--[[int]] scaleformHandle)native_invoker.begin_call();native_invoker.push_arg_int(scaleformHandle);native_invoker.end_call("85F01B8D5B90570E");return native_invoker.get_return_value_bool();end, + -- val is 1-20 (0 will return false) + -- SET_??? + ["_0x2FCB133CA50A49EB"]=--[[BOOL (bool)]] function(--[[int]] val)native_invoker.begin_call();native_invoker.push_arg_int(val);native_invoker.end_call("2FCB133CA50A49EB");return native_invoker.get_return_value_bool();end, + -- val is 1-20. Return is related to INSTRUCTIONAL_BUTTONS, COLOUR_SWITCHER_02, etc? + ["_0x86255B1FC929E33E"]=--[[BOOL (bool)]] function(--[[int]] val)native_invoker.begin_call();native_invoker.push_arg_int(val);native_invoker.end_call("86255B1FC929E33E");return native_invoker.get_return_value_bool();end, + -- Only values used in the scripts are: + -- + -- "heist_mp" + -- "heistmap_mp" + -- "instructional_buttons" + -- "heist_pre" + ["HAS_SCALEFORM_MOVIE_FILENAME_LOADED"]=--[[BOOL (bool)]] function(--[[string]] scaleformName)native_invoker.begin_call();native_invoker.push_arg_string(scaleformName);native_invoker.end_call("0C1C5D756FB5F337");return native_invoker.get_return_value_bool();end, + ["HAS_SCALEFORM_CONTAINER_MOVIE_LOADED_INTO_PARENT"]=--[[BOOL (bool)]] function(--[[int]] scaleformHandle)native_invoker.begin_call();native_invoker.push_arg_int(scaleformHandle);native_invoker.end_call("8217150E1217EBFD");return native_invoker.get_return_value_bool();end, + ["SET_SCALEFORM_MOVIE_AS_NO_LONGER_NEEDED"]=--[[void]] function(--[[int* (pointer)]] scaleformHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(scaleformHandle);native_invoker.end_call("1D132D614DD86811");end, + ["SET_SCALEFORM_MOVIE_TO_USE_SYSTEM_TIME"]=--[[void]] function(--[[int]] scaleform,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(scaleform);native_invoker.push_arg_bool(toggle);native_invoker.end_call("6D8EB211944DCE08");end, + ["_0x32F34FF7F617643B"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("32F34FF7F617643B");end, + -- This native is used in some casino scripts to fit the scaleform in the rendertarget. + ["_SET_SCALEFORM_FIT_RENDERTARGET"]=--[[void]] function(--[[int]] scaleformHandle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(scaleformHandle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("E6A9F00D4240B519");end, + ["DRAW_SCALEFORM_MOVIE"]=--[[void]] function(--[[int]] scaleformHandle,--[[float]] x,--[[float]] y,--[[float]] width,--[[float]] height,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha,--[[int]] unk)native_invoker.begin_call();native_invoker.push_arg_int(scaleformHandle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(width);native_invoker.push_arg_float(height);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.push_arg_int(unk);native_invoker.end_call("54972ADAF0294A93");end, + -- unk is not used so no need + ["DRAW_SCALEFORM_MOVIE_FULLSCREEN"]=--[[void]] function(--[[int]] scaleform,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha,--[[int]] unk)native_invoker.begin_call();native_invoker.push_arg_int(scaleform);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.push_arg_int(unk);native_invoker.end_call("0DF606929C105BE1");end, + ["DRAW_SCALEFORM_MOVIE_FULLSCREEN_MASKED"]=--[[void]] function(--[[int]] scaleform1,--[[int]] scaleform2,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_int(scaleform1);native_invoker.push_arg_int(scaleform2);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("CF537FDE4FBD4CE5");end, + ["DRAW_SCALEFORM_MOVIE_3D"]=--[[void]] function(--[[int]] scaleform,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[float]] p7,--[[float]] p8,--[[float]] p9,--[[float]] scaleX,--[[float]] scaleY,--[[float]] scaleZ,--[[Any (int)]] p13)native_invoker.begin_call();native_invoker.push_arg_int(scaleform);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_float(scaleX);native_invoker.push_arg_float(scaleY);native_invoker.push_arg_float(scaleZ);native_invoker.push_arg_int(p13);native_invoker.end_call("87D51D72255D4E78");end, + ["DRAW_SCALEFORM_MOVIE_3D_SOLID"]=--[[void]] function(--[[int]] scaleform,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[float]] p7,--[[float]] p8,--[[float]] p9,--[[float]] scaleX,--[[float]] scaleY,--[[float]] scaleZ,--[[Any (int)]] p13)native_invoker.begin_call();native_invoker.push_arg_int(scaleform);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_float(scaleX);native_invoker.push_arg_float(scaleY);native_invoker.push_arg_float(scaleZ);native_invoker.push_arg_int(p13);native_invoker.end_call("1CE592FDC749D6F5");end, + -- Calls the Scaleform function. + ["CALL_SCALEFORM_MOVIE_METHOD"]=--[[void]] function(--[[int]] scaleform,--[[string]] method)native_invoker.begin_call();native_invoker.push_arg_int(scaleform);native_invoker.push_arg_string(method);native_invoker.end_call("FBD96D87AC96D533");end, + -- Calls the Scaleform function and passes the parameters as floats. + -- + -- The number of parameters passed to the function varies, so the end of the parameter list is represented by -1.0. + ["CALL_SCALEFORM_MOVIE_METHOD_WITH_NUMBER"]=--[[void]] function(--[[int]] scaleform,--[[string]] methodName,--[[float]] param1,--[[float]] param2,--[[float]] param3,--[[float]] param4,--[[float]] param5)native_invoker.begin_call();native_invoker.push_arg_int(scaleform);native_invoker.push_arg_string(methodName);native_invoker.push_arg_float(param1);native_invoker.push_arg_float(param2);native_invoker.push_arg_float(param3);native_invoker.push_arg_float(param4);native_invoker.push_arg_float(param5);native_invoker.end_call("D0837058AE2E4BEE");end, + -- Calls the Scaleform function and passes the parameters as strings. + -- + -- The number of parameters passed to the function varies, so the end of the parameter list is represented by 0 (NULL). + ["CALL_SCALEFORM_MOVIE_METHOD_WITH_STRING"]=--[[void]] function(--[[int]] scaleform,--[[string]] methodName,--[[string]] param1,--[[string]] param2,--[[string]] param3,--[[string]] param4,--[[string]] param5)native_invoker.begin_call();native_invoker.push_arg_int(scaleform);native_invoker.push_arg_string(methodName);native_invoker.push_arg_string(param1);native_invoker.push_arg_string(param2);native_invoker.push_arg_string(param3);native_invoker.push_arg_string(param4);native_invoker.push_arg_string(param5);native_invoker.end_call("51BC1ED3CC44E8F7");end, + -- Calls the Scaleform function and passes both float and string parameters (in their respective order). + -- + -- The number of parameters passed to the function varies, so the end of the float parameters is represented by -1.0, and the end of the string parameters is represented by 0 (NULL). + -- + -- NOTE: The order of parameters in the function prototype is important! All float parameters must come first, followed by the string parameters. + -- + -- Examples: + -- // function MY_FUNCTION(floatParam1, floatParam2, stringParam) + -- GRAPHICS::_CALL_SCALEFORM_MOVIE_FUNCTION_MIXED_PARAMS(scaleform, "MY_FUNCTION", 10.0, 20.0, -1.0, -1.0, -1.0, "String param", 0, 0, 0, 0); + -- + -- // function MY_FUNCTION_2(floatParam, stringParam1, stringParam2) + -- GRAPHICS::_CALL_SCALEFORM_MOVIE_FUNCTION_MIXED_PARAMS(scaleform, "MY_FUNCTION_2", 10.0, -1.0, -1.0, -1.0, -1.0, "String param #1", "String param #2", 0, 0, 0); + ["CALL_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING"]=--[[void]] function(--[[int]] scaleform,--[[string]] methodName,--[[float]] floatParam1,--[[float]] floatParam2,--[[float]] floatParam3,--[[float]] floatParam4,--[[float]] floatParam5,--[[string]] stringParam1,--[[string]] stringParam2,--[[string]] stringParam3,--[[string]] stringParam4,--[[string]] stringParam5)native_invoker.begin_call();native_invoker.push_arg_int(scaleform);native_invoker.push_arg_string(methodName);native_invoker.push_arg_float(floatParam1);native_invoker.push_arg_float(floatParam2);native_invoker.push_arg_float(floatParam3);native_invoker.push_arg_float(floatParam4);native_invoker.push_arg_float(floatParam5);native_invoker.push_arg_string(stringParam1);native_invoker.push_arg_string(stringParam2);native_invoker.push_arg_string(stringParam3);native_invoker.push_arg_string(stringParam4);native_invoker.push_arg_string(stringParam5);native_invoker.end_call("EF662D8D57E290B1");end, + -- Pushes a function from the Hud component Scaleform onto the stack. Same behavior as GRAPHICS::BEGIN_SCALEFORM_MOVIE_METHOD, just a hud component id instead of a Scaleform. + -- + -- Known components: + -- 19 - MP_RANK_BAR + -- 20 - HUD_DIRECTOR_MODE + -- + -- This native requires more research - all information can be found inside of 'hud.gfx'. Using a decompiler, the different components are located under "scripts\__Packages\com\rockstargames\gtav\hud\hudComponents" and "scripts\__Packages\com\rockstargames\gtav\Multiplayer". + ["BEGIN_SCALEFORM_SCRIPT_HUD_MOVIE_METHOD"]=--[[BOOL (bool)]] function(--[[int]] hudComponent,--[[string]] methodName)native_invoker.begin_call();native_invoker.push_arg_int(hudComponent);native_invoker.push_arg_string(methodName);native_invoker.end_call("98C494FD5BDFBFD5");return native_invoker.get_return_value_bool();end, + -- Push a function from the Scaleform onto the stack + -- + ["BEGIN_SCALEFORM_MOVIE_METHOD"]=--[[BOOL (bool)]] function(--[[int]] scaleform,--[[string]] methodName)native_invoker.begin_call();native_invoker.push_arg_int(scaleform);native_invoker.push_arg_string(methodName);native_invoker.end_call("F6E48914C7A8694E");return native_invoker.get_return_value_bool();end, + -- Starts frontend (pause menu) scaleform movie methods. + -- This can be used when you want to make custom frontend menus, and customize things like images or text in the menus etc. + -- Use `BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER` for header scaleform functions. + ["BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND"]=--[[BOOL (bool)]] function(--[[string]] methodName)native_invoker.begin_call();native_invoker.push_arg_string(methodName);native_invoker.end_call("AB58C27C2E6123C6");return native_invoker.get_return_value_bool();end, + -- Starts frontend (pause menu) scaleform movie methods for header options. + -- Use `BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND` to customize the content inside the frontend menus. + ["BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER"]=--[[BOOL (bool)]] function(--[[string]] methodName)native_invoker.begin_call();native_invoker.push_arg_string(methodName);native_invoker.end_call("B9449845F73F5E9C");return native_invoker.get_return_value_bool();end, + -- Pops and calls the Scaleform function on the stack + ["END_SCALEFORM_MOVIE_METHOD"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C6796A8FFA375E53");end, + ["END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("C50AA39A577AF886");return native_invoker.get_return_value_int();end, + -- methodReturn: The return value of this native: END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE + -- Returns true if the return value of a scaleform function is ready to be collected (using GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING or GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT). + ["IS_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_READY"]=--[[BOOL (bool)]] function(--[[int]] methodReturn)native_invoker.begin_call();native_invoker.push_arg_int(methodReturn);native_invoker.end_call("768FF8961BA904D6");return native_invoker.get_return_value_bool();end, + -- methodReturn: The return value of this native: END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE + -- Used to get a return value from a scaleform function. Returns an int in the same way GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING returns a string. + ["GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT"]=--[[int]] function(--[[int]] methodReturn)native_invoker.begin_call();native_invoker.push_arg_int(methodReturn);native_invoker.end_call("2DE7EFA66B906036");return native_invoker.get_return_value_int();end, + -- methodReturn: The return value of this native: END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE + ["_GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_BOOL"]=--[[BOOL (bool)]] function(--[[int]] methodReturn)native_invoker.begin_call();native_invoker.push_arg_int(methodReturn);native_invoker.end_call("D80A80346A45D761");return native_invoker.get_return_value_bool();end, + -- methodReturn: The return value of this native: END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE + -- Used to get a return value from a scaleform function. Returns a string in the same way GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT returns an int. + ["GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING"]=--[[string]] function(--[[int]] methodReturn)native_invoker.begin_call();native_invoker.push_arg_int(methodReturn);native_invoker.end_call("E1E258829A885245");return native_invoker.get_return_value_string();end, + -- Pushes an integer for the Scaleform function onto the stack. + ["SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT"]=--[[void]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("C3D0841A0CC546A6");end, + -- Pushes a float for the Scaleform function onto the stack. + ["SCALEFORM_MOVIE_METHOD_ADD_PARAM_FLOAT"]=--[[void]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("D69736AAE04DB51A");end, + -- Pushes a boolean for the Scaleform function onto the stack. + ["SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL"]=--[[void]] function(--[[BOOL (bool)]] value)native_invoker.begin_call();native_invoker.push_arg_bool(value);native_invoker.end_call("C58424BA936EB458");end, + -- Called prior to adding a text component to the UI. After doing so, GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING is called. + -- + -- Examples: + -- GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("NUMBER"); + -- HUD::ADD_TEXT_COMPONENT_INTEGER(MISC::ABSI(a_1)); + -- GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING(); + -- + -- GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING"); + -- HUD::_ADD_TEXT_COMPONENT_STRING(a_2); + -- GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING(); + -- + -- GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRTNM2"); + -- HUD::_0x17299B63C7683A2B(v_3); + -- HUD::_0x17299B63C7683A2B(v_4); + -- GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING(); + -- + -- GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRTNM1"); + -- HUD::_0x17299B63C7683A2B(v_3); + -- GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING(); + ["BEGIN_TEXT_COMMAND_SCALEFORM_STRING"]=--[[void]] function(--[[string]] componentType)native_invoker.begin_call();native_invoker.push_arg_string(componentType);native_invoker.end_call("80338406F3475E55");end, + ["END_TEXT_COMMAND_SCALEFORM_STRING"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("362E2D3FE93A9959");end, + -- Same as END_TEXT_COMMAND_SCALEFORM_STRING but does not perform HTML conversion for text tokens. + ["_END_TEXT_COMMAND_SCALEFORM_STRING_2"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("AE4E8157D9ECF087");end, + -- Same as SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING + -- Both SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING / _SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING_2 works, but _SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING_2 is usually used for "name" (organisation, players..). + ["_SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING_2"]=--[[void]] function(--[[string]] string)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.end_call("77FE3402004CD1B0");end, + ["SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING"]=--[[void]] function(--[[string]] string)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.end_call("BA7148484BD90365");end, + ["SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME_STRING"]=--[[void]] function(--[[string]] string)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.end_call("E83A3E3557A56640");end, + -- DOES_* + ["_0x5E657EF1099EDD65"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5E657EF1099EDD65");return native_invoker.get_return_value_bool();end, + ["SCALEFORM_MOVIE_METHOD_ADD_PARAM_LATEST_BRIEF_STRING"]=--[[void]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("EC52C631A1831C03");end, + ["REQUEST_SCALEFORM_SCRIPT_HUD_MOVIE"]=--[[void]] function(--[[int]] hudComponent)native_invoker.begin_call();native_invoker.push_arg_int(hudComponent);native_invoker.end_call("9304881D6F6537EA");end, + ["HAS_SCALEFORM_SCRIPT_HUD_MOVIE_LOADED"]=--[[BOOL (bool)]] function(--[[int]] hudComponent)native_invoker.begin_call();native_invoker.push_arg_int(hudComponent);native_invoker.end_call("DF6E5987D2B4D140");return native_invoker.get_return_value_bool();end, + ["REMOVE_SCALEFORM_SCRIPT_HUD_MOVIE"]=--[[void]] function(--[[int]] hudComponent)native_invoker.begin_call();native_invoker.push_arg_int(hudComponent);native_invoker.end_call("F44A5456AC3F4F97");end, + ["_0xD1C7CB175E012964"]=--[[BOOL (bool)]] function(--[[int]] scaleformHandle)native_invoker.begin_call();native_invoker.push_arg_int(scaleformHandle);native_invoker.end_call("D1C7CB175E012964");return native_invoker.get_return_value_bool();end, + ["SET_TV_CHANNEL"]=--[[void]] function(--[[int]] channel)native_invoker.begin_call();native_invoker.push_arg_int(channel);native_invoker.end_call("BAABBB23EB6E484E");end, + ["GET_TV_CHANNEL"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("FC1E275A90D39995");return native_invoker.get_return_value_int();end, + ["SET_TV_VOLUME"]=--[[void]] function(--[[float]] volume)native_invoker.begin_call();native_invoker.push_arg_float(volume);native_invoker.end_call("2982BF73F66E9DDC");end, + ["GET_TV_VOLUME"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("2170813D3DD8661B");return native_invoker.get_return_value_float();end, + -- All calls to this native are preceded by calls to GRAPHICS::_0x61BB1D9B3A95D802 and GRAPHICS::_0xC6372ECD45D73BCD, respectively. + -- + -- "act_cinema.ysc", line 1483: + -- HUD::SET_HUD_COMPONENT_POSITION(15, 0.0, -0.0375); + -- HUD::SET_TEXT_RENDER_ID(l_AE); + -- GRAPHICS::_0x61BB1D9B3A95D802(4); + -- GRAPHICS::_0xC6372ECD45D73BCD(1); + -- if (GRAPHICS::_0x0AD973CA1E077B60(${movie_arthouse})) { + -- GRAPHICS::DRAW_TV_CHANNEL(0.5, 0.5, 0.7375, 1.0, 0.0, 255, 255, 255, 255); + -- } else { + -- GRAPHICS::DRAW_TV_CHANNEL(0.5, 0.5, 1.0, 1.0, 0.0, 255, 255, 255, 255); + -- } + -- + -- "am_mp_property_int.ysc", line 102545: + -- if (ENTITY::DOES_ENTITY_EXIST(a_2._f3)) { + -- if (HUD::IS_NAMED_RENDERTARGET_LINKED(ENTITY::GET_ENTITY_MODEL(a_2._f3))) { + -- HUD::SET_TEXT_RENDER_ID(a_2._f1); + -- GRAPHICS::_0x61BB1D9B3A95D802(4); + -- GRAPHICS::_0xC6372ECD45D73BCD(1); + -- GRAPHICS::DRAW_TV_CHANNEL(0.5, 0.5, 1.0, 1.0, 0.0, 255, 255, 255, 255); + -- if (GRAPHICS::GET_TV_CHANNEL() == -1) { + -- sub_a8fa5(a_2, 1); + -- } else { + -- sub_a8fa5(a_2, 1); + -- GRAPHICS::ATTACH_TV_AUDIO_TO_ENTITY(a_2._f3); + -- } + -- HUD::SET_TEXT_RENDER_ID(HUD::GET_DEFAULT_SCRIPT_RENDERTARGET_RENDER_ID()); + -- } + -- } + -- + ["DRAW_TV_CHANNEL"]=--[[void]] function(--[[float]] xPos,--[[float]] yPos,--[[float]] xScale,--[[float]] yScale,--[[float]] rotation,--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_float(xPos);native_invoker.push_arg_float(yPos);native_invoker.push_arg_float(xScale);native_invoker.push_arg_float(yScale);native_invoker.push_arg_float(rotation);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("FDDC2B4ED3C69DF0");end, + -- Loads specified video sequence into the TV Channel + -- TV_Channel ranges from 0-2 + -- VideoSequence can be any of the following: + -- "PL_STD_CNT" CNT Standard Channel + -- "PL_STD_WZL" Weazel Standard Channel + -- "PL_LO_CNT" + -- "PL_LO_WZL" + -- "PL_SP_WORKOUT" + -- "PL_SP_INV" - Jay Norris Assassination Mission Fail + -- "PL_SP_INV_EXP" - Jay Norris Assassination Mission Success + -- "PL_LO_RS" - Righteous Slaughter Ad + -- "PL_LO_RS_CUTSCENE" - Righteous Slaughter Cut-scene + -- "PL_SP_PLSH1_INTRO" + -- "PL_LES1_FAME_OR_SHAME" + -- "PL_STD_WZL_FOS_EP2" + -- "PL_MP_WEAZEL" - Weazel Logo on loop + -- "PL_MP_CCTV" - Generic CCTV loop + -- + -- Restart: + -- 0=video sequence continues as normal + -- 1=sequence restarts from beginning every time that channel is selected + -- + -- + -- The above playlists work as intended, and are commonly used, but there are many more playlists, as seen in `tvplaylists.xml`. A pastebin below outlines all playlists, they will be surronded by the name tag I.E. (PL_STD_CNT = PL_STD_CNT). + -- https://pastebin.com/zUzGB6h7 + ["SET_TV_CHANNEL_PLAYLIST"]=--[[void]] function(--[[int]] tvChannel,--[[string]] playlistName,--[[BOOL (bool)]] restart)native_invoker.begin_call();native_invoker.push_arg_int(tvChannel);native_invoker.push_arg_string(playlistName);native_invoker.push_arg_bool(restart);native_invoker.end_call("F7B38B8305F1FE8B");end, + ["SET_TV_CHANNEL_PLAYLIST_AT_HOUR"]=--[[void]] function(--[[int]] tvChannel,--[[string]] playlistName,--[[int]] hour)native_invoker.begin_call();native_invoker.push_arg_int(tvChannel);native_invoker.push_arg_string(playlistName);native_invoker.push_arg_int(hour);native_invoker.end_call("2201C576FACAEBE8");end, + ["CLEAR_TV_CHANNEL_PLAYLIST"]=--[[void]] function(--[[int]] tvChannel)native_invoker.begin_call();native_invoker.push_arg_int(tvChannel);native_invoker.end_call("BEB3D46BB7F043C0");end, + ["_IS_PLAYLIST_UNK"]=--[[BOOL (bool)]] function(--[[int]] tvChannel,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(tvChannel);native_invoker.push_arg_int(p1);native_invoker.end_call("1F710BFF7DAE6261");return native_invoker.get_return_value_bool();end, + -- IS_* + ["_IS_TV_PLAYLIST_ITEM_PLAYING"]=--[[BOOL (bool)]] function(--[[Hash (int)]] videoCliphash)native_invoker.begin_call();native_invoker.push_arg_int(videoCliphash);native_invoker.end_call("0AD973CA1E077B60");return native_invoker.get_return_value_bool();end, + ["ENABLE_MOVIE_KEYFRAME_WAIT"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("74C180030FDE4B69");end, + -- SET_TV_??? + ["_0xD1C55B110E4DF534"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("D1C55B110E4DF534");end, + -- GET_CURRENT_* + ["_0x30432A0118736E00"]=--[[Hash (int)]] function()native_invoker.begin_call();native_invoker.end_call("30432A0118736E00");return native_invoker.get_return_value_int();end, + ["ENABLE_MOVIE_SUBTITLES"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("873FA65C778AD970");end, + ["UI3DSCENE_IS_AVAILABLE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D3A10FC7FD8D98CD");return native_invoker.get_return_value_bool();end, + -- All presets can be found in common\data\ui\uiscenes.meta + ["UI3DSCENE_PUSH_PRESET"]=--[[BOOL (bool)]] function(--[[string]] presetName)native_invoker.begin_call();native_invoker.push_arg_string(presetName);native_invoker.end_call("F1CEA8A4198D8E9A");return native_invoker.get_return_value_bool();end, + -- It's called after 0xD3A10FC7FD8D98CD and 0xF1CEA8A4198D8E9A + -- + -- presetName was always "CELEBRATION_WINNER" + -- All presets can be found in common\data\ui\uiscenes.meta + -- + -- UI3DSCENE_* + ["_0x98C4FE6EC34154CA"]=--[[BOOL (bool)]] function(--[[string]] presetName,--[[Ped (int)]] ped,--[[int]] p2,--[[float]] posX,--[[float]] posY,--[[float]] posZ)native_invoker.begin_call();native_invoker.push_arg_string(presetName);native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p2);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.end_call("98C4FE6EC34154CA");return native_invoker.get_return_value_bool();end, + -- UI3DSCENE_* + ["_0x7A42B2E236E71415"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("7A42B2E236E71415");end, + -- UI3DSCENE_* + ["_0x108BE26959A9D9BB"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("108BE26959A9D9BB");end, + -- This native enables/disables the gold putting grid display (https://i.imgur.com/TC6cku6.png). + -- This requires these two natives to be called as well to configure the grid: `0x1c4fc5752bcd8e48` and `0x5ce62918f8d703c7`. + ["TERRAINGRID_ACTIVATE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("A356990E161C9E65");end, + -- This native is used along with these two natives: `0xa356990e161c9e65` and `0x5ce62918f8d703c7`. + -- This native configures the location, size, rotation, normal height, and the difference ratio between min, normal and max. + -- + -- All those natives combined they will output something like this: https://i.imgur.com/TC6cku6.png + ["TERRAINGRID_SET_PARAMS"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p3,--[[float]] rotation,--[[float]] p5,--[[float]] width,--[[float]] height,--[[float]] p8,--[[float]] scale,--[[float]] glowIntensity,--[[float]] normalHeight,--[[float]] heightDiff)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(rotation);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(width);native_invoker.push_arg_float(height);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(scale);native_invoker.push_arg_float(glowIntensity);native_invoker.push_arg_float(normalHeight);native_invoker.push_arg_float(heightDiff);native_invoker.end_call("1C4FC5752BCD8E48");end, + -- This native is used along with these two natives: `0xa356990e161c9e65` and `0x1c4fc5752bcd8e48`. + -- This native sets the colors for the golf putting grid. the 'min...' values are for the lower areas that the grid covers, the 'max...' values are for the higher areas that the grid covers, all remaining values are for the 'normal' ground height. + -- All those natives combined they will output something like this: https://i.imgur.com/TC6cku6.png + ["TERRAINGRID_SET_COLOURS"]=--[[void]] function(--[[int]] lowR,--[[int]] lowG,--[[int]] lowB,--[[int]] lowAlpha,--[[int]] r,--[[int]] g,--[[int]] b,--[[int]] alpha,--[[int]] highR,--[[int]] highG,--[[int]] highB,--[[int]] highAlpha)native_invoker.begin_call();native_invoker.push_arg_int(lowR);native_invoker.push_arg_int(lowG);native_invoker.push_arg_int(lowB);native_invoker.push_arg_int(lowAlpha);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.push_arg_int(alpha);native_invoker.push_arg_int(highR);native_invoker.push_arg_int(highG);native_invoker.push_arg_int(highB);native_invoker.push_arg_int(highAlpha);native_invoker.end_call("5CE62918F8D703C7");end, + -- duration - is how long to play the effect for in milliseconds. If 0, it plays the default length + -- if loop is true, the effect won't stop until you call ANIMPOSTFX_STOP on it. (only loopable effects) + -- + -- Full list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json + ["ANIMPOSTFX_PLAY"]=--[[void]] function(--[[string]] effectName,--[[int]] duration,--[[BOOL (bool)]] looped)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.push_arg_int(duration);native_invoker.push_arg_bool(looped);native_invoker.end_call("2206BF9A37B7F724");end, + -- See ANIMPOSTFX_PLAY + -- + -- Full list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json + ["ANIMPOSTFX_STOP"]=--[[void]] function(--[[string]] effectName)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.end_call("068E835A1D0DC0E3");end, + -- See ANIMPOSTFX_PLAY + -- + -- Full list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json + ["_ANIMPOSTFX_GET_UNK"]=--[[float]] function(--[[string]] effectName)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.end_call("E35B38A27E8E7179");return native_invoker.get_return_value_float();end, + -- Returns whether the specified effect is active. + -- See ANIMPOSTFX_PLAY + -- + -- Full list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json + ["ANIMPOSTFX_IS_RUNNING"]=--[[BOOL (bool)]] function(--[[string]] effectName)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.end_call("36AD3E690DA5ACEB");return native_invoker.get_return_value_bool();end, + -- Stops ALL currently playing effects. + ["ANIMPOSTFX_STOP_ALL"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B4EDDC19532BFB85");end, + -- Stops the effect and sets a value (bool) in its data (+0x199) to false. + -- See ANIMPOSTFX_PLAY + -- + -- Full list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json + ["_ANIMPOSTFX_STOP_AND_DO_UNK"]=--[[void]] function(--[[string]] effectName)native_invoker.begin_call();native_invoker.push_arg_string(effectName);native_invoker.end_call("D2209BE128B5418C");end, +} +HUD={ + -- Initializes the text entry for the the text next to a loading prompt. All natives for building UI texts can be used here + -- + -- + -- e.g + -- void StartLoadingMessage(char *text, int spinnerType = 3) + -- { + -- _SET_LOADING_PROMPT_TEXT_ENTRY("STRING"); + -- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text); + -- _SHOW_LOADING_PROMPT(spinnerType); + -- } + -- /*OR*/ + -- void ShowLoadingMessage(char *text, int spinnerType = 3, int timeMs = 10000) + -- { + -- _SET_LOADING_PROMPT_TEXT_ENTRY("STRING"); + -- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text); + -- _SHOW_LOADING_PROMPT(spinnerType); + -- WAIT(timeMs); + -- _REMOVE_LOADING_PROMPT(); + -- } + -- + -- + -- These are some localized strings used in the loading spinner. + -- "PM_WAIT" = Please Wait + -- "CELEB_WPLYRS" = Waiting For Players. + -- "CELL_SPINNER2" = Scanning storage. + -- "ERROR_CHECKYACHTNAME" = Registering your yacht's name. Please wait. + -- "ERROR_CHECKPROFANITY" = Checking your text for profanity. Please wait. + -- "FM_COR_AUTOD" = Just spinner no text + -- "FM_IHELP_WAT2" = Waiting for other players + -- "FM_JIP_WAITO" = Game options are being set + -- "FMMC_DOWNLOAD" = Downloading + -- "FMMC_PLYLOAD" = Loading + -- "FMMC_STARTTRAN" = Launching session + -- "HUD_QUITTING" = Quiting session + -- "KILL_STRIP_IDM" = Waiting for to accept + -- "MP_SPINLOADING" = Loading + ["BEGIN_TEXT_COMMAND_BUSYSPINNER_ON"]=--[[void]] function(--[[string]] string)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.end_call("ABA17D7CE615ADBF");end, + -- enum eBusySpinnerType + -- { + -- BUSY_SPINNER_LEFT, + -- BUSY_SPINNER_LEFT_2, + -- BUSY_SPINNER_LEFT_3, + -- BUSY_SPINNER_SAVE, + -- BUSY_SPINNER_RIGHT, + -- }; + ["END_TEXT_COMMAND_BUSYSPINNER_ON"]=--[[void]] function(--[[int]] busySpinnerType)native_invoker.begin_call();native_invoker.push_arg_int(busySpinnerType);native_invoker.end_call("BD12F8228410D9B4");end, + -- Removes the loading prompt at the bottom right of the screen. + ["BUSYSPINNER_OFF"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("10D373323E5B9C0D");end, + ["PRELOAD_BUSYSPINNER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C65AB383CD91DF98");end, + ["BUSYSPINNER_IS_ON"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D422FCC5F239A915");return native_invoker.get_return_value_bool();end, + ["BUSYSPINNER_IS_DISPLAYING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B2A592B04648A9CB");return native_invoker.get_return_value_bool();end, + -- DISABLE_* + ["_0x9245E81072704B8A"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("9245E81072704B8A");end, + -- Shows the cursor on screen for one frame. + ["_SET_MOUSE_CURSOR_ACTIVE_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("AAE7CE1D63167423");end, + -- Changes the mouse cursor's sprite. + -- 1 = Normal + -- 6 = Left Arrow + -- 7 = Right Arrow + ["_SET_MOUSE_CURSOR_SPRITE"]=--[[void]] function(--[[int]] spriteId)native_invoker.begin_call();native_invoker.push_arg_int(spriteId);native_invoker.end_call("8DB8CFFD58B62552");end, + -- Shows/hides the frontend cursor on the pause menu or similar menus. + -- Clicking off and then on the game window will show it again. + ["_SET_MOUSE_CURSOR_VISIBLE_IN_MENUS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("98215325A695E78A");end, + ["_0x3D9ACB1EB139E702"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("3D9ACB1EB139E702");return native_invoker.get_return_value_int();end, + ["_0x632B2940C67F4EA9"]=--[[BOOL (bool)]] function(--[[int]] scaleformHandle,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(scaleformHandle);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("632B2940C67F4EA9");return native_invoker.get_return_value_bool();end, + ["THEFEED_ONLY_SHOW_TOOLTIPS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("6F1554B0CC2089FA");end, + ["THEFEED_SET_SCRIPTED_MENU_HEIGHT"]=--[[void]] function(--[[float]] pos)native_invoker.begin_call();native_invoker.push_arg_float(pos);native_invoker.end_call("55598D21339CB998");end, + -- Stops loading screen tips shown by invoking either `0x488043841BBE156F` or `0x15CFA549788D35EF` + ["_THEFEED_DISABLE_LOADING_SCREEN_TIPS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("32888337579A5970");end, + -- Once called each frame hides all above radar notifications. + ["THEFEED_HIDE_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("25F87B30C382FCA7");end, + -- Displays loading screen tips, requires `0x56C8B608CFD49854` to be called beforehand. + ["_THEFEED_DISPLAY_LOADING_SCREEN_TIPS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("15CFA549788D35EF");end, + ["THEFEED_FLUSH_QUEUE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A8FDB297A8D25FBA");end, + -- Removes a notification instantly instead of waiting for it to disappear + ["THEFEED_REMOVE_ITEM"]=--[[void]] function(--[[int]] notificationId)native_invoker.begin_call();native_invoker.push_arg_int(notificationId);native_invoker.end_call("BE4390CB40B3E627");end, + ["THEFEED_FORCE_RENDER_ON"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A13C11E1B5C06BFC");end, + -- Enables loading screen tips to be be shown (`_0x15CFA549788D35EF` and `_0x488043841BBE156F`), blocks other kinds of notifications from being displayed (at least from current script). Call `0xADED7F5748ACAFE6` to display those again. + ["THEFEED_FORCE_RENDER_OFF"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("583049884A2EEE3C");end, + ["THEFEED_PAUSE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FDB423997FA30340");end, + ["THEFEED_RESUME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E1CD1E48E025E661");end, + ["THEFEED_IS_PAUSED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A9CBFD40B3FA3010");return native_invoker.get_return_value_bool();end, + ["THEFEED_SPS_EXTEND_WIDESCREEN_ON"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D4438C0564490E63");end, + ["THEFEED_SPS_EXTEND_WIDESCREEN_OFF"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B695E2CD0A2DA9EE");end, + -- Returns the handle for the notification currently displayed on the screen. Name may be a hash collision, but describes the function accurately. + ["THEFEED_GET_FIRST_VISIBLE_DELETE_REMAINING"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("82352748437638CA");return native_invoker.get_return_value_int();end, + -- Enables loading screen tips to be be shown (`_0x15CFA549788D35EF` and `_0x488043841BBE156F`), blocks other kinds of notifications from being displayed (at least from current script). Call `0xADED7F5748ACAFE6` to display those again. + ["THEFEED_COMMENT_TELEPORT_POOL_ON"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("56C8B608CFD49854");end, + -- Displays "normal" notifications again after calling `_0x56C8B608CFD49854` (those that were drawn before calling this native too), though those will have a weird offset and stay on screen forever (tested with notifications created from same script). + ["THEFEED_COMMENT_TELEPORT_POOL_OFF"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("ADED7F5748ACAFE6");end, + -- From the decompiled scripts: + -- HUD::_92F0DA1E27DB96DC(6); + -- HUD::_92F0DA1E27DB96DC(184); + -- HUD::_92F0DA1E27DB96DC(190); + -- + -- sets background color for the next notification + -- 6 = red + -- 184 = green + -- 190 = yellow + -- + -- Here is a list of some colors that can be used: gyazo.com/68bd384455fceb0a85a8729e48216e15 + ["_THEFEED_SET_NEXT_POST_BACKGROUND_COLOR"]=--[[void]] function(--[[int]] hudColorIndex)native_invoker.begin_call();native_invoker.push_arg_int(hudColorIndex);native_invoker.end_call("92F0DA1E27DB96DC");end, + ["_THEFEED_SET_ANIMPOSTFX_COLOR"]=--[[void]] function(--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("17430B918701C342");end, + -- Related to notification color flashing, setting p0 to 0 invalidates a `_SET_NOTIFICATION_FLASH_COLOR` call for the target notification. + ["_THEFEED_SET_ANIMPOSTFX_COUNT"]=--[[void]] function(--[[int]] count)native_invoker.begin_call();native_invoker.push_arg_int(count);native_invoker.end_call("17AD8C9706BDD88A");end, + ["_THEFEED_SET_ANIMPOSTFX_SOUND"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("4A0C7C9BB10ABB36");end, + ["THEFEED_RESET_ALL_PARAMETERS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FDD85225B2DEA55E");end, + -- Requires manual management of game stream handles (i.e., 0xBE4390CB40B3E627). + ["THEFEED_FREEZE_NEXT_POST"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FDEC055AB549E328");end, + ["THEFEED_CLEAR_FROZEN_POST"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("80FE4F3AB4E1B62A");end, + ["_THEFEED_SET_FLUSH_ANIMPOSTFX"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("BAE4F9B97CD43B30");end, + -- From the decompiled scripts, called 61 times: + -- HUD::_317EBA71D7543F52(&v_13, &v_13, &v_3, &v_3); + ["_THEFEED_ADD_TXD_REF"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("317EBA71D7543F52");end, + -- Declares the entry type of a notification, for example "STRING". + -- + -- int ShowNotification(char *text) + -- { + -- BEGIN_TEXT_COMMAND_THEFEED_POST("STRING"); + -- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text); + -- return _DRAW_NOTIFICATION(1, 1); + -- } + ["BEGIN_TEXT_COMMAND_THEFEED_POST"]=--[[void]] function(--[[string]] text)native_invoker.begin_call();native_invoker.push_arg_string(text);native_invoker.end_call("202709F4C58A0424");end, + -- List of picture names: https://pastebin.com/XdpJVbHz + -- Example result: https://i.imgur.com/SdEZ22m.png + ["END_TEXT_COMMAND_THEFEED_POST_STATS"]=--[[int]] function(--[[string]] statTitle,--[[int]] iconEnum,--[[BOOL (bool)]] stepVal,--[[int]] barValue,--[[BOOL (bool)]] isImportant,--[[string]] pictureTextureDict,--[[string]] pictureTextureName)native_invoker.begin_call();native_invoker.push_arg_string(statTitle);native_invoker.push_arg_int(iconEnum);native_invoker.push_arg_bool(stepVal);native_invoker.push_arg_int(barValue);native_invoker.push_arg_bool(isImportant);native_invoker.push_arg_string(pictureTextureDict);native_invoker.push_arg_string(pictureTextureName);native_invoker.end_call("2B7E9A4EAAA93C89");return native_invoker.get_return_value_int();end, + -- This function can show pictures of every texture that can be requested by REQUEST_STREAMED_TEXTURE_DICT. + -- + -- List of picNames: pastebin.com/XdpJVbHz + -- + -- + -- flash is a bool for fading in. + -- iconTypes: + -- 1 : Chat Box + -- 2 : Email + -- 3 : Add Friend Request + -- 4 : Nothing + -- 5 : Nothing + -- 6 : Nothing + -- 7 : Right Jumping Arrow + -- 8 : RP Icon + -- 9 : $ Icon + -- + -- "sender" is the very top header. This can be any old string. + -- "subject" is the header under the sender. + ["END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT"]=--[[int]] function(--[[string]] txdName,--[[string]] textureName,--[[BOOL (bool)]] flash,--[[int]] iconType,--[[string]] sender,--[[string]] subject)native_invoker.begin_call();native_invoker.push_arg_string(txdName);native_invoker.push_arg_string(textureName);native_invoker.push_arg_bool(flash);native_invoker.push_arg_int(iconType);native_invoker.push_arg_string(sender);native_invoker.push_arg_string(subject);native_invoker.end_call("1CCD9A37359072CF");return native_invoker.get_return_value_int();end, + -- This function can show pictures of every texture that can be requested by REQUEST_STREAMED_TEXTURE_DICT. + -- + -- Needs more research. + -- + -- Only one type of usage in the scripts: + -- + -- HUD::_C6F580E4C94926AC("CHAR_ACTING_UP", "CHAR_ACTING_UP", 0, 0, "DI_FEED_CHAR", a_0); + ["_END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_GXT_ENTRY"]=--[[int]] function(--[[string]] txdName,--[[string]] textureName,--[[BOOL (bool)]] flash,--[[int]] iconType,--[[string]] sender,--[[string]] subject)native_invoker.begin_call();native_invoker.push_arg_string(txdName);native_invoker.push_arg_string(textureName);native_invoker.push_arg_bool(flash);native_invoker.push_arg_int(iconType);native_invoker.push_arg_string(sender);native_invoker.push_arg_string(subject);native_invoker.end_call("C6F580E4C94926AC");return native_invoker.get_return_value_int();end, + -- This function can show pictures of every texture that can be requested by REQUEST_STREAMED_TEXTURE_DICT. + -- + -- NOTE: 'duration' is a multiplier, so 1.0 is normal, 2.0 is twice as long (very slow), and 0.5 is half as long. + -- + -- Example, only occurrence in the scripts: + -- v_8 = HUD::_1E6611149DB3DB6B("CHAR_SOCIAL_CLUB", "CHAR_SOCIAL_CLUB", 0, 0, &v_9, "", a_5); + ["END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_TU"]=--[[int]] function(--[[string]] txdName,--[[string]] textureName,--[[BOOL (bool)]] flash,--[[int]] iconType,--[[string]] sender,--[[string]] subject,--[[float]] duration)native_invoker.begin_call();native_invoker.push_arg_string(txdName);native_invoker.push_arg_string(textureName);native_invoker.push_arg_bool(flash);native_invoker.push_arg_int(iconType);native_invoker.push_arg_string(sender);native_invoker.push_arg_string(subject);native_invoker.push_arg_float(duration);native_invoker.end_call("1E6611149DB3DB6B");return native_invoker.get_return_value_int();end, + -- This function can show pictures of every texture that can be requested by REQUEST_STREAMED_TEXTURE_DICT. + -- + -- List of picNames pastebin.com/XdpJVbHz + -- + -- flash is a bool for fading in. + -- iconTypes: + -- 1 : Chat Box + -- 2 : Email + -- 3 : Add Friend Request + -- 4 : Nothing + -- 5 : Nothing + -- 6 : Nothing + -- 7 : Right Jumping Arrow + -- 8 : RP Icon + -- 9 : $ Icon + -- + -- "sender" is the very top header. This can be any old string. + -- "subject" is the header under the sender. + -- "duration" is a multiplier, so 1.0 is normal, 2.0 is twice as long (very slow), and 0.5 is half as long. + -- "clanTag" shows a crew tag in the "sender" header, after the text. You need to use 3 underscores as padding. Maximum length of this field seems to be 7. (e.g. "MK" becomes "___MK", "ACE" becomes "___ACE", etc.) + ["END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_WITH_CREW_TAG"]=--[[int]] function(--[[string]] txdName,--[[string]] textureName,--[[BOOL (bool)]] flash,--[[int]] iconType,--[[string]] sender,--[[string]] subject,--[[float]] duration,--[[string]] clanTag)native_invoker.begin_call();native_invoker.push_arg_string(txdName);native_invoker.push_arg_string(textureName);native_invoker.push_arg_bool(flash);native_invoker.push_arg_int(iconType);native_invoker.push_arg_string(sender);native_invoker.push_arg_string(subject);native_invoker.push_arg_float(duration);native_invoker.push_arg_string(clanTag);native_invoker.end_call("5CBF7BADE20DB93E");return native_invoker.get_return_value_int();end, + -- This function can show pictures of every texture that can be requested by REQUEST_STREAMED_TEXTURE_DICT. + -- + -- List of picNames: pastebin.com/XdpJVbHz + -- + -- flash is a bool for fading in. + -- iconTypes: + -- 1 : Chat Box + -- 2 : Email + -- 3 : Add Friend Request + -- 4 : Nothing + -- 5 : Nothing + -- 6 : Nothing + -- 7 : Right Jumping Arrow + -- 8 : RP Icon + -- 9 : $ Icon + -- + -- "sender" is the very top header. This can be any old string. + -- "subject" is the header under the sender. + -- "duration" is a multiplier, so 1.0 is normal, 2.0 is twice as long (very slow), and 0.5 is half as long. + -- "clanTag" shows a crew tag in the "sender" header, after the text. You need to use 3 underscores as padding. Maximum length of this field seems to be 7. (e.g. "MK" becomes "___MK", "ACE" becomes "___ACE", etc.) + -- iconType2 is a mirror of iconType. It shows in the "subject" line, right under the original iconType. + -- + -- + -- int IconNotification(char *text, char *text2, char *Subject) + -- { + -- _SET_NOTIFICATION_TEXT_ENTRY("STRING"); + -- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text); + -- _SET_NOTIFICATION_MESSAGE_CLAN_TAG_2("CHAR_SOCIAL_CLUB", "CHAR_SOCIAL_CLUB", 1, 7, text2, Subject, 1.0f, "__EXAMPLE", 7); + -- return _DRAW_NOTIFICATION(1, 1); + -- } + ["END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_WITH_CREW_TAG_AND_ADDITIONAL_ICON"]=--[[int]] function(--[[string]] txdName,--[[string]] textureName,--[[BOOL (bool)]] flash,--[[int]] iconType1,--[[string]] sender,--[[string]] subject,--[[float]] duration,--[[string]] clanTag,--[[int]] iconType2,--[[int]] p9)native_invoker.begin_call();native_invoker.push_arg_string(txdName);native_invoker.push_arg_string(textureName);native_invoker.push_arg_bool(flash);native_invoker.push_arg_int(iconType1);native_invoker.push_arg_string(sender);native_invoker.push_arg_string(subject);native_invoker.push_arg_float(duration);native_invoker.push_arg_string(clanTag);native_invoker.push_arg_int(iconType2);native_invoker.push_arg_int(p9);native_invoker.end_call("531B84E7DA981FB6");return native_invoker.get_return_value_int();end, + ["END_TEXT_COMMAND_THEFEED_POST_TICKER"]=--[[int]] function(--[[BOOL (bool)]] blink,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(blink);native_invoker.push_arg_bool(p1);native_invoker.end_call("2ED7843F8F801023");return native_invoker.get_return_value_int();end, + ["END_TEXT_COMMAND_THEFEED_POST_TICKER_FORCED"]=--[[int]] function(--[[BOOL (bool)]] blink,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(blink);native_invoker.push_arg_bool(p1);native_invoker.end_call("44FA03975424A0EE");return native_invoker.get_return_value_int();end, + ["END_TEXT_COMMAND_THEFEED_POST_TICKER_WITH_TOKENS"]=--[[int]] function(--[[BOOL (bool)]] blink,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(blink);native_invoker.push_arg_bool(p1);native_invoker.end_call("378E809BF61EC840");return native_invoker.get_return_value_int();end, + -- Shows an "award" notification above the minimap, example: https://i.imgur.com/e2DNaKX.png + -- Example: + -- + -- HUD::_SET_NOTIFICATION_TEXT_ENTRY("HUNT"); + -- HUD::_0xAA295B6F28BD587D("Hunting", "Hunting_Gold_128", 0, 109, "HUD_MED_UNLKED"); + ["END_TEXT_COMMAND_THEFEED_POST_AWARD"]=--[[int]] function(--[[string]] textureDict,--[[string]] textureName,--[[int]] rpBonus,--[[int]] colorOverlay,--[[string]] titleLabel)native_invoker.begin_call();native_invoker.push_arg_string(textureDict);native_invoker.push_arg_string(textureName);native_invoker.push_arg_int(rpBonus);native_invoker.push_arg_int(colorOverlay);native_invoker.push_arg_string(titleLabel);native_invoker.end_call("AA295B6F28BD587D");return native_invoker.get_return_value_int();end, + ["END_TEXT_COMMAND_THEFEED_POST_CREWTAG"]=--[[int]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1,--[[int* (pointer)]] p2,--[[int]] p3,--[[BOOL (bool)]] isLeader,--[[BOOL (bool)]] unk0,--[[int]] clanDesc,--[[int]] R,--[[int]] G,--[[int]] B)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_bool(isLeader);native_invoker.push_arg_bool(unk0);native_invoker.push_arg_int(clanDesc);native_invoker.push_arg_int(R);native_invoker.push_arg_int(G);native_invoker.push_arg_int(B);native_invoker.end_call("97C9E4E7024A8F2C");return native_invoker.get_return_value_int();end, + -- p0 = 1 or 0 + -- + -- crashes my game... + -- this is for sending invites to network players - jobs/apartment/ect... + -- return notification handle + -- + -- int invite(Player player) + -- { + -- networkHandleMgr netHandle; + -- networkClanMgr clan; + -- char *playerName = GET_PLAYER_NAME(player); + -- _SET_NOTIFICATION_TEXT_ENTRY("STRING"); + -- _SET_NOTIFACTION_COLOR_NEXT(1); + -- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(playerName); + -- NETWORK_HANDLE_FROM_PLAYER(player, &netHandle.netHandle, 13); + -- if (NETWORK_CLAN_PLAYER_IS_ACTIVE(&netHandle.netHandle)) + -- { + -- NETWORK_CLAN_PLAYER_GET_DESC(&clan.clanHandle, 35, &netHandle.netHandle); + -- _DRAW_NOTIFICATION_CLAN_INVITE(0, _0x54E79E9C(&clan.clanHandle, 35), &clan.unk17, clan.isLeader, 0, 0, clan.clanHandle, playerName, 0, 0, 0); + -- } + -- } + ["END_TEXT_COMMAND_THEFEED_POST_CREWTAG_WITH_GAME_NAME"]=--[[int]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1,--[[int* (pointer)]] p2,--[[int]] p3,--[[BOOL (bool)]] isLeader,--[[BOOL (bool)]] unk0,--[[int]] clanDesc,--[[string]] playerName,--[[int]] R,--[[int]] G,--[[int]] B)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_bool(isLeader);native_invoker.push_arg_bool(unk0);native_invoker.push_arg_int(clanDesc);native_invoker.push_arg_string(playerName);native_invoker.push_arg_int(R);native_invoker.push_arg_int(G);native_invoker.push_arg_int(B);native_invoker.end_call("137BC35589E34E1E");return native_invoker.get_return_value_int();end, + ["END_TEXT_COMMAND_THEFEED_POST_UNLOCK"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("33EE12743CCD6343");return native_invoker.get_return_value_int();end, + ["END_TEXT_COMMAND_THEFEED_POST_UNLOCK_TU"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("C8F3AAF93D0600BF");return native_invoker.get_return_value_int();end, + ["END_TEXT_COMMAND_THEFEED_POST_UNLOCK_TU_WITH_COLOR"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("7AE0589093A2E088");return native_invoker.get_return_value_int();end, + ["END_TEXT_COMMAND_THEFEED_POST_MPTICKER"]=--[[int]] function(--[[BOOL (bool)]] blink,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(blink);native_invoker.push_arg_bool(p1);native_invoker.end_call("F020C96915705B3A");return native_invoker.get_return_value_int();end, + ["END_TEXT_COMMAND_THEFEED_POST_CREW_RANKUP"]=--[[int]] function(--[[string]] p0,--[[string]] p1,--[[string]] p2,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_string(p1);native_invoker.push_arg_string(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("8EFCCF6EC66D85E4");return native_invoker.get_return_value_int();end, + ["END_TEXT_COMMAND_THEFEED_POST_VERSUS_TU"]=--[[Any (int)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any (int)]] p2,--[[Any* (pointer)]] p3,--[[Any* (pointer)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_pointer(p3);native_invoker.push_arg_pointer(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.end_call("B6871B0555B02996");return native_invoker.get_return_value_int();end, + -- returns a notification handle, prints out a notification like below: + -- type range: 0 - 2 + -- if you set type to 1, image goes from 0 - 39 - Xbox you can add text to + -- + -- example: + -- HUD::_0xD202B92CBF1D816F(1, 20, "Who you trynna get crazy with, ese? Don't you know I'm LOCO?!"); + -- - imgur.com/lGBPCz3 + ["_END_TEXT_COMMAND_THEFEED_POST_REPLAY_ICON"]=--[[int]] function(--[[int]] type,--[[int]] image,--[[string]] text)native_invoker.begin_call();native_invoker.push_arg_int(type);native_invoker.push_arg_int(image);native_invoker.push_arg_string(text);native_invoker.end_call("D202B92CBF1D816F");return native_invoker.get_return_value_int();end, + -- returns a notification handle, prints out a notification like below: + -- type range: 0 - 2 + -- if you set type to 1, button accepts "~INPUT_SOMETHING~" + -- + -- example: + -- HUD::_0xDD6CB2CCE7C2735C(1, "~INPUT_TALK~", "Who you trynna get crazy with, ese? Don't you know I'm LOCO?!"); + -- - imgur.com/UPy0Ial + -- + -- + -- Examples from the scripts: + -- l_D1[1/*1*/]=HUD::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING~",""); + -- l_D1[2/*1*/]=HUD::_DD6CB2CCE7C2735C(1,"~INPUT_SAVE_REPLAY_CLIP~",""); + -- l_D1[1/*1*/]=HUD::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING~",""); + -- l_D1[2/*1*/]=HUD::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING_SECONDARY~",""); + -- + ["_END_TEXT_COMMAND_THEFEED_POST_REPLAY_INPUT"]=--[[int]] function(--[[int]] type,--[[string]] button,--[[string]] text)native_invoker.begin_call();native_invoker.push_arg_int(type);native_invoker.push_arg_string(button);native_invoker.push_arg_string(text);native_invoker.end_call("DD6CB2CCE7C2735C");return native_invoker.get_return_value_int();end, + -- Used to be known as _SET_TEXT_ENTRY_2 + -- + -- void ShowSubtitle(char *text) + -- { + -- BEGIN_TEXT_COMMAND_PRINT("STRING"); + -- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text); + -- END_TEXT_COMMAND_PRINT(2000, 1); + -- } + ["BEGIN_TEXT_COMMAND_PRINT"]=--[[void]] function(--[[string]] GxtEntry)native_invoker.begin_call();native_invoker.push_arg_string(GxtEntry);native_invoker.end_call("B87A37EEB7FAA67D");end, + -- Draws the subtitle at middle center of the screen. + -- + -- int duration = time in milliseconds to show text on screen before disappearing + -- + -- drawImmediately = If true, the text will be drawn immediately, if false, the text will be drawn after the previous subtitle has finished + -- + -- Used to be known as _DRAW_SUBTITLE_TIMED + ["END_TEXT_COMMAND_PRINT"]=--[[void]] function(--[[int]] duration,--[[BOOL (bool)]] drawImmediately)native_invoker.begin_call();native_invoker.push_arg_int(duration);native_invoker.push_arg_bool(drawImmediately);native_invoker.end_call("9D77056A530643F6");end, + -- nothin doin. + -- + -- BOOL Message(const char* text) + -- { + -- BEGIN_TEXT_COMMAND_IS_MESSAGE_DISPLAYED("STRING"); + -- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text); + -- return END_TEXT_COMMAND_IS_MESSAGE_DISPLAYED(); + -- } + ["BEGIN_TEXT_COMMAND_IS_MESSAGE_DISPLAYED"]=--[[void]] function(--[[string]] text)native_invoker.begin_call();native_invoker.push_arg_string(text);native_invoker.end_call("853648FD1063A213");end, + ["END_TEXT_COMMAND_IS_MESSAGE_DISPLAYED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("8A9BA1AB3E237613");return native_invoker.get_return_value_bool();end, + -- The following were found in the decompiled script files: + -- STRING, TWOSTRINGS, NUMBER, PERCENTAGE, FO_TWO_NUM, ESMINDOLLA, ESDOLLA, MTPHPER_XPNO, AHD_DIST, CMOD_STAT_0, CMOD_STAT_1, CMOD_STAT_2, CMOD_STAT_3, DFLT_MNU_OPT, F3A_TRAFDEST, ES_HELP_SOC3 + -- + -- ESDOLLA - cash + -- ESMINDOLLA - cash (negative) + -- + -- Used to be known as _SET_TEXT_ENTRY + ["BEGIN_TEXT_COMMAND_DISPLAY_TEXT"]=--[[void]] function(--[[string]] text)native_invoker.begin_call();native_invoker.push_arg_string(text);native_invoker.end_call("25FBB336DF1804CB");end, + -- After applying the properties to the text (See HUD::SET_TEXT_), this will draw the text in the applied position. Also 0.0f < x, y < 1.0f, percentage of the axis. + -- + -- Used to be known as _DRAW_TEXT + ["END_TEXT_COMMAND_DISPLAY_TEXT"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_int(p2);native_invoker.end_call("CD015E5BB0D96A57");end, + -- BEGIN_TEXT_COMMAND_* + -- + -- Example: + -- _BEGIN_TEXT_COMMAND_GET_WIDTH("NUMBER"); + -- ADD_TEXT_COMPONENT_FLOAT(69.420f, 2); + -- float width = _END_TEXT_COMMAND_GET_WIDTH(1); + ["_BEGIN_TEXT_COMMAND_GET_WIDTH"]=--[[void]] function(--[[string]] text)native_invoker.begin_call();native_invoker.push_arg_string(text);native_invoker.end_call("54CE8AC98E120CAB");end, + -- END_TEXT_COMMAND_* + -- + -- In scripts font most of the time is passed as 1. + -- Use _BEGIN_TEXT_GET_COMMAND_GET_WIDTH + -- + -- param is not font from what i've tested + ["_END_TEXT_COMMAND_GET_WIDTH"]=--[[float]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("85F061DA64ED2F67");return native_invoker.get_return_value_float();end, + -- BEGIN_TEXT_COMMAND_* + -- + -- get's line count + -- + -- + -- int GetLineCount(char *text, float x, float y) + -- { + -- _BEGIN_TEXT_COMMAND_LINE_COUNT("STRING"); + -- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text); + -- return _END_TEXT_COMMAND_GET_LINE_COUNT(x, y); + -- } + ["_BEGIN_TEXT_COMMAND_LINE_COUNT"]=--[[void]] function(--[[string]] entry)native_invoker.begin_call();native_invoker.push_arg_string(entry);native_invoker.end_call("521FB041D93DD0E4");end, + -- END_TEXT_COMMAND_* + -- + -- Determines how many lines the text string will use when drawn on screen. + -- Must use 0x521FB041D93DD0E4 for setting up + ["_END_TEXT_COMMAND_LINE_COUNT"]=--[[int]] function(--[[float]] x,--[[float]] y)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.end_call("9040DFB09BE75706");return native_invoker.get_return_value_int();end, + -- Used to be known as _SET_TEXT_COMPONENT_FORMAT + ["BEGIN_TEXT_COMMAND_DISPLAY_HELP"]=--[[void]] function(--[[string]] inputType)native_invoker.begin_call();native_invoker.push_arg_string(inputType);native_invoker.end_call("8509B634FBE7DA11");end, + -- shape goes from -1 to 50 (may be more). + -- p0 is always 0. + -- + -- Example: + -- void FloatingHelpText(const char* text) + -- { + -- BEGIN_TEXT_COMMAND_DISPLAY_HELP("STRING"); + -- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text); + -- END_TEXT_COMMAND_DISPLAY_HELP (0, 0, 1, -1); + -- } + -- + -- Image: + -- - imgbin.org/images/26209.jpg + -- + -- more inputs/icons: + -- - pastebin.com/nqNYWMSB + -- + -- Used to be known as _DISPLAY_HELP_TEXT_FROM_STRING_LABEL + ["END_TEXT_COMMAND_DISPLAY_HELP"]=--[[void]] function(--[[int]] p0,--[[BOOL (bool)]] loop,--[[BOOL (bool)]] beep,--[[int]] shape)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(loop);native_invoker.push_arg_bool(beep);native_invoker.push_arg_int(shape);native_invoker.end_call("238FFE5C7B0498A6");end, + -- BOOL IsContextActive(char *ctx) + -- { + -- BEGIN_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED(ctx); + -- return END_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED(0); + -- } + ["BEGIN_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED"]=--[[void]] function(--[[string]] labelName)native_invoker.begin_call();native_invoker.push_arg_string(labelName);native_invoker.end_call("0A24DA3A41B718F5");end, + ["END_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("10BDDBFC529428DD");return native_invoker.get_return_value_bool();end, + -- Starts a text command to change the name of a blip displayed in the pause menu. + -- This should be paired with `END_TEXT_COMMAND_SET_BLIP_NAME`, once adding all required text components. + -- Example: + -- + -- HUD::BEGIN_TEXT_COMMAND_SET_BLIP_NAME("STRING"); + -- HUD::_ADD_TEXT_COMPONENT_STRING("Name"); + -- HUD::END_TEXT_COMMAND_SET_BLIP_NAME(blip); + ["BEGIN_TEXT_COMMAND_SET_BLIP_NAME"]=--[[void]] function(--[[string]] textLabel)native_invoker.begin_call();native_invoker.push_arg_string(textLabel);native_invoker.end_call("F9113A30DE5C6670");end, + -- Finalizes a text command started with BEGIN_TEXT_COMMAND_SET_BLIP_NAME, setting the name of the specified blip. + ["END_TEXT_COMMAND_SET_BLIP_NAME"]=--[[void]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("BC38B49BCB83BC9B");end, + ["_BEGIN_TEXT_COMMAND_OBJECTIVE"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("23D69E0465570028");end, + ["_END_TEXT_COMMAND_OBJECTIVE"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("CFDBDF5AE59BA0F4");end, + -- clears a print text command with this text + ["BEGIN_TEXT_COMMAND_CLEAR_PRINT"]=--[[void]] function(--[[string]] text)native_invoker.begin_call();native_invoker.push_arg_string(text);native_invoker.end_call("E124FA80A759019C");end, + ["END_TEXT_COMMAND_CLEAR_PRINT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FCC75460ABA29378");end, + ["BEGIN_TEXT_COMMAND_OVERRIDE_BUTTON_TEXT"]=--[[void]] function(--[[string]] gxtEntry)native_invoker.begin_call();native_invoker.push_arg_string(gxtEntry);native_invoker.end_call("8F9EE5687F8EECCD");end, + ["END_TEXT_COMMAND_OVERRIDE_BUTTON_TEXT"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A86911979638106F");end, + ["ADD_TEXT_COMPONENT_INTEGER"]=--[[void]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("03B504CF259931BC");end, + ["ADD_TEXT_COMPONENT_FLOAT"]=--[[void]] function(--[[float]] value,--[[int]] decimalPlaces)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.push_arg_int(decimalPlaces);native_invoker.end_call("E7DCB5B874BCD96E");end, + ["ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL"]=--[[void]] function(--[[string]] labelName)native_invoker.begin_call();native_invoker.push_arg_string(labelName);native_invoker.end_call("C63CD5D2920ACBE7");end, + -- It adds the localized text of the specified GXT entry name. Eg. if the argument is GET_HASH_KEY("ES_HELP"), adds "Continue". Just uses a text labels hash key + ["ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL_HASH_KEY"]=--[[void]] function(--[[Hash (int)]] gxtEntryHash)native_invoker.begin_call();native_invoker.push_arg_int(gxtEntryHash);native_invoker.end_call("17299B63C7683A2B");end, + ["ADD_TEXT_COMPONENT_SUBSTRING_BLIP_NAME"]=--[[void]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("80EAD8E2E1D5D52E");end, + ["ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME"]=--[[void]] function(--[[string]] text)native_invoker.begin_call();native_invoker.push_arg_string(text);native_invoker.end_call("6C188BE134E074AA");end, + -- Adds a timer (e.g. "00:00:00:000"). The appearance of the timer depends on the flags, which needs more research. + ["ADD_TEXT_COMPONENT_SUBSTRING_TIME"]=--[[void]] function(--[[int]] timestamp,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(timestamp);native_invoker.push_arg_int(flags);native_invoker.end_call("1115F16B8AB9E8BF");end, + ["ADD_TEXT_COMPONENT_FORMATTED_INTEGER"]=--[[void]] function(--[[int]] value,--[[BOOL (bool)]] commaSeparated)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.push_arg_bool(commaSeparated);native_invoker.end_call("0E4C749FF9DE9CC4");end, + -- p1 was always -1 + ["ADD_TEXT_COMPONENT_SUBSTRING_PHONE_NUMBER"]=--[[void]] function(--[[string]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("761B77454205A61D");end, + -- This native (along with 0x5F68520888E69014 and 0x6C188BE134E074AA) do not actually filter anything. They simply add the provided text (as of 944) + ["ADD_TEXT_COMPONENT_SUBSTRING_WEBSITE"]=--[[void]] function(--[[string]] website)native_invoker.begin_call();native_invoker.push_arg_string(website);native_invoker.end_call("94CF4AC034C9C986");end, + ["ADD_TEXT_COMPONENT_SUBSTRING_KEYBOARD_DISPLAY"]=--[[void]] function(--[[string]] string)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.end_call("5F68520888E69014");end, + ["SET_COLOUR_OF_NEXT_TEXT_COMPONENT"]=--[[void]] function(--[[int]] hudColor)native_invoker.begin_call();native_invoker.push_arg_int(hudColor);native_invoker.end_call("39BBF623FC803EAC");end, + -- Returns a substring of a specified length starting at a specified position. + -- + -- Example: + -- // Get "STRING" text from "MY_STRING" + -- subStr = HUD::_GET_TEXT_SUBSTRING("MY_STRING", 3, 6); + ["_GET_TEXT_SUBSTRING"]=--[[string]] function(--[[string]] text,--[[int]] position,--[[int]] length)native_invoker.begin_call();native_invoker.push_arg_string(text);native_invoker.push_arg_int(position);native_invoker.push_arg_int(length);native_invoker.end_call("169BD9382084C8C0");return native_invoker.get_return_value_string();end, + -- Returns a substring of a specified length starting at a specified position. The result is guaranteed not to exceed the specified max length. + -- + -- NOTE: The 'maxLength' parameter might actually be the size of the buffer that is returned. More research is needed. -CL69 + -- + -- Example: + -- // Condensed example of how Rockstar uses this function + -- strLen = HUD::GET_LENGTH_OF_LITERAL_STRING(MISC::GET_ONSCREEN_KEYBOARD_RESULT()); + -- subStr = HUD::_GET_TEXT_SUBSTRING_SAFE(MISC::GET_ONSCREEN_KEYBOARD_RESULT(), 0, strLen, 63); + -- + -- -- + -- + -- "fm_race_creator.ysc", line 85115: + -- // parameters modified for clarity + -- BOOL sub_8e5aa(char *text, int length) { + -- for (i = 0; i <= (length - 2); i += 1) { + -- if (!MISC::ARE_STRINGS_EQUAL(HUD::_GET_TEXT_SUBSTRING_SAFE(text, i, i + 1, 1), " ")) { + -- return FALSE; + -- } + -- } + -- return TRUE; + -- } + ["_GET_TEXT_SUBSTRING_SAFE"]=--[[string]] function(--[[string]] text,--[[int]] position,--[[int]] length,--[[int]] maxLength)native_invoker.begin_call();native_invoker.push_arg_string(text);native_invoker.push_arg_int(position);native_invoker.push_arg_int(length);native_invoker.push_arg_int(maxLength);native_invoker.end_call("B2798643312205C5");return native_invoker.get_return_value_string();end, + -- Returns a substring that is between two specified positions. The length of the string will be calculated using (endPosition - startPosition). + -- + -- Example: + -- // Get "STRING" text from "MY_STRING" + -- subStr = HUD::_GET_TEXT_SUBSTRING_SLICE("MY_STRING", 3, 9); + -- // Overflows are possibly replaced with underscores (needs verification) + -- subStr = HUD::_GET_TEXT_SUBSTRING_SLICE("MY_STRING", 3, 10); // "STRING_"? + ["_GET_TEXT_SUBSTRING_SLICE"]=--[[string]] function(--[[string]] text,--[[int]] startPosition,--[[int]] endPosition)native_invoker.begin_call();native_invoker.push_arg_string(text);native_invoker.push_arg_int(startPosition);native_invoker.push_arg_int(endPosition);native_invoker.end_call("CE94AEBA5D82908A");return native_invoker.get_return_value_string();end, + -- Gets a string literal from a label name. + -- + -- GET_F* + ["_GET_LABEL_TEXT"]=--[[string]] function(--[[string]] labelName)native_invoker.begin_call();native_invoker.push_arg_string(labelName);native_invoker.end_call("7B5280EBA9840C72");return native_invoker.get_return_value_string();end, + ["CLEAR_PRINTS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("CC33FA791322B9D9");end, + ["CLEAR_BRIEF"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9D292F73ADBD9313");end, + ["CLEAR_ALL_HELP_MESSAGES"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6178F68A87A4D3A0");end, + -- p0: found arguments in the b617d scripts: pastebin.com/X5akCN7z + ["CLEAR_THIS_PRINT"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("CF708001E1E536DD");end, + ["CLEAR_SMALL_PRINTS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2CEA2839313C09AC");end, + ["DOES_TEXT_BLOCK_EXIST"]=--[[BOOL (bool)]] function(--[[string]] gxt)native_invoker.begin_call();native_invoker.push_arg_string(gxt);native_invoker.end_call("1C7302E725259789");return native_invoker.get_return_value_bool();end, + -- Request a gxt into the passed slot. + ["REQUEST_ADDITIONAL_TEXT"]=--[[void]] function(--[[string]] gxt,--[[int]] slot)native_invoker.begin_call();native_invoker.push_arg_string(gxt);native_invoker.push_arg_int(slot);native_invoker.end_call("71A78003C8E71424");end, + ["REQUEST_ADDITIONAL_TEXT_FOR_DLC"]=--[[void]] function(--[[string]] gxt,--[[int]] slot)native_invoker.begin_call();native_invoker.push_arg_string(gxt);native_invoker.push_arg_int(slot);native_invoker.end_call("6009F9F1AE90D8A6");end, + ["HAS_ADDITIONAL_TEXT_LOADED"]=--[[BOOL (bool)]] function(--[[int]] slot)native_invoker.begin_call();native_invoker.push_arg_int(slot);native_invoker.end_call("02245FE4BED318B8");return native_invoker.get_return_value_bool();end, + ["CLEAR_ADDITIONAL_TEXT"]=--[[void]] function(--[[int]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("2A179DF17CCF04CD");end, + ["IS_STREAMING_ADDITIONAL_TEXT"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8B6817B71B85EBF0");return native_invoker.get_return_value_bool();end, + -- Checks if the specified gxt has loaded into the passed slot. + ["HAS_THIS_ADDITIONAL_TEXT_LOADED"]=--[[BOOL (bool)]] function(--[[string]] gxt,--[[int]] slot)native_invoker.begin_call();native_invoker.push_arg_string(gxt);native_invoker.push_arg_int(slot);native_invoker.end_call("ADBF060E2B30C5BC");return native_invoker.get_return_value_bool();end, + ["IS_MESSAGE_BEING_DISPLAYED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("7984C03AA5CC2F41");return native_invoker.get_return_value_bool();end, + -- Checks if the passed gxt name exists in the game files. + ["DOES_TEXT_LABEL_EXIST"]=--[[BOOL (bool)]] function(--[[string]] gxt)native_invoker.begin_call();native_invoker.push_arg_string(gxt);native_invoker.end_call("AC09CA973C564252");return native_invoker.get_return_value_bool();end, + -- GET_F* + ["_0x98C3CF913D895111"]=--[[string]] function(--[[string]] string,--[[int]] length)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.push_arg_int(length);native_invoker.end_call("98C3CF913D895111");return native_invoker.get_return_value_string();end, + -- Returns the string length of the string from the gxt string . + ["GET_LENGTH_OF_STRING_WITH_THIS_TEXT_LABEL"]=--[[int]] function(--[[string]] gxt)native_invoker.begin_call();native_invoker.push_arg_string(gxt);native_invoker.end_call("801BD273D3A23F74");return native_invoker.get_return_value_int();end, + -- Returns the length of the string passed (much like strlen). + ["GET_LENGTH_OF_LITERAL_STRING"]=--[[int]] function(--[[string]] string)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.end_call("F030907CCBB8A9FD");return native_invoker.get_return_value_int();end, + ["GET_LENGTH_OF_LITERAL_STRING_IN_BYTES"]=--[[int]] function(--[[string]] string)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.end_call("43E4111189E54F0E");return native_invoker.get_return_value_int();end, + -- This functions converts the hash of a street name into a readable string. + -- + -- For how to get the hashes, see PATHFIND::GET_STREET_NAME_AT_COORD. + ["GET_STREET_NAME_FROM_HASH_KEY"]=--[[string]] function(--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.end_call("D0EF8A959B8A4CB9");return native_invoker.get_return_value_string();end, + ["IS_HUD_PREFERENCE_SWITCHED_ON"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("1930DFA731813EC4");return native_invoker.get_return_value_bool();end, + ["IS_RADAR_PREFERENCE_SWITCHED_ON"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("9EB6522EA68F22FE");return native_invoker.get_return_value_bool();end, + ["IS_SUBTITLE_PREFERENCE_SWITCHED_ON"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("AD6DACA4BA53E0A4");return native_invoker.get_return_value_bool();end, + -- If Hud should be displayed + ["DISPLAY_HUD"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("A6294919E56FF02A");end, + -- Enables drawing some hud components, such as help labels, this frame, when the player is dead. + ["_DISPLAY_HUD_WHEN_DEAD_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("7669F9E39DC17063");end, + ["DISPLAY_HUD_WHEN_PAUSED_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("402F9ED62087E898");end, + -- If Minimap / Radar should be displayed. + ["DISPLAY_RADAR"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("A0EBB943C300E693");end, + -- Setter for 0xC2D2AD9EAAE265B8 + -- + -- SET_* + ["_0xCD74233600C4EA6B"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("CD74233600C4EA6B");end, + -- Getter for 0xCD74233600C4EA6B + -- + -- GET_* + ["_0xC2D2AD9EAAE265B8"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C2D2AD9EAAE265B8");return native_invoker.get_return_value_bool();end, + ["IS_HUD_HIDDEN"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A86478C6958735C5");return native_invoker.get_return_value_bool();end, + ["IS_RADAR_HIDDEN"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("157F93B036700462");return native_invoker.get_return_value_bool();end, + ["IS_MINIMAP_RENDERING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("AF754F20EB5CD51A");return native_invoker.get_return_value_bool();end, + ["_0x0C698D8F099174C7"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("0C698D8F099174C7");end, + ["_0xE4C3B169876D33D7"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E4C3B169876D33D7");end, + ["_0xEB81A3DADD503187"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EB81A3DADD503187");end, + -- Enable / disable showing route for the Blip-object. + ["SET_BLIP_ROUTE"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] enabled)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(enabled);native_invoker.end_call("4F7D8A9BFB0B43E9");end, + ["_CLEAR_ALL_BLIP_ROUTES"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D12882D3FF82BF11");end, + ["SET_BLIP_ROUTE_COLOUR"]=--[[void]] function(--[[Blip (int)]] blip,--[[int]] colour)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(colour);native_invoker.end_call("837155CD2F63DA09");end, + -- SET_F* + ["_0x2790F4B17D098E26"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("2790F4B17D098E26");end, + ["_0x6CDD58146A436083"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6CDD58146A436083");end, + ["_0xD1942374085C8469"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("D1942374085C8469");end, + ["ADD_NEXT_MESSAGE_TO_PREVIOUS_BRIEFS"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("60296AF4BA14ABC5");end, + -- FORCE_* + ["_0x57D760D55F54E071"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("57D760D55F54E071");end, + ["SET_RADAR_ZOOM_PRECISE"]=--[[void]] function(--[[float]] zoom)native_invoker.begin_call();native_invoker.push_arg_float(zoom);native_invoker.end_call("BD12C5EEE184C337");end, + -- zoomLevel ranges from 0 to 200 + ["SET_RADAR_ZOOM"]=--[[void]] function(--[[int]] zoomLevel)native_invoker.begin_call();native_invoker.push_arg_int(zoomLevel);native_invoker.end_call("096EF57A0C999BBA");end, + ["SET_RADAR_ZOOM_TO_BLIP"]=--[[void]] function(--[[Blip (int)]] blip,--[[float]] zoom)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_float(zoom);native_invoker.end_call("F98E4B3E56AFC7B1");end, + ["SET_RADAR_ZOOM_TO_DISTANCE"]=--[[void]] function(--[[float]] zoom)native_invoker.begin_call();native_invoker.push_arg_float(zoom);native_invoker.end_call("CB7CC0D58405AD41");end, + -- Does nothing (it's a nullsub). + ["_0xD2049635DEB9C375"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D2049635DEB9C375");end, + -- HUD colors and their values: pastebin.com/d9aHPbXN + ["GET_HUD_COLOUR"]=--[[void]] function(--[[int]] hudColorIndex,--[[int* (pointer)]] r,--[[int* (pointer)]] g,--[[int* (pointer)]] b,--[[int* (pointer)]] a)native_invoker.begin_call();native_invoker.push_arg_int(hudColorIndex);native_invoker.push_arg_pointer(r);native_invoker.push_arg_pointer(g);native_invoker.push_arg_pointer(b);native_invoker.push_arg_pointer(a);native_invoker.end_call("7C9C91AB74A0360F");end, + -- Sets the color of HUD_COLOUR_SCRIPT_VARIABLE + ["SET_SCRIPT_VARIABLE_HUD_COLOUR"]=--[[void]] function(--[[int]] r,--[[int]] g,--[[int]] b,--[[int]] a)native_invoker.begin_call();native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.push_arg_int(a);native_invoker.end_call("D68A5FF8A3A89874");end, + -- Sets the color of HUD_COLOUR_SCRIPT_VARIABLE_2 + ["_SET_SCRIPT_VARIABLE_2_HUD_COLOUR"]=--[[void]] function(--[[int]] r,--[[int]] g,--[[int]] b,--[[int]] a)native_invoker.begin_call();native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.push_arg_int(a);native_invoker.end_call("16A304E6CB2BFAB9");end, + -- HUD colors and their values: pastebin.com/d9aHPbXN + -- -------------------------------------------------- + -- makes hudColorIndex2 color into hudColorIndex color + ["REPLACE_HUD_COLOUR"]=--[[void]] function(--[[int]] hudColorIndex,--[[int]] hudColorIndex2)native_invoker.begin_call();native_invoker.push_arg_int(hudColorIndex);native_invoker.push_arg_int(hudColorIndex2);native_invoker.end_call("1CCC708F0F850613");end, + -- HUD colors and their values: pastebin.com/d9aHPbXN + ["REPLACE_HUD_COLOUR_WITH_RGBA"]=--[[void]] function(--[[int]] hudColorIndex,--[[int]] r,--[[int]] g,--[[int]] b,--[[int]] a)native_invoker.begin_call();native_invoker.push_arg_int(hudColorIndex);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.push_arg_int(a);native_invoker.end_call("F314CF4F0211894E");end, + ["_SET_ABILITY_BAR_VISIBILITY_IN_MULTIPLAYER"]=--[[void]] function(--[[BOOL (bool)]] visible)native_invoker.begin_call();native_invoker.push_arg_bool(visible);native_invoker.end_call("1DFEDD15019315A9");end, + ["_SET_ALLOW_ABILITY_BAR_IN_MULTIPLAYER"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("889329C80FE5963C");end, + ["FLASH_ABILITY_BAR"]=--[[void]] function(--[[int]] millisecondsToFlash)native_invoker.begin_call();native_invoker.push_arg_int(millisecondsToFlash);native_invoker.end_call("02CFBA0C9E9275CE");end, + ["SET_ABILITY_BAR_VALUE"]=--[[void]] function(--[[float]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("9969599CCFF5D85E");end, + ["FLASH_WANTED_DISPLAY"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("A18AFB39081B6A1F");end, + -- FORCE_* + ["_0xBA8D65C1C65702E5"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("BA8D65C1C65702E5");end, + -- This get's the height of the FONT and not the total text. You need to get the number of lines your text uses, and get the height of a newline (I'm using a smaller value) to get the total text height. + ["_GET_TEXT_SCALE_HEIGHT"]=--[[float]] function(--[[float]] size,--[[int]] font)native_invoker.begin_call();native_invoker.push_arg_float(size);native_invoker.push_arg_int(font);native_invoker.end_call("DB88A37483346780");return native_invoker.get_return_value_float();end, + -- Size range : 0F to 1.0F + -- p0 is unknown and doesn't seem to have an effect, yet in the game scripts it changes to 1.0F sometimes. + ["SET_TEXT_SCALE"]=--[[void]] function(--[[float]] scale,--[[float]] size)native_invoker.begin_call();native_invoker.push_arg_float(scale);native_invoker.push_arg_float(size);native_invoker.end_call("07C837F9A01C34C9");end, + -- colors you input not same as you think? + -- A: for some reason its R B G A + ["SET_TEXT_COLOUR"]=--[[void]] function(--[[int]] red,--[[int]] green,--[[int]] blue,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.push_arg_int(alpha);native_invoker.end_call("BE6B23FFA53FB442");end, + ["SET_TEXT_CENTRE"]=--[[void]] function(--[[BOOL (bool)]] align)native_invoker.begin_call();native_invoker.push_arg_bool(align);native_invoker.end_call("C02F4DBFB51D988B");end, + ["SET_TEXT_RIGHT_JUSTIFY"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("6B3C4650BC8BEE47");end, + -- Types - + -- 0: Center-Justify + -- 1: Left-Justify + -- 2: Right-Justify + -- + -- Right-Justify requires SET_TEXT_WRAP, otherwise it will draw to the far right of the screen + ["SET_TEXT_JUSTIFICATION"]=--[[void]] function(--[[int]] justifyType)native_invoker.begin_call();native_invoker.push_arg_int(justifyType);native_invoker.end_call("4E096588B13FFECA");end, + -- It sets the text in a specified box and wraps the text if it exceeds the boundries. Both values are for X axis. Useful when positioning text set to center or aligned to the right. + -- + -- start - left boundry on screen position (0.0 - 1.0) + -- end - right boundry on screen position (0.0 - 1.0) + ["SET_TEXT_WRAP"]=--[[void]] function(--[[float]] start,--[[float]] _end)native_invoker.begin_call();native_invoker.push_arg_float(start);native_invoker.push_arg_float(_end);native_invoker.end_call("63145D9C883A1A70");end, + ["SET_TEXT_LEADING"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A50ABC31E3CDFAFF");end, + -- This native does absolutely nothing, just a nullsub + ["SET_TEXT_PROPORTIONAL"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("038C1F517D7FDCF8");end, + -- fonts that mess up your text where made for number values/misc stuff + ["SET_TEXT_FONT"]=--[[void]] function(--[[int]] fontType)native_invoker.begin_call();native_invoker.push_arg_int(fontType);native_invoker.end_call("66E0276CC5F6B9DA");end, + ["SET_TEXT_DROP_SHADOW"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1CA3E9EAC9D93E5E");end, + -- distance - shadow distance in pixels, both horizontal and vertical + -- r, g, b, a - color + ["SET_TEXT_DROPSHADOW"]=--[[void]] function(--[[int]] distance,--[[int]] r,--[[int]] g,--[[int]] b,--[[int]] a)native_invoker.begin_call();native_invoker.push_arg_int(distance);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.push_arg_int(a);native_invoker.end_call("465C84BC39F1C351");end, + ["SET_TEXT_OUTLINE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2513DFB0FB8400FE");end, + -- This native does absolutely nothing, just a nullsub + ["SET_TEXT_EDGE"]=--[[void]] function(--[[int]] p0,--[[int]] r,--[[int]] g,--[[int]] b,--[[int]] a)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.push_arg_int(a);native_invoker.end_call("441603240D202FA6");end, + ["SET_TEXT_RENDER_ID"]=--[[void]] function(--[[int]] renderId)native_invoker.begin_call();native_invoker.push_arg_int(renderId);native_invoker.end_call("5F15302936E07111");end, + -- This function is hard-coded to always return 1. + ["GET_DEFAULT_SCRIPT_RENDERTARGET_RENDER_ID"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("52F0982D7FD156B6");return native_invoker.get_return_value_int();end, + ["REGISTER_NAMED_RENDERTARGET"]=--[[BOOL (bool)]] function(--[[string]] name,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_bool(p1);native_invoker.end_call("57D9C12635E25CE3");return native_invoker.get_return_value_bool();end, + ["IS_NAMED_RENDERTARGET_REGISTERED"]=--[[BOOL (bool)]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("78DCDC15C9F116B4");return native_invoker.get_return_value_bool();end, + ["RELEASE_NAMED_RENDERTARGET"]=--[[BOOL (bool)]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("E9F6FFE837354DD4");return native_invoker.get_return_value_bool();end, + ["LINK_NAMED_RENDERTARGET"]=--[[void]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("F6C09E276AEB3F2D");end, + ["GET_NAMED_RENDERTARGET_RENDER_ID"]=--[[int]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("1A6478B61C6BDC3B");return native_invoker.get_return_value_int();end, + ["IS_NAMED_RENDERTARGET_LINKED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("113750538FA31298");return native_invoker.get_return_value_bool();end, + ["CLEAR_HELP"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("8DFCED7A656F8802");end, + ["IS_HELP_MESSAGE_ON_SCREEN"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("DAD37F45428801AE");return native_invoker.get_return_value_bool();end, + -- HAS_S* + ["_0x214CD562A939246A"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("214CD562A939246A");return native_invoker.get_return_value_bool();end, + ["IS_HELP_MESSAGE_BEING_DISPLAYED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("4D79439A6B55AC67");return native_invoker.get_return_value_bool();end, + ["IS_HELP_MESSAGE_FADING_OUT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("327EDEEEAC55C369");return native_invoker.get_return_value_bool();end, + ["_SET_HELP_MESSAGE_TEXT_STYLE"]=--[[void]] function(--[[int]] style,--[[int]] hudColor,--[[int]] alpha,--[[int]] p3,--[[int]] p4)native_invoker.begin_call();native_invoker.push_arg_int(style);native_invoker.push_arg_int(hudColor);native_invoker.push_arg_int(alpha);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("B9C362BABECDDC7A");end, + -- This function is hard-coded to always return 1. + ["GET_STANDARD_BLIP_ENUM_ID"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("4A9923385BDB9DAD");return native_invoker.get_return_value_bool();end, + ["GET_WAYPOINT_BLIP_ENUM_ID"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("186E5D252FA50E7D");return native_invoker.get_return_value_int();end, + ["GET_NUMBER_OF_ACTIVE_BLIPS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("9A3FF3DE163034E8");return native_invoker.get_return_value_int();end, + ["GET_NEXT_BLIP_INFO_ID"]=--[[Blip (int)]] function(--[[int]] blipSprite)native_invoker.begin_call();native_invoker.push_arg_int(blipSprite);native_invoker.end_call("14F96AA50D6FBEA7");return native_invoker.get_return_value_int();end, + ["GET_FIRST_BLIP_INFO_ID"]=--[[Blip (int)]] function(--[[int]] blipSprite)native_invoker.begin_call();native_invoker.push_arg_int(blipSprite);native_invoker.end_call("1BEDE233E6CD2A1F");return native_invoker.get_return_value_int();end, + ["_GET_CLOSEST_BLIP_OF_TYPE"]=--[[Blip (int)]] function(--[[int]] blipSprite)native_invoker.begin_call();native_invoker.push_arg_int(blipSprite);native_invoker.end_call("D484BF71050CA1EE");return native_invoker.get_return_value_int();end, + ["GET_BLIP_INFO_ID_COORD"]=--[[Vector3 (vector3)]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("FA7C7F0AADF25D09");return native_invoker.get_return_value_vector3();end, + ["GET_BLIP_INFO_ID_DISPLAY"]=--[[int]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("1E314167F701DC3B");return native_invoker.get_return_value_int();end, + -- Returns a value based on what the blip is attached to + -- 1 - Vehicle + -- 2 - Ped + -- 3 - Object + -- 4 - Coord + -- 5 - unk + -- 6 - Pickup + -- 7 - Radius + ["GET_BLIP_INFO_ID_TYPE"]=--[[int]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("BE9B0959FFD0779B");return native_invoker.get_return_value_int();end, + ["GET_BLIP_INFO_ID_ENTITY_INDEX"]=--[[Entity (int)]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("4BA4E2553AFEDC2C");return native_invoker.get_return_value_int();end, + -- This function is hard-coded to always return 0. + ["GET_BLIP_INFO_ID_PICKUP_INDEX"]=--[[Pickup (int)]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("9B6786E4C03DD382");return native_invoker.get_return_value_int();end, + -- Returns the Blip handle of given Entity. + ["GET_BLIP_FROM_ENTITY"]=--[[Blip (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("BC8DBDCA2436F7E8");return native_invoker.get_return_value_int();end, + ["ADD_BLIP_FOR_RADIUS"]=--[[Blip (int)]] function(--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(radius);native_invoker.end_call("46818D79B1F7499A");return native_invoker.get_return_value_int();end, + -- Adds a rectangular blip for the specified coordinates/area. + -- + -- It is recommended to use SET_BLIP_ROTATION and SET_BLIP_COLOUR to make the blip not rotate along with the camera. + -- + -- By default, the blip will show as a _regular_ blip with the specified color/sprite if it is outside of the minimap view. + -- + -- Example image: + -- minimap https://w.wew.wtf/pdcjig.png + -- big map https://w.wew.wtf/zgcjcm.png + -- + -- (Native name is _likely_ to actually be ADD_BLIP_FOR_AREA, but due to the usual reasons this can't be confirmed) + ["_ADD_BLIP_FOR_AREA"]=--[[Blip (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] width,--[[float]] height)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(width);native_invoker.push_arg_float(height);native_invoker.end_call("CE5D0E5E315DB238");return native_invoker.get_return_value_int();end, + -- Returns red ( default ) blip attached to entity. + -- + -- Example: + -- Blip blip; //Put this outside your case or option + -- blip = HUD::ADD_BLIP_FOR_ENTITY(YourPedOrBodyguardName); + -- HUD::SET_BLIP_AS_FRIENDLY(blip, true); + ["ADD_BLIP_FOR_ENTITY"]=--[[Blip (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("5CDE92C702A8FCE7");return native_invoker.get_return_value_int();end, + ["ADD_BLIP_FOR_PICKUP"]=--[[Blip (int)]] function(--[[Pickup (int)]] pickup)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.end_call("BE339365C863BD36");return native_invoker.get_return_value_int();end, + -- Creates an orange ( default ) Blip-object. Returns a Blip-object which can then be modified. + ["ADD_BLIP_FOR_COORD"]=--[[Blip (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("5A039BB0BCA604B6");return native_invoker.get_return_value_int();end, + ["TRIGGER_SONAR_BLIP"]=--[[void]] function(--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] radius,--[[int]] p4)native_invoker.begin_call();native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(p4);native_invoker.end_call("72DD432F3CDFC0EE");end, + ["ALLOW_SONAR_BLIPS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("60734CC207C9833C");end, + ["SET_BLIP_COORDS"]=--[[void]] function(--[[Blip (int)]] blip,--[[float]] posX,--[[float]] posY,--[[float]] posZ)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.end_call("AE2AF67E9D9AF65D");end, + ["GET_BLIP_COORDS"]=--[[Vector3 (vector3)]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("586AFE3FF72D996E");return native_invoker.get_return_value_vector3();end, + -- Sets the displayed sprite for a specific blip.. + -- + -- You may have your own list, but since dev-c didn't show it I was bored and started looking through scripts and functions to get a presumable almost positive list of a majority of blip IDs + -- h t t p://pastebin.com/Bpj9Sfft + -- + -- Blips Images + IDs: + -- gtaxscripting.blogspot.com/2016/05/gta-v-blips-id-and-image.html + ["SET_BLIP_SPRITE"]=--[[void]] function(--[[Blip (int)]] blip,--[[int]] spriteId)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(spriteId);native_invoker.end_call("DF735600A4696DAF");end, + -- Blips Images + IDs: + -- gtaxscripting.blogspot.com/2016/05/gta-v-blips-id-and-image.html + ["GET_BLIP_SPRITE"]=--[[int]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("1FC877464A04FC4F");return native_invoker.get_return_value_int();end, + -- SET_C* + ["_0x9FCB3CBFB3EAD69A"]=--[[void]] function(--[[int]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("9FCB3CBFB3EAD69A");end, + -- SET_C* + ["_0xB7B873520C84C118"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B7B873520C84C118");end, + -- Doesn't work if the label text of gxtEntry is >= 80. + ["SET_BLIP_NAME_FROM_TEXT_FILE"]=--[[void]] function(--[[Blip (int)]] blip,--[[string]] gxtEntry)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_string(gxtEntry);native_invoker.end_call("EAA0FFE120D92784");end, + ["SET_BLIP_NAME_TO_PLAYER_NAME"]=--[[void]] function(--[[Blip (int)]] blip,--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(player);native_invoker.end_call("127DE7B20C60A6A3");end, + -- Sets alpha-channel for blip color. + -- + -- Example: + -- + -- Blip blip = HUD::ADD_BLIP_FOR_ENTITY(entity); + -- HUD::SET_BLIP_COLOUR(blip , 3); + -- HUD::SET_BLIP_ALPHA(blip , 64); + -- + ["SET_BLIP_ALPHA"]=--[[void]] function(--[[Blip (int)]] blip,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(alpha);native_invoker.end_call("45FF974EEE1C8734");end, + ["GET_BLIP_ALPHA"]=--[[int]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("970F608F0EE6C885");return native_invoker.get_return_value_int();end, + ["SET_BLIP_FADE"]=--[[void]] function(--[[Blip (int)]] blip,--[[int]] opacity,--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(opacity);native_invoker.push_arg_int(duration);native_invoker.end_call("2AEE8F8390D2298C");end, + -- GET_BLIP_* + -- + -- Seems to always return 0 from what I can tell. I've tried a lot of different blip related natives and it always seems to return 0. Decompiled scripts always pass a blip handle as p0. + ["_0x2C173AE2BDB9385E"]=--[[int]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("2C173AE2BDB9385E");return native_invoker.get_return_value_int();end, + -- After some testing, looks like you need to use CEIL() on the rotation (vehicle/ped heading) before using it there. + ["SET_BLIP_ROTATION"]=--[[void]] function(--[[Blip (int)]] blip,--[[int]] rotation)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(rotation);native_invoker.end_call("F87683CDF73C3F6E");end, + -- Does not require whole number/integer rotations. + ["_SET_BLIP_SQUARED_ROTATION"]=--[[void]] function(--[[Blip (int)]] blip,--[[float]] heading)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_float(heading);native_invoker.end_call("A8B6AFDAC320AC87");end, + ["_0x003E92BA477F9D7F"]=--[[int]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("003E92BA477F9D7F");return native_invoker.get_return_value_int();end, + -- Adds up after viewing multiple R* scripts. I believe that the duration is in miliseconds. + ["SET_BLIP_FLASH_TIMER"]=--[[void]] function(--[[Blip (int)]] blip,--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(duration);native_invoker.end_call("D3CD6FD297AE87CC");end, + ["SET_BLIP_FLASH_INTERVAL"]=--[[void]] function(--[[Blip (int)]] blip,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(p1);native_invoker.end_call("AA51DB313C010A7E");end, + -- https://gtaforums.com/topic/864881-all-blip-color-ids-pictured/ + ["SET_BLIP_COLOUR"]=--[[void]] function(--[[Blip (int)]] blip,--[[int]] color)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(color);native_invoker.end_call("03D7FB09E75D6B7E");end, + ["SET_BLIP_SECONDARY_COLOUR"]=--[[void]] function(--[[Blip (int)]] blip,--[[int]] r,--[[int]] g,--[[int]] b)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.end_call("14892474891E09EB");end, + ["GET_BLIP_COLOUR"]=--[[int]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("DF729E8D20CF7327");return native_invoker.get_return_value_int();end, + ["GET_BLIP_HUD_COLOUR"]=--[[int]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("729B5F1EFBC0AAEE");return native_invoker.get_return_value_int();end, + ["IS_BLIP_SHORT_RANGE"]=--[[BOOL (bool)]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("DA5F8727EB75B926");return native_invoker.get_return_value_bool();end, + ["IS_BLIP_ON_MINIMAP"]=--[[BOOL (bool)]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("E41CA53051197A27");return native_invoker.get_return_value_bool();end, + ["DOES_BLIP_HAVE_GPS_ROUTE"]=--[[BOOL (bool)]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("DD2238F57B977751");return native_invoker.get_return_value_bool();end, + ["SET_BLIP_HIDDEN_ON_LEGEND"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("54318C915D27E4CE");end, + ["SET_BLIP_HIGH_DETAIL"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("E2590BC29220CEBB");end, + ["SET_BLIP_AS_MISSION_CREATOR_BLIP"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("24AC0137444F9FD5");end, + ["IS_MISSION_CREATOR_BLIP"]=--[[BOOL (bool)]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("26F49BF3381D933D");return native_invoker.get_return_value_bool();end, + ["GET_NEW_SELECTED_MISSION_CREATOR_BLIP"]=--[[Blip (int)]] function()native_invoker.begin_call();native_invoker.end_call("5C90988E7C8E1AF4");return native_invoker.get_return_value_int();end, + ["IS_HOVERING_OVER_MISSION_CREATOR_BLIP"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("4167EFE0527D706E");return native_invoker.get_return_value_bool();end, + ["SHOW_START_MISSION_INSTRUCTIONAL_BUTTON"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("F1A6C18B35BCADE6");end, + ["_0x2916A928514C9827"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2916A928514C9827");end, + ["_0xB552929B85FC27EC"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("B552929B85FC27EC");end, + ["SET_BLIP_FLASHES"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B14552383D39CE3E");end, + ["SET_BLIP_FLASHES_ALTERNATE"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2E8D9498C56DD0D1");end, + ["IS_BLIP_FLASHING"]=--[[BOOL (bool)]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("A5E41FD83AD6CEF0");return native_invoker.get_return_value_bool();end, + -- Sets whether or not the specified blip should only be displayed when nearby, or on the minimap. + ["SET_BLIP_AS_SHORT_RANGE"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("BE8BE4FE60E27B72");end, + ["SET_BLIP_SCALE"]=--[[void]] function(--[[Blip (int)]] blip,--[[float]] scale)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_float(scale);native_invoker.end_call("D38744167B2FA257");end, + -- See https://imgur.com/a/lLkEsMN + ["_SET_BLIP_SCALE_TRANSFORMATION"]=--[[void]] function(--[[Blip (int)]] blip,--[[float]] xScale,--[[float]] yScale)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_float(xScale);native_invoker.push_arg_float(yScale);native_invoker.end_call("CD6524439909C979");end, + -- See this topic for more details : gtaforums.com/topic/717612-v-scriptnative-documentation-and-research/page-35?p=1069477935 + ["SET_BLIP_PRIORITY"]=--[[void]] function(--[[Blip (int)]] blip,--[[int]] priority)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(priority);native_invoker.end_call("AE9FC9EF6A9FAC79");end, + -- Display Id behaviours: + -- 0 = Doesn't show up, ever, anywhere. + -- 1 = Doesn't show up, ever, anywhere. + -- 2 = Shows on both main map and minimap. (Selectable on map) + -- 3 = Shows on main map only. (Selectable on map) + -- 4 = Shows on main map only. (Selectable on map) + -- 5 = Shows on minimap only. + -- 6 = Shows on both main map and minimap. (Selectable on map) + -- 7 = Doesn't show up, ever, anywhere. + -- 8 = Shows on both main map and minimap. (Not selectable on map) + -- 9 = Shows on minimap only. + -- 10 = Shows on both main map and minimap. (Not selectable on map) + -- + -- Anything higher than 10 seems to be exactly the same as 10. + ["SET_BLIP_DISPLAY"]=--[[void]] function(--[[Blip (int)]] blip,--[[int]] displayId)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(displayId);native_invoker.end_call("9029B2F3DA924928");end, + -- Example: https://i.imgur.com/skY6vAJ.png + -- + -- Index: + -- 1 = No distance shown in legend + -- 2 = Distance shown in legend + -- 7 = "Other Players" category, also shows distance in legend + -- 10 = "Property" category + -- 11 = "Owned Property" category + -- + -- Any other value behaves like index = 1, index wraps around after 255 + -- Blips with categories 7, 10 or 11 will all show under the specific categories listing in the map legend, regardless of sprite or name. + -- Legend entries: + -- 7 = Other Players (BLIP_OTHPLYR) + -- 10 = Property (BLIP_PROPCAT) + -- 11 = Owned Property (BLIP_APARTCAT) + -- + -- Category needs to be `7` in order for blip names to show on the expanded minimap when using DISPLAY_PLAYER_NAME_TAGS_ON_BLIPS. + ["SET_BLIP_CATEGORY"]=--[[void]] function(--[[Blip (int)]] blip,--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(index);native_invoker.end_call("234CDD44D996FD9A");end, + -- In the C++ SDK, this seems not to work-- the blip isn't removed immediately. I use it for saving cars. + -- + -- E.g.: + -- + -- Ped pped = PLAYER::PLAYER_PED_ID(); + -- Vehicle v = PED::GET_VEHICLE_PED_IS_USING(pped); + -- Blip b = HUD::ADD_BLIP_FOR_ENTITY(v); + -- + -- works fine. + -- But later attempting to delete it with: + -- + -- Blip b = HUD::GET_BLIP_FROM_ENTITY(v); + -- if (HUD::DOES_BLIP_EXIST(b)) HUD::REMOVE_BLIP(&b); + -- + -- doesn't work. And yes, doesn't work without the DOES_BLIP_EXIST check either. Also, if you attach multiple blips to the same thing (say, a vehicle), and that thing disappears, the blips randomly attach to other things (in my case, a vehicle). + -- + -- Thus for me, HUD::REMOVE_BLIP(&b) only works if there's one blip, (in my case) the vehicle is marked as no longer needed, you drive away from it and it eventually despawns, AND there is only one blip attached to it. I never intentionally attach multiple blips but if the user saves the car, this adds a blip. Then if they delete it, it is supposed to remove the blip, but it doesn't. Then they can immediately save it again, causing another blip to re-appear. + -- ------------- + -- + -- Passing the address of the variable instead of the value works for me. + -- e.g. + -- int blip = HUD::ADD_BLIP_FOR_ENTITY(ped); + -- HUD::REMOVE_BLIP(&blip); + -- + -- + -- Remove blip will currently crash your game, just artificially remove the blip by setting the sprite to a id that is 'invisible'. + -- + -- -- + -- It crashes my game. + ["REMOVE_BLIP"]=--[[void]] function(--[[Blip* (pointer)]] blip)native_invoker.begin_call();native_invoker.push_arg_pointer(blip);native_invoker.end_call("86A652570E5F25DD");end, + -- false for enemy + -- true for friendly + ["SET_BLIP_AS_FRIENDLY"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("6F6F290102C02AB4");end, + ["PULSE_BLIP"]=--[[void]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("742D6FD43115AF73");end, + ["SHOW_NUMBER_ON_BLIP"]=--[[void]] function(--[[Blip (int)]] blip,--[[int]] number)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_int(number);native_invoker.end_call("A3C0B359DCB848B6");end, + ["HIDE_NUMBER_ON_BLIP"]=--[[void]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("532CFF637EF80148");end, + ["SHOW_HEIGHT_ON_BLIP"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("75A16C3DA34F1245");end, + -- Adds a green checkmark on top of a blip. + ["SHOW_TICK_ON_BLIP"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("74513EA3E505181E");end, + -- Adds the GTA: Online player heading indicator to a blip. + ["SHOW_HEADING_INDICATOR_ON_BLIP"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("5FBCA48327B914DF");end, + -- Highlights a blip by a cyan color circle. + -- + -- Color can be changed with SET_BLIP_SECONDARY_COLOUR + ["SHOW_OUTLINE_INDICATOR_ON_BLIP"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B81656BC81FE24D1");end, + -- Highlights a blip by a half cyan circle on the right side of the blip. https://i.imgur.com/FrV9M4e.png + -- .Indicating that that player is a friend (in GTA:O). This color can not be changed. + -- To toggle the left side (crew member indicator) of the half circle around the blip, use: `SHOW_CREW_INDICATOR_ON_BLIP` + ["SHOW_FRIEND_INDICATOR_ON_BLIP"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("23C3EB807312F01A");end, + -- Enables or disables the blue half circle https://i.imgur.com/iZes9Ec.png around the specified blip on the left side of the blip. This is used to indicate that the player is in your crew in GTA:O. Color is changeable by using `SET_BLIP_SECONDARY_COLOUR`. + ["SHOW_CREW_INDICATOR_ON_BLIP"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("DCFB5D4DB8BF367E");end, + -- Must be toggled before being queued for animation + ["_SET_BLIP_DISPLAY_INDICATOR_ON_BLIP"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C4278F70131BAA6D");end, + ["_0x4B5B620C9B59ED34"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("4B5B620C9B59ED34");end, + ["_0x2C9F302398E13141"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("2C9F302398E13141");end, + -- Makes a blip go small when off the minimap. + -- + -- SET_BLIP_AS_* + ["_SET_BLIP_SHRINK"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2B6D467DAB714E8D");end, + -- Enabling this on a radius blip will make it outline only. See https://cdn.discordapp.com/attachments/553235301632573459/575132227935928330/unknown.png + ["SET_RADIUS_BLIP_EDGE"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("25615540D894B814");end, + ["DOES_BLIP_EXIST"]=--[[BOOL (bool)]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("A6DB27D19ECBB7DA");return native_invoker.get_return_value_bool();end, + -- This native removes the current waypoint from the map. + -- + -- Example: + -- C#: + -- Function.Call(Hash.SET_WAYPOINT_OFF); + -- + -- C++: + -- HUD::SET_WAYPOINT_OFF(); + ["SET_WAYPOINT_OFF"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A7E4E2D361C2627F");end, + ["_DELETE_WAYPOINT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D8E694757BCEA8E9");end, + ["REFRESH_WAYPOINT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("81FA173F170560D1");end, + ["IS_WAYPOINT_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("1DD1F58F493F1DA5");return native_invoker.get_return_value_bool();end, + ["SET_NEW_WAYPOINT"]=--[[void]] function(--[[float]] x,--[[float]] y)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.end_call("FE43368D2AA4F2FC");end, + ["SET_BLIP_BRIGHT"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B203913733F27884");end, + ["SET_BLIP_SHOW_CONE"]=--[[void]] function(--[[Blip (int)]] blip,--[[BOOL (bool)]] toggle,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(p2);native_invoker.end_call("13127EC3665E8EE1");end, + -- Interesting fact: A hash collision for this is RESET_JETPACK_MODEL_SETTINGS + ["_0xC594B315EDF2D4AF"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("C594B315EDF2D4AF");end, + ["_0xF83D0FEBE75E62C9"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("F83D0FEBE75E62C9");end, + ["_0x35A3CD97B2C0A6D2"]=--[[void]] function(--[[Blip (int)]] blip)native_invoker.begin_call();native_invoker.push_arg_int(blip);native_invoker.end_call("35A3CD97B2C0A6D2");end, + ["_0x8410C5E0CD847B9D"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("8410C5E0CD847B9D");end, + -- This native is used to colorize certain map components like the army base at the top of the map. + -- p2 appears to be always -1. If p2 is -1 then native wouldn't change the color. See https://gfycat.com/SkinnyPinkChupacabra + ["SET_MINIMAP_COMPONENT"]=--[[Any (int)]] function(--[[int]] componentId,--[[BOOL (bool)]] toggle,--[[int]] overrideColor)native_invoker.begin_call();native_invoker.push_arg_int(componentId);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(overrideColor);native_invoker.end_call("75A9A10948D1DEA6");return native_invoker.get_return_value_int();end, + ["_SET_MINIMAP_SONAR_ENABLED"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("6B50FC8749632EC1");end, + ["_SHOW_SIGNIN_UI"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("60E892BA4F5BDCA4");end, + ["GET_MAIN_PLAYER_BLIP_ID"]=--[[Blip (int)]] function()native_invoker.begin_call();native_invoker.end_call("DCD4EC3F419D02FA");return native_invoker.get_return_value_int();end, + ["_0x41350B4FC28E3941"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("41350B4FC28E3941");end, + ["HIDE_LOADING_ON_FADE_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("4B0311D3CDC4648F");end, + -- List of interior hashes: pastebin.com/1FUyXNqY + -- Not for every interior zoom > 0 available. + ["SET_RADAR_AS_INTERIOR_THIS_FRAME"]=--[[void]] function(--[[Hash (int)]] interior,--[[float]] x,--[[float]] y,--[[int]] z,--[[int]] zoom)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_int(z);native_invoker.push_arg_int(zoom);native_invoker.end_call("59E727A1C9D3E31A");end, + ["_0x504DFE62A1692296"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("504DFE62A1692296");end, + ["SET_RADAR_AS_EXTERIOR_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E81B7D2A3DAB2D81");end, + -- Sets the position of the arrow icon representing the player on both the minimap and world map. + -- + -- Too bad this wouldn't work over the network (obviously not). Could spoof where we would be. + ["_SET_PLAYER_BLIP_POSITION_THIS_FRAME"]=--[[void]] function(--[[float]] x,--[[float]] y)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.end_call("77E2DD177910E1CF");end, + ["_0xA17784FCA9548D15"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("A17784FCA9548D15");end, + ["_IS_MINIMAP_IN_INTERIOR"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("9049FE339D5F6F6F");return native_invoker.get_return_value_bool();end, + ["HIDE_MINIMAP_EXTERIOR_MAP_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5FBAE526203990C9");end, + ["HIDE_MINIMAP_INTERIOR_MAP_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("20FE7FDFEEAD38C0");end, + -- Toggles the Cayo Perico map. + ["_SET_TOGGLE_MINIMAP_HEIST_ISLAND"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("5E1460624D194A38");end, + -- When calling this, the current frame will have the players "arrow icon" be focused on the dead center of the radar. + ["DONT_TILT_MINIMAP_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6D14BFDC33B34F55");end, + ["_0x55F5A5F07134DE60"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("55F5A5F07134DE60");end, + ["SET_WIDESCREEN_FORMAT"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("C3B07BA00A83B0F1");end, + ["DISPLAY_AREA_NAME"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("276B6CE369C33678");end, + -- "DISPLAY_CASH(false);" makes the cash amount render on the screen when appropriate + -- "DISPLAY_CASH(true);" disables cash amount rendering + ["DISPLAY_CASH"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("96DEC8D5430208B7");end, + -- Related to displaying cash on the HUD + -- Always called before HUD::_SET_SINGLEPLAYER_HUD_CASH in decompiled scripts + ["_0x170F541E1CADD1DE"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("170F541E1CADD1DE");end, + -- Displays cash change notifications on HUD. + ["_SET_PLAYER_CASH_CHANGE"]=--[[void]] function(--[[int]] cash,--[[int]] bank)native_invoker.begin_call();native_invoker.push_arg_int(cash);native_invoker.push_arg_int(bank);native_invoker.end_call("0772DF77852C2E30");end, + ["DISPLAY_AMMO_THIS_FRAME"]=--[[void]] function(--[[BOOL (bool)]] display)native_invoker.begin_call();native_invoker.push_arg_bool(display);native_invoker.end_call("A5E78BA2B1331C55");end, + -- Displays the crosshair for this frame. + ["DISPLAY_SNIPER_SCOPE_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("73115226F4814E62");end, + -- I think this works, but seems to prohibit switching to other weapons (or accessing the weapon wheel) + ["HIDE_HUD_AND_RADAR_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("719FF505F097FD20");end, + ["_0xE67C6DFD386EA5E7"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("E67C6DFD386EA5E7");end, + ["SET_MULTIPLAYER_WALLET_CASH"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C2D15BEF167E27BC");end, + ["REMOVE_MULTIPLAYER_WALLET_CASH"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("95CF81BD06EE1887");end, + ["SET_MULTIPLAYER_BANK_CASH"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("DD21B55DF695CD0A");end, + ["REMOVE_MULTIPLAYER_BANK_CASH"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C7C6789AA1CFEDD0");end, + -- This native does absolutely nothing, just a nullsub + ["SET_MULTIPLAYER_HUD_CASH"]=--[[void]] function(--[[int]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("FD1D220394BCB824");end, + -- Removes multiplayer cash hud each frame + ["REMOVE_MULTIPLAYER_HUD_CASH"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("968F270E39141ECA");end, + ["HIDE_HELP_TEXT_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D46923FC481CA285");end, + -- IS_* + ["_0x801879A9B4F4B2FB"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("801879A9B4F4B2FB");return native_invoker.get_return_value_bool();end, + -- The messages are localized strings. + -- Examples: + -- "No_bus_money" + -- "Enter_bus" + -- "Tour_help" + -- "LETTERS_HELP2" + -- "Dummy" + -- + -- **The bool appears to always be false (if it even is a bool, as it's represented by a zero)** + -- -------- + -- p1 doesn't seem to make a difference, regardless of the state it's in. + -- + -- + -- picture of where on the screen this is displayed? + ["DISPLAY_HELP_TEXT_THIS_FRAME"]=--[[void]] function(--[[string]] message,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(message);native_invoker.push_arg_bool(p1);native_invoker.end_call("960C9FF8F616E41C");end, + -- Forces the weapon wheel to show/hide. + ["HUD_FORCE_WEAPON_WHEEL"]=--[[void]] function(--[[BOOL (bool)]] show)native_invoker.begin_call();native_invoker.push_arg_bool(show);native_invoker.end_call("EB354E5376BC81A7");end, + -- Displays loading screen tips, requires `_0x56C8B608CFD49854` to be called beforehand. + ["_HUD_DISPLAY_LOADING_SCREEN_TIPS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("488043841BBE156F");end, + -- Calling this each frame, stops the player from receiving a weapon via the weapon wheel. + ["_HUD_WEAPON_WHEEL_IGNORE_SELECTION"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0AFC4AF510774B47");end, + -- Returns the weapon hash to the selected/highlighted weapon in the wheel + ["_HUD_WEAPON_WHEEL_GET_SELECTED_HASH"]=--[[Hash (int)]] function()native_invoker.begin_call();native_invoker.end_call("A48931185F0536FE");return native_invoker.get_return_value_int();end, + -- Set the active slotIndex in the wheel weapon to the slot associated with the provided Weapon hash + ["HUD_SET_WEAPON_WHEEL_TOP_SLOT"]=--[[void]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("72C1056D678BB7D8");end, + -- Returns the weapon hash active in a specific weapon wheel slotList + ["_HUD_WEAPON_WHEEL_GET_SLOT_HASH"]=--[[Hash (int)]] function(--[[int]] weaponTypeIndex)native_invoker.begin_call();native_invoker.push_arg_int(weaponTypeIndex);native_invoker.end_call("A13E93403F26C812");return native_invoker.get_return_value_int();end, + -- Sets a global that disables many weapon input tasks (shooting, aiming, etc.). Does not work with vehicle weapons, only used in selector.ysc + ["_HUD_WEAPON_WHEEL_IGNORE_CONTROL_INPUT"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("14C9FDCC41F81F63");end, + -- Only the script that originally called SET_GPS_FLAGS can set them again. Another script cannot set the flags, until the first script that called it has called CLEAR_GPS_FLAGS. + -- + -- Doesn't seem like the flags are actually read by the game at all. + ["SET_GPS_FLAGS"]=--[[void]] function(--[[int]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("5B440763A4C8D15B");end, + -- Clears the GPS flags. Only the script that originally called SET_GPS_FLAGS can clear them. + -- + -- Doesn't seem like the flags are actually read by the game at all. + ["CLEAR_GPS_FLAGS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("21986729D6A3A830");end, + ["SET_RACE_TRACK_RENDER"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("1EAC5F91BCBC5073");end, + -- Does the same as SET_RACE_TRACK_RENDER(false); + ["CLEAR_GPS_RACE_TRACK"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("7AA5B4CE533C858B");end, + -- Starts a new GPS custom-route, allowing you to plot lines on the map. + -- Lines are drawn directly between points. + -- The GPS custom route works like the GPS multi route, except it does not follow roads. + -- Example result: https://i.imgur.com/BDm5pzt.png + -- hudColor: The HUD color of the GPS path. + -- displayOnFoot: Draws the path regardless if the player is in a vehicle or not. + -- followPlayer: Draw the path partially between the previous and next point based on the players position between them. When false, the GPS appears to not disappear after the last leg is completed. + ["START_GPS_CUSTOM_ROUTE"]=--[[void]] function(--[[int]] hudColor,--[[BOOL (bool)]] displayOnFoot,--[[BOOL (bool)]] followPlayer)native_invoker.begin_call();native_invoker.push_arg_int(hudColor);native_invoker.push_arg_bool(displayOnFoot);native_invoker.push_arg_bool(followPlayer);native_invoker.end_call("DB34E8D56FC13B08");end, + ["ADD_POINT_TO_GPS_CUSTOM_ROUTE"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("311438A071DD9B1A");end, + -- radarThickness: The width of the GPS route on the radar + -- mapThickness: The width of the GPS route on the map + ["SET_GPS_CUSTOM_ROUTE_RENDER"]=--[[void]] function(--[[BOOL (bool)]] toggle,--[[int]] radarThickness,--[[int]] mapThickness)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(radarThickness);native_invoker.push_arg_int(mapThickness);native_invoker.end_call("900086F371220B6F");end, + ["CLEAR_GPS_CUSTOM_ROUTE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E6DE0561D9232A64");end, + -- Starts a new GPS multi-route, allowing you to create custom GPS paths. + -- GPS functions like the waypoint, except it can contain multiple points it's forced to go through. + -- Once the player has passed a point, the GPS will no longer force its path through it. + -- + -- Works independently from the player-placed waypoint and blip routes. + -- Example result: https://i.imgur.com/ZZHQatX.png + -- hudColor: The HUD color of the GPS path. + -- routeFromPlayer: Makes the GPS draw a path from the player to the next point, rather than the original path from the previous point. + -- displayOnFoot: Draws the GPS path regardless if the player is in a vehicle or not. + ["START_GPS_MULTI_ROUTE"]=--[[void]] function(--[[int]] hudColor,--[[BOOL (bool)]] routeFromPlayer,--[[BOOL (bool)]] displayOnFoot)native_invoker.begin_call();native_invoker.push_arg_int(hudColor);native_invoker.push_arg_bool(routeFromPlayer);native_invoker.push_arg_bool(displayOnFoot);native_invoker.end_call("3D3D15AF7BCAAF83");end, + ["ADD_POINT_TO_GPS_MULTI_ROUTE"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("A905192A6781C41B");end, + ["SET_GPS_MULTI_ROUTE_RENDER"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("3DDA37128DD1ACA8");end, + -- Does the same as SET_GPS_MULTI_ROUTE_RENDER(false); + ["CLEAR_GPS_MULTI_ROUTE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("67EEDEA1B9BAFD94");end, + ["CLEAR_GPS_PLAYER_WAYPOINT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FF4FB7C8CDFA3DA7");end, + ["SET_GPS_FLASHES"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("320D0E0D936A0E9B");end, + ["_0x7B21E0BB01E8224A"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7B21E0BB01E8224A");end, + -- adds a short flash to the Radar/Minimap + -- Usage: UI.FLASH_MINIMAP_DISPLAY + ["FLASH_MINIMAP_DISPLAY"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("F2DD778C22B15BDA");end, + ["FLASH_MINIMAP_DISPLAY_WITH_COLOR"]=--[[void]] function(--[[int]] hudColorIndex)native_invoker.begin_call();native_invoker.push_arg_int(hudColorIndex);native_invoker.end_call("6B1DE27EE78E6A19");end, + ["TOGGLE_STEALTH_RADAR"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("6AFDFB93754950C7");end, + ["SET_MINIMAP_IN_SPECTATOR_MODE"]=--[[void]] function(--[[BOOL (bool)]] toggle,--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(ped);native_invoker.end_call("1A5CD7752DD28CD3");end, + ["SET_MISSION_NAME"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_string(name);native_invoker.end_call("5F28ECF5FC84772F");end, + ["_SET_MISSION_NAME_2"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_string(name);native_invoker.end_call("E45087D85F468BC2");end, + -- HUD::_817B86108EB94E51(1, &g_189F36._f10CD1[0/*16*/], &g_189F36._f10CD1[1/*16*/], &g_189F36._f10CD1[2/*16*/], &g_189F36._f10CD1[3/*16*/], &g_189F36._f10CD1[4/*16*/], &g_189F36._f10CD1[5/*16*/], &g_189F36._f10CD1[6/*16*/], &g_189F36._f10CD1[7/*16*/]); + ["_0x817B86108EB94E51"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3,--[[Any* (pointer)]] p4,--[[Any* (pointer)]] p5,--[[Any* (pointer)]] p6,--[[Any* (pointer)]] p7,--[[Any* (pointer)]] p8)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.push_arg_pointer(p4);native_invoker.push_arg_pointer(p5);native_invoker.push_arg_pointer(p6);native_invoker.push_arg_pointer(p7);native_invoker.push_arg_pointer(p8);native_invoker.end_call("817B86108EB94E51");end, + ["SET_MINIMAP_BLOCK_WAYPOINT"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("58FADDED207897DC");end, + -- Toggles the North Yankton map + ["SET_MINIMAP_IN_PROLOGUE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("9133955F1A2DA957");end, + -- If true, the entire map will be revealed. + -- + -- FOW = Fog of War + ["SET_MINIMAP_HIDE_FOW"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("F8DEE0A5600CBB93");end, + ["GET_MINIMAP_FOW_DISCOVERY_RATIO"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("E0130B41D3CF4574");return native_invoker.get_return_value_float();end, + ["GET_MINIMAP_FOW_COORDINATE_IS_REVEALED"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("6E31B91145873922");return native_invoker.get_return_value_bool();end, + ["_0x62E849B7EB28E770"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("62E849B7EB28E770");end, + ["SET_MINIMAP_FOW_REVEAL_COORDINATE"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("0923DBF87DFF735E");end, + -- Not much is known so far on what it does _exactly_. + -- All I know for sure is that it draws the specified hole ID on the pause menu map as well as on the mini-map/radar. This native also seems to change some other things related to the pause menu map's behaviour, for example: you can no longer set waypoints, the pause menu map starts up in a 'zoomed in' state. This native does not need to be executed every tick. + -- You need to center the minimap manually as well as change/lock it's zoom and angle in order for it to appear correctly on the minimap. + -- You'll also need to use the `GOLF` scaleform in order to get the correct minmap border to show up. + -- Use `0x35edd5b2e3ff01c0` to reset the map when you no longer want to display any golf holes (you still need to unlock zoom, position and angle of the radar manually after calling this). + ["SET_MINIMAP_GOLF_COURSE"]=--[[void]] function(--[[int]] hole)native_invoker.begin_call();native_invoker.push_arg_int(hole);native_invoker.end_call("71BDB63DBAF8DA59");end, + ["SET_MINIMAP_GOLF_COURSE_OFF"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("35EDD5B2E3FF01C0");end, + -- Locks the minimap to the specified angle in integer degrees. + -- + -- angle: The angle in whole degrees. If less than 0 or greater than 360, unlocks the angle. + ["LOCK_MINIMAP_ANGLE"]=--[[void]] function(--[[int]] angle)native_invoker.begin_call();native_invoker.push_arg_int(angle);native_invoker.end_call("299FAEBB108AE05B");end, + ["UNLOCK_MINIMAP_ANGLE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("8183455E16C42E3A");end, + -- Locks the minimap to the specified world position. + ["LOCK_MINIMAP_POSITION"]=--[[void]] function(--[[float]] x,--[[float]] y)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.end_call("1279E861A329E73F");end, + ["UNLOCK_MINIMAP_POSITION"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("3E93E06DB8EF1F30");end, + -- Argument must be 0.0f or above 38.0f, or it will be ignored. + ["_SET_MINIMAP_ALTITUDE_INDICATOR_LEVEL"]=--[[void]] function(--[[float]] altitude,--[[BOOL (bool)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_float(altitude);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("D201F3FF917A506D");end, + ["SET_HEALTH_HUD_DISPLAY_VALUES"]=--[[void]] function(--[[int]] health,--[[int]] capacity,--[[BOOL (bool)]] wasAdded)native_invoker.begin_call();native_invoker.push_arg_int(health);native_invoker.push_arg_int(capacity);native_invoker.push_arg_bool(wasAdded);native_invoker.end_call("3F5CC444DCAAA8F2");end, + ["SET_MAX_HEALTH_HUD_DISPLAY"]=--[[void]] function(--[[int]] maximumValue)native_invoker.begin_call();native_invoker.push_arg_int(maximumValue);native_invoker.end_call("975D66A0BC17064C");end, + ["SET_MAX_ARMOUR_HUD_DISPLAY"]=--[[void]] function(--[[int]] maximumValue)native_invoker.begin_call();native_invoker.push_arg_int(maximumValue);native_invoker.end_call("06A320535F5F0248");end, + -- Toggles the big minimap state like in GTA:Online. + ["SET_BIGMAP_ACTIVE"]=--[[void]] function(--[[BOOL (bool)]] toggleBigMap,--[[BOOL (bool)]] showFullMap)native_invoker.begin_call();native_invoker.push_arg_bool(toggleBigMap);native_invoker.push_arg_bool(showFullMap);native_invoker.end_call("231C8F89D0539D8F");end, + -- Full list of components below + -- + -- HUD = 0; + -- HUD_WANTED_STARS = 1; + -- HUD_WEAPON_ICON = 2; + -- HUD_CASH = 3; + -- HUD_MP_CASH = 4; + -- HUD_MP_MESSAGE = 5; + -- HUD_VEHICLE_NAME = 6; + -- HUD_AREA_NAME = 7; + -- HUD_VEHICLE_CLASS = 8; + -- HUD_STREET_NAME = 9; + -- HUD_HELP_TEXT = 10; + -- HUD_FLOATING_HELP_TEXT_1 = 11; + -- HUD_FLOATING_HELP_TEXT_2 = 12; + -- HUD_CASH_CHANGE = 13; + -- HUD_RETICLE = 14; + -- HUD_SUBTITLE_TEXT = 15; + -- HUD_RADIO_STATIONS = 16; + -- HUD_SAVING_GAME = 17; + -- HUD_GAME_STREAM = 18; + -- HUD_WEAPON_WHEEL = 19; + -- HUD_WEAPON_WHEEL_STATS = 20; + -- MAX_HUD_COMPONENTS = 21; + -- MAX_HUD_WEAPONS = 22; + -- MAX_SCRIPTED_HUD_COMPONENTS = 141; + ["IS_HUD_COMPONENT_ACTIVE"]=--[[BOOL (bool)]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("BC4C9EA5391ECC0D");return native_invoker.get_return_value_bool();end, + ["IS_SCRIPTED_HUD_COMPONENT_ACTIVE"]=--[[BOOL (bool)]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("DD100EB17A94FF65");return native_invoker.get_return_value_bool();end, + ["HIDE_SCRIPTED_HUD_COMPONENT_THIS_FRAME"]=--[[void]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("E374C498D8BADC14");end, + -- SHOW_* + ["_SHOW_SCRIPTED_HUD_COMPONENT_THIS_FRAME"]=--[[void]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("4F38DCA127DAAEA2");end, + ["IS_SCRIPTED_HUD_COMPONENT_HIDDEN_THIS_FRAME"]=--[[BOOL (bool)]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("09C0403ED9A751C2");return native_invoker.get_return_value_bool();end, + -- This function hides various HUD (Heads-up Display) components. + -- Listed below are the integers and the corresponding HUD component. + -- - 1 : WANTED_STARS + -- - 2 : WEAPON_ICON + -- - 3 : CASH + -- - 4 : MP_CASH + -- - 5 : MP_MESSAGE + -- - 6 : VEHICLE_NAME + -- - 7 : AREA_NAME + -- - 8 : VEHICLE_CLASS + -- - 9 : STREET_NAME + -- - 10 : HELP_TEXT + -- - 11 : FLOATING_HELP_TEXT_1 + -- - 12 : FLOATING_HELP_TEXT_2 + -- - 13 : CASH_CHANGE + -- - 14 : RETICLE + -- - 15 : SUBTITLE_TEXT + -- - 16 : RADIO_STATIONS + -- - 17 : SAVING_GAME + -- - 18 : GAME_STREAM + -- - 19 : WEAPON_WHEEL + -- - 20 : WEAPON_WHEEL_STATS + -- - 21 : HUD_COMPONENTS + -- - 22 : HUD_WEAPONS + -- + -- These integers also work for the `SHOW_HUD_COMPONENT_THIS_FRAME` native, but instead shows the HUD Component. + ["HIDE_HUD_COMPONENT_THIS_FRAME"]=--[[void]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("6806C51AD12B83B8");end, + -- This function hides various HUD (Heads-up Display) components. + -- Listed below are the integers and the corresponding HUD component. + -- - 1 : WANTED_STARS + -- - 2 : WEAPON_ICON + -- - 3 : CASH + -- - 4 : MP_CASH + -- - 5 : MP_MESSAGE + -- - 6 : VEHICLE_NAME + -- - 7 : AREA_NAME + -- - 8 : VEHICLE_CLASS + -- - 9 : STREET_NAME + -- - 10 : HELP_TEXT + -- - 11 : FLOATING_HELP_TEXT_1 + -- - 12 : FLOATING_HELP_TEXT_2 + -- - 13 : CASH_CHANGE + -- - 14 : RETICLE + -- - 15 : SUBTITLE_TEXT + -- - 16 : RADIO_STATIONS + -- - 17 : SAVING_GAME + -- - 18 : GAME_STREAM + -- - 19 : WEAPON_WHEEL + -- - 20 : WEAPON_WHEEL_STATS + -- - 21 : HUD_COMPONENTS + -- - 22 : HUD_WEAPONS + -- + -- These integers also work for the `HIDE_HUD_COMPONENT_THIS_FRAME` native, but instead hides the HUD Component. + ["SHOW_HUD_COMPONENT_THIS_FRAME"]=--[[void]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("0B4DF1FA60C0E664");end, + -- HIDE_*_THIS_FRAME + -- + -- Hides area and vehicle name HUD components for one frame. + ["_HIDE_AREA_AND_VEHICLE_NAME_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A4DEDE28B1814289");end, + ["RESET_RETICULE_VALUES"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("12782CE0A636E9F0");end, + ["RESET_HUD_COMPONENT_VALUES"]=--[[void]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("450930E616475D0D");end, + ["SET_HUD_COMPONENT_POSITION"]=--[[void]] function(--[[int]] id,--[[float]] x,--[[float]] y)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.end_call("AABB1F56E2A17CED");end, + ["GET_HUD_COMPONENT_POSITION"]=--[[Vector3 (vector3)]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("223CA69A8C4417FD");return native_invoker.get_return_value_vector3();end, + -- This native does absolutely nothing, just a nullsub + ["CLEAR_REMINDER_MESSAGE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B57D8DD645CFA2CF");end, + -- World to relative screen coords, this world to screen will keep the text on screen. Was named _GET_SCREEN_COORD_FROM_WORLD_COORD, but this conflicts with 0x34E82F05DF2974F5. As that hash actually matches GET_SCREEN_COORD_FROM_WORLD_COORD that one supercedes and this one was renamed to _GET_2D_COORD_FROM_3D_COORD + ["GET_HUD_SCREEN_POSITION_FROM_WORLD_POSITION"]=--[[BOOL (bool)]] function(--[[float]] worldX,--[[float]] worldY,--[[float]] worldZ,--[[float* (pointer)]] screenX,--[[float* (pointer)]] screenY)native_invoker.begin_call();native_invoker.push_arg_float(worldX);native_invoker.push_arg_float(worldY);native_invoker.push_arg_float(worldZ);native_invoker.push_arg_pointer(screenX);native_invoker.push_arg_pointer(screenY);native_invoker.end_call("F9904D11F1ACBEC3");return native_invoker.get_return_value_bool();end, + -- Shows a menu for reporting UGC content. + ["OPEN_REPORTUGC_MENU"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("523A590C1A3CC0D3");end, + ["FORCE_CLOSE_REPORTUGC_MENU"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EE4C0E6DBC6F2C6F");end, + ["IS_REPORTUGC_MENU_OPEN"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("9135584D09A3437E");return native_invoker.get_return_value_bool();end, + ["IS_FLOATING_HELP_TEXT_ON_SCREEN"]=--[[BOOL (bool)]] function(--[[int]] hudIndex)native_invoker.begin_call();native_invoker.push_arg_int(hudIndex);native_invoker.end_call("2432784ACA090DA4");return native_invoker.get_return_value_bool();end, + ["SET_FLOATING_HELP_TEXT_SCREEN_POSITION"]=--[[void]] function(--[[int]] hudIndex,--[[float]] x,--[[float]] y)native_invoker.begin_call();native_invoker.push_arg_int(hudIndex);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.end_call("7679CC1BCEBE3D4C");end, + ["SET_FLOATING_HELP_TEXT_WORLD_POSITION"]=--[[void]] function(--[[int]] hudIndex,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(hudIndex);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("784BA7E0ECEB4178");end, + ["SET_FLOATING_HELP_TEXT_TO_ENTITY"]=--[[void]] function(--[[int]] hudIndex,--[[Entity (int)]] entity,--[[float]] offsetX,--[[float]] offsetY)native_invoker.begin_call();native_invoker.push_arg_int(hudIndex);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.end_call("B094BC1DB4018240");end, + ["SET_FLOATING_HELP_TEXT_STYLE"]=--[[void]] function(--[[int]] hudIndex,--[[int]] p1,--[[int]] p2,--[[int]] p3,--[[int]] p4,--[[int]] p5)native_invoker.begin_call();native_invoker.push_arg_int(hudIndex);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("788E7FD431BD67F1");end, + ["CLEAR_FLOATING_HELP"]=--[[void]] function(--[[int]] hudIndex,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(hudIndex);native_invoker.push_arg_bool(p1);native_invoker.end_call("50085246ABD3FEFA");end, + -- clanFlag: takes a number 0-5 + ["CREATE_MP_GAMER_TAG_WITH_CREW_COLOR"]=--[[void]] function(--[[Player (int)]] player,--[[string]] username,--[[BOOL (bool)]] pointedClanTag,--[[BOOL (bool)]] isRockstarClan,--[[string]] clanTag,--[[int]] clanFlag,--[[int]] r,--[[int]] g,--[[int]] b)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_string(username);native_invoker.push_arg_bool(pointedClanTag);native_invoker.push_arg_bool(isRockstarClan);native_invoker.push_arg_string(clanTag);native_invoker.push_arg_int(clanFlag);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.end_call("6DD05E9D83EFA4C9");end, + ["IS_MP_GAMER_TAG_MOVIE_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("6E0EB3EB47C8D7AA");return native_invoker.get_return_value_bool();end, + -- clanFlag: takes a number 0-5 + ["CREATE_FAKE_MP_GAMER_TAG"]=--[[int]] function(--[[Ped (int)]] ped,--[[string]] username,--[[BOOL (bool)]] pointedClanTag,--[[BOOL (bool)]] isRockstarClan,--[[string]] clanTag,--[[int]] clanFlag)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(username);native_invoker.push_arg_bool(pointedClanTag);native_invoker.push_arg_bool(isRockstarClan);native_invoker.push_arg_string(clanTag);native_invoker.push_arg_int(clanFlag);native_invoker.end_call("BFEFE3321A3F5015");return native_invoker.get_return_value_int();end, + ["REMOVE_MP_GAMER_TAG"]=--[[void]] function(--[[int]] gamerTagId)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.end_call("31698AA80E0223F8");end, + ["IS_MP_GAMER_TAG_ACTIVE"]=--[[BOOL (bool)]] function(--[[int]] gamerTagId)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.end_call("4E929E7A5796FD26");return native_invoker.get_return_value_bool();end, + ["IS_MP_GAMER_TAG_FREE"]=--[[BOOL (bool)]] function(--[[int]] gamerTagId)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.end_call("595B5178E412E199");return native_invoker.get_return_value_bool();end, + -- enum eMpGamerTagComponent + -- { + -- MP_TAG_GAMER_NAME, + -- MP_TAG_CREW_TAG, + -- MP_TAG_HEALTH_ARMOUR, + -- MP_TAG_BIG_TEXT, + -- MP_TAG_AUDIO_ICON, + -- MP_TAG_USING_MENU, + -- MP_TAG_PASSIVE_MODE, + -- MP_TAG_WANTED_STARS, + -- MP_TAG_DRIVER, + -- MP_TAG_CO_DRIVER, + -- MP_TAG_TAGGED, + -- MP_TAG_GAMER_NAME_NEARBY, + -- MP_TAG_ARROW, + -- MP_TAG_PACKAGES, + -- MP_TAG_INV_IF_PED_FOLLOWING, + -- MP_TAG_RANK_TEXT, + -- MP_TAG_TYPING, + -- MP_TAG_BAG_LARGE, + -- MP_TAG_ARROW, + -- MP_TAG_GANG_CEO, + -- MP_TAG_GANG_BIKER, + -- MP_TAG_BIKER_ARROW, + -- MP_TAG_MC_ROLE_PRESIDENT, + -- MP_TAG_MC_ROLE_VICE_PRESIDENT, + -- MP_TAG_MC_ROLE_ROAD_CAPTAIN, + -- MP_TAG_MC_ROLE_SARGEANT, + -- MP_TAG_MC_ROLE_ENFORCER, + -- MP_TAG_MC_ROLE_PROSPECT, + -- MP_TAG_TRANSMITTER, + -- MP_TAG_BOMB + -- }; + ["SET_MP_GAMER_TAG_VISIBILITY"]=--[[void]] function(--[[int]] gamerTagId,--[[int]] component,--[[BOOL (bool)]] toggle,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.push_arg_int(component);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(p3);native_invoker.end_call("63BB75ABEDC1F6A0");end, + ["_SET_MP_GAMER_TAG_ENABLED"]=--[[void]] function(--[[int]] gamerTagId,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.push_arg_bool(toggle);native_invoker.end_call("EE76FF7E6A0166B0");end, + -- Displays a bunch of icons above the players name, and level, and their name twice + ["_SET_MP_GAMER_TAG_ICONS"]=--[[void]] function(--[[int]] gamerTagId,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.push_arg_bool(toggle);native_invoker.end_call("A67F9C46D612B6F1");end, + ["_SET_MP_GAMER_HEALTH_BAR_DISPLAY"]=--[[void]] function(--[[int]] gamerTagId,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D29EC58C2F6B5014");end, + ["_SET_MP_GAMER_HEALTH_BAR_MAX"]=--[[void]] function(--[[int]] gamerTagId,--[[int]] value,--[[int]] maximumValue)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.push_arg_int(value);native_invoker.push_arg_int(maximumValue);native_invoker.end_call("1563FE35E9928E67");end, + -- Sets a gamer tag's component colour + -- + -- gamerTagId is obtained using for example CREATE_FAKE_MP_GAMER_TAG + -- Ranges from 0 to 255. 0 is grey health bar, ~50 yellow, 200 purple. + ["SET_MP_GAMER_TAG_COLOUR"]=--[[void]] function(--[[int]] gamerTagId,--[[int]] component,--[[int]] hudColorIndex)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.push_arg_int(component);native_invoker.push_arg_int(hudColorIndex);native_invoker.end_call("613ED644950626AE");end, + -- Ranges from 0 to 255. 0 is grey health bar, ~50 yellow, 200 purple. + -- Should be enabled as flag (2). Has 0 opacity by default. + -- + -- - This was _SET_MP_GAMER_TAG_HEALTH_BAR_COLOR, + -- -> Rockstar use the EU spelling of 'color' so I hashed the same name with COLOUR and it came back as the correct hash, so it has been corrected above. + ["SET_MP_GAMER_TAG_HEALTH_BAR_COLOUR"]=--[[void]] function(--[[int]] gamerTagId,--[[int]] hudColorIndex)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.push_arg_int(hudColorIndex);native_invoker.end_call("3158C77A7E888AB4");end, + -- Sets flag's sprite transparency. 0-255. + ["SET_MP_GAMER_TAG_ALPHA"]=--[[void]] function(--[[int]] gamerTagId,--[[int]] component,--[[int]] alpha)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.push_arg_int(component);native_invoker.push_arg_int(alpha);native_invoker.end_call("D48FE545CD46F857");end, + -- displays wanted star above head + ["SET_MP_GAMER_TAG_WANTED_LEVEL"]=--[[void]] function(--[[int]] gamerTagId,--[[int]] wantedlvl)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.push_arg_int(wantedlvl);native_invoker.end_call("CF228E2AA03099C3");end, + ["_SET_MP_GAMER_TAG_UNK"]=--[[void]] function(--[[int]] gamerTagId,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.push_arg_int(p1);native_invoker.end_call("9C16459B2324B2CF");end, + ["SET_MP_GAMER_TAG_NAME"]=--[[void]] function(--[[int]] gamerTagId,--[[string]] string)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.push_arg_string(string);native_invoker.end_call("DEA2B8283BAA3944");end, + -- IS_* + ["_IS_VALID_MP_GAMER_TAG_MOVIE"]=--[[BOOL (bool)]] function(--[[int]] gamerTagId)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.end_call("EB709A36958ABE0D");return native_invoker.get_return_value_bool();end, + ["SET_MP_GAMER_TAG_BIG_TEXT"]=--[[void]] function(--[[int]] gamerTagId,--[[string]] string)native_invoker.begin_call();native_invoker.push_arg_int(gamerTagId);native_invoker.push_arg_string(string);native_invoker.end_call("7B7723747CCB55B6");end, + ["GET_CURRENT_WEBPAGE_ID"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("01A358D9128B7A86");return native_invoker.get_return_value_int();end, + ["GET_CURRENT_WEBSITE_ID"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("97D47996FC48CBAD");return native_invoker.get_return_value_int();end, + -- GET_G* + ["_0xE3B05614DCE1D014"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E3B05614DCE1D014");return native_invoker.get_return_value_int();end, + -- RESET_* + ["_0xB99C4E4D9499DF29"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("B99C4E4D9499DF29");end, + -- IS_WARNING_MESSAGE_* + ["_IS_WARNING_MESSAGE_ACTIVE_2"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("AF42195A42C63BBA");return native_invoker.get_return_value_bool();end, + -- You can only use text entries. No custom text. + -- + -- Example: SET_WARNING_MESSAGE("t20", 3, "adder", false, -1, 0, 0, true); + ["SET_WARNING_MESSAGE"]=--[[void]] function(--[[string]] titleMsg,--[[int]] flags,--[[string]] promptMsg,--[[BOOL (bool)]] p3,--[[int]] p4,--[[string]] p5,--[[string]] p6,--[[BOOL (bool)]] showBackground,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_string(titleMsg);native_invoker.push_arg_int(flags);native_invoker.push_arg_string(promptMsg);native_invoker.push_arg_bool(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_string(p5);native_invoker.push_arg_string(p6);native_invoker.push_arg_bool(showBackground);native_invoker.push_arg_int(p8);native_invoker.end_call("7B1776B3B53F8D74");end, + -- Shows a warning message on screen with a header. + -- Note: You can only use text entries. No custom text. You can recreate this easily with scaleforms. + -- Example: https://i.imgur.com/ITJt8bJ.png + ["SET_WARNING_MESSAGE_WITH_HEADER"]=--[[void]] function(--[[string]] entryHeader,--[[string]] entryLine1,--[[int]] instructionalKey,--[[string]] entryLine2,--[[BOOL (bool)]] p4,--[[Any (int)]] p5,--[[Any* (pointer)]] showBackground,--[[Any* (pointer)]] p7,--[[BOOL (bool)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_string(entryHeader);native_invoker.push_arg_string(entryLine1);native_invoker.push_arg_int(instructionalKey);native_invoker.push_arg_string(entryLine2);native_invoker.push_arg_bool(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_pointer(showBackground);native_invoker.push_arg_pointer(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("DC38CC1E35B6A5D7");end, + -- You can only use text entries. No custom text. + ["SET_WARNING_MESSAGE_WITH_HEADER_AND_SUBSTRING_FLAGS"]=--[[void]] function(--[[string]] entryHeader,--[[string]] entryLine1,--[[Any (int)]] instructionalKey,--[[string]] entryLine2,--[[BOOL (bool)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any* (pointer)]] p7,--[[Any* (pointer)]] p8,--[[BOOL (bool)]] p9,--[[Any (int)]] p10)native_invoker.begin_call();native_invoker.push_arg_string(entryHeader);native_invoker.push_arg_string(entryLine1);native_invoker.push_arg_int(instructionalKey);native_invoker.push_arg_string(entryLine2);native_invoker.push_arg_bool(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_pointer(p7);native_invoker.push_arg_pointer(p8);native_invoker.push_arg_bool(p9);native_invoker.push_arg_int(p10);native_invoker.end_call("701919482C74B5AB");end, + ["_SET_WARNING_MESSAGE_WITH_HEADER_UNK"]=--[[void]] function(--[[string]] entryHeader,--[[string]] entryLine1,--[[int]] flags,--[[string]] entryLine2,--[[BOOL (bool)]] p4,--[[Any (int)]] p5,--[[Any* (pointer)]] p6,--[[Any* (pointer)]] p7,--[[BOOL (bool)]] showBg,--[[Any (int)]] p9,--[[Any (int)]] p10)native_invoker.begin_call();native_invoker.push_arg_string(entryHeader);native_invoker.push_arg_string(entryLine1);native_invoker.push_arg_int(flags);native_invoker.push_arg_string(entryLine2);native_invoker.push_arg_bool(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_pointer(p6);native_invoker.push_arg_pointer(p7);native_invoker.push_arg_bool(showBg);native_invoker.push_arg_int(p9);native_invoker.push_arg_int(p10);native_invoker.end_call("38B55259C2E078ED");end, + -- labelTitle: Label of the alert's title. + -- labelMsg: Label of the alert's message. + -- p2: This is an enum, check the description for a list. + -- p3: This is an enum, check the description for a list. + -- labelMsg2: Label of another message line + -- p5: usually 0 + -- p6: usually -1 + -- p7: usually 0 + -- p8: unknown label + -- p9: unknown label + -- background: Set to anything other than 0 or false (even any string) and it will draw a background. Setting it to 0 or false will draw no background. + -- errorCode: Error code, shown at the bottom left if set to value other than 0. + -- + -- instructionalKey enum list: + -- Buttons = { + -- Empty = 0, + -- Select = 1, -- (RETURN) + -- Ok = 2, -- (RETURN) + -- Yes = 4, -- (RETURN) + -- Back = 8, -- (ESC) + -- Cancel = 16, -- (ESC) + -- No = 32, -- (ESC) + -- RetrySpace = 64, -- (SPACE) + -- Restart = 128, -- (SPACE) + -- Skip = 256, -- (SPACE) + -- Quit = 512, -- (ESC) + -- Adjust = 1024, -- (ARROWS) + -- SpaceKey = 2048, -- (SPACE) + -- Share = 4096, -- (SPACE) + -- SignIn = 8192, -- (SPACE) + -- Continue = 16384, -- (RETURN) + -- AdjustLeftRight = 32768, -- (SCROLL L/R) + -- AdjustUpDown = 65536, -- (SCROLL U/D) + -- Overwrite = 131072, -- (SPACE) + -- SocialClubSignup = 262144, -- (RETURN) + -- Confirm = 524288, -- (RETURN) + -- Queue = 1048576, -- (RETURN) + -- RetryReturn = 2097152, -- (RETURN) + -- BackEsc = 4194304, -- (ESC) + -- SocialClub = 8388608, -- (RETURN) + -- Spectate = 16777216, -- (SPACE) + -- OkEsc = 33554432, -- (ESC) + -- CancelTransfer = 67108864, -- (ESC) + -- LoadingSpinner = 134217728, + -- NoReturnToGTA = 268435456, -- (ESC) + -- CancelEsc = 536870912, -- (ESC) + -- } + -- + -- Alt = { + -- Empty = 0, + -- No = 1, -- (SPACE) + -- Host = 2, -- (ESC) + -- SearchForJob = 4, -- (RETURN) + -- ReturnKey = 8, -- (TURN) + -- Freemode = 16, -- (ESC) + -- } + -- + -- Example: https://i.imgur.com/TvmNF4k.png + ["_SET_WARNING_MESSAGE_WITH_ALERT"]=--[[void]] function(--[[string]] labelTitle,--[[string]] labelMessage,--[[int]] p2,--[[int]] p3,--[[string]] labelMessage2,--[[BOOL (bool)]] p5,--[[int]] p6,--[[int]] p7,--[[string]] p8,--[[string]] p9,--[[BOOL (bool)]] background,--[[int]] errorCode)native_invoker.begin_call();native_invoker.push_arg_string(labelTitle);native_invoker.push_arg_string(labelMessage);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_string(labelMessage2);native_invoker.push_arg_bool(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_string(p8);native_invoker.push_arg_string(p9);native_invoker.push_arg_bool(background);native_invoker.push_arg_int(errorCode);native_invoker.end_call("15803FEC3B9A872B");end, + -- Has to do with the confirmation overlay (E.g. confirm exit) + ["_GET_WARNING_MESSAGE_TITLE_HASH"]=--[[Hash (int)]] function()native_invoker.begin_call();native_invoker.end_call("81DF9ABA6C83DFF9");return native_invoker.get_return_value_int();end, + -- Some sort of list displayed in a warning message. Yet unknown how to prevent repeating. + -- Param names copied from the corresponding scaleform function "SET_LIST_ROW". + -- Example: https://i.imgur.com/arKvOYx.png + ["_SET_WARNING_MESSAGE_LIST_ROW"]=--[[BOOL (bool)]] function(--[[int]] index,--[[string]] name,--[[int]] cash,--[[int]] rp,--[[int]] lvl,--[[int]] colour)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_string(name);native_invoker.push_arg_int(cash);native_invoker.push_arg_int(rp);native_invoker.push_arg_int(lvl);native_invoker.push_arg_int(colour);native_invoker.end_call("0C5A80A9E096D529");return native_invoker.get_return_value_bool();end, + ["_0xDAF87174BE7454FF"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DAF87174BE7454FF");return native_invoker.get_return_value_bool();end, + ["_REMOVE_WARNING_MESSAGE_LIST_ITEMS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6EF54AB721DC6242");end, + ["IS_WARNING_MESSAGE_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("E18B138FABC53103");return native_invoker.get_return_value_bool();end, + ["CLEAR_DYNAMIC_PAUSE_MENU_ERROR_MESSAGE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("7792424AA0EAC32E");end, + -- If toggle is true, the map is shown in full screen + -- If toggle is false, the map is shown in normal mode + ["_RACE_GALLERY_FULLSCREEN"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("5354C5BA2EA868A4");end, + -- Sets the sprite of the next BLIP_GALLERY blip, values used in the native scripts: 143 (ObjectiveBlue), 144 (ObjectiveGreen), 145 (ObjectiveRed), 146 (ObjectiveYellow). + ["_RACE_GALLERY_NEXT_BLIP_SPRITE"]=--[[void]] function(--[[int]] spriteId)native_invoker.begin_call();native_invoker.push_arg_int(spriteId);native_invoker.end_call("1EAE6DD17B7A5EFA");end, + -- Add a BLIP_GALLERY at the specific coordinate. Used in fm_maintain_transition_players to display race track points. + ["_RACE_GALLERY_ADD_BLIP"]=--[[Any (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("551DF99658DB6EE8");return native_invoker.get_return_value_int();end, + ["_CLEAR_RACE_GALLERY_BLIPS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2708FC083123F9FF");end, + -- Doesn't actually return anything. + ["FORCE_SONAR_BLIPS_THIS_FRAME"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("1121BFA1A1A522A8");return native_invoker.get_return_value_int();end, + ["_GET_NORTH_RADAR_BLIP"]=--[[Blip (int)]] function()native_invoker.begin_call();native_invoker.end_call("3F0CF9CB7E589B88");return native_invoker.get_return_value_int();end, + -- Toggles whether or not name labels are shown on the expanded minimap next to player blips, like in GTA:O. + -- Doesn't need to be called every frame. + -- Preview: https://i.imgur.com/DfqKWfJ.png + -- + -- Make sure to call SET_BLIP_CATEGORY with index 7 for this to work on the desired blip. + ["DISPLAY_PLAYER_NAME_TAGS_ON_BLIPS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("82CEDC33687E1F50");end, + -- This native does absolutely nothing, just a nullsub + ["_0x211C4EF450086857"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("211C4EF450086857");end, + ["_0xBF4F34A85CA2970C"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("BF4F34A85CA2970C");end, + -- Does stuff like this: + -- gyazo.com/7fcb78ea3520e3dbc5b2c0c0f3712617 + -- + -- Example: + -- int GetHash = GET_HASH_KEY("fe_menu_version_corona_lobby"); + -- ACTIVATE_FRONTEND_MENU(GetHash, 0, -1); + -- + -- BOOL p1 is a toggle to define the game in pause. + -- int p2 is unknown but -1 always works, not sure why though. + -- + -- [30/03/2017] ins1de : + -- + -- the int p2 is actually a component variable. When the pause menu is visible, it opens the tab related to it. + -- + -- Example : Function.Call(Hash.ACTIVATE_FRONTEND_MENU,-1171018317, 0, 42); + -- Result : Opens the "Online" tab without pausing the menu, with -1 it opens the map.Below is a list of all known Frontend Menu Hashes. + -- - FE_MENU_VERSION_SP_PAUSE + -- - FE_MENU_VERSION_MP_PAUSE + -- - FE_MENU_VERSION_CREATOR_PAUSE + -- - FE_MENU_VERSION_CUTSCENE_PAUSE + -- - FE_MENU_VERSION_SAVEGAME + -- - FE_MENU_VERSION_PRE_LOBBY + -- - FE_MENU_VERSION_LOBBY + -- - FE_MENU_VERSION_MP_CHARACTER_SELECT + -- - FE_MENU_VERSION_MP_CHARACTER_CREATION + -- - FE_MENU_VERSION_EMPTY + -- - FE_MENU_VERSION_EMPTY_NO_BACKGROUND + -- - FE_MENU_VERSION_TEXT_SELECTION + -- - FE_MENU_VERSION_CORONA + -- - FE_MENU_VERSION_CORONA_LOBBY + -- - FE_MENU_VERSION_CORONA_JOINED_PLAYERS + -- - FE_MENU_VERSION_CORONA_INVITE_PLAYERS + -- - FE_MENU_VERSION_CORONA_INVITE_FRIENDS + -- - FE_MENU_VERSION_CORONA_INVITE_CREWS + -- - FE_MENU_VERSION_CORONA_INVITE_MATCHED_PLAYERS + -- - FE_MENU_VERSION_CORONA_INVITE_LAST_JOB_PLAYERS + -- - FE_MENU_VERSION_CORONA_RACE + -- - FE_MENU_VERSION_CORONA_BETTING + -- - FE_MENU_VERSION_JOINING_SCREEN + -- - FE_MENU_VERSION_LANDING_MENU + -- - FE_MENU_VERSION_LANDING_KEYMAPPING_MENU + ["ACTIVATE_FRONTEND_MENU"]=--[[void]] function(--[[Hash (int)]] menuhash,--[[BOOL (bool)]] togglePause,--[[int]] component)native_invoker.begin_call();native_invoker.push_arg_int(menuhash);native_invoker.push_arg_bool(togglePause);native_invoker.push_arg_int(component);native_invoker.end_call("EF01D36B9C9D0C7B");end, + -- Before using this native click the native above and look at the decription. + -- + -- Example: + -- int GetHash = Function.Call(Hash.GET_HASH_KEY, "fe_menu_version_corona_lobby"); + -- Function.Call(Hash.ACTIVATE_FRONTEND_MENU, GetHash, 0, -1); + -- Function.Call(Hash.RESTART_FRONTEND_MENU(GetHash, -1); + -- + -- This native refreshes the frontend menu. + -- + -- p1 = Hash of Menu + -- p2 = Unknown but always works with -1. + ["RESTART_FRONTEND_MENU"]=--[[void]] function(--[[Hash (int)]] menuHash,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(menuHash);native_invoker.push_arg_int(p1);native_invoker.end_call("10706DC6AD2D49C0");end, + -- if (HUD::GET_CURRENT_FRONTEND_MENU_VERSION() == joaat("fe_menu_version_empty_no_background")) + ["GET_CURRENT_FRONTEND_MENU_VERSION"]=--[[Hash (int)]] function()native_invoker.begin_call();native_invoker.end_call("2309595AD6145265");return native_invoker.get_return_value_int();end, + ["SET_PAUSE_MENU_ACTIVE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("DF47FC56C71569CF");end, + ["DISABLE_FRONTEND_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6D3465A73092F0E6");end, + ["SUPPRESS_FRONTEND_RENDERING_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("BA751764F0821256");end, + -- Allows opening the pause menu this frame, when the player is dead. + ["_ALLOW_PAUSE_MENU_WHEN_DEAD_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("CC3FDDED67BCFC63");end, + ["SET_FRONTEND_ACTIVE"]=--[[void]] function(--[[BOOL (bool)]] active)native_invoker.begin_call();native_invoker.push_arg_bool(active);native_invoker.end_call("745711A75AB09277");end, + ["IS_PAUSE_MENU_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B0034A223497FFCB");return native_invoker.get_return_value_bool();end, + -- Returns something related to the store. + -- + -- IS_S* + -- + -- IS_STORE_EXIT_PURCHASE_CAPABILITY_ACTIVATED ? + ["_0x2F057596F2BD0061"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("2F057596F2BD0061");return native_invoker.get_return_value_bool();end, + -- Returns: + -- + -- 0 + -- 5 + -- 10 + -- 15 + -- 20 + -- 25 + -- 30 + -- 35 + -- + ["GET_PAUSE_MENU_STATE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("272ACD84970869C5");return native_invoker.get_return_value_int();end, + -- GET_PAUSE_MENU_* + ["_0x5BFF36D6ED83E0AE"]=--[[Vector3 (vector3)]] function()native_invoker.begin_call();native_invoker.end_call("5BFF36D6ED83E0AE");return native_invoker.get_return_value_vector3();end, + ["IS_PAUSE_MENU_RESTARTING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("1C491717107431C7");return native_invoker.get_return_value_bool();end, + -- Not present in retail version of the game, actual definiton seems to be + -- _LOG_DEBUG_INFO(const char* category, const char* debugText); + ["_LOG_DEBUG_INFO"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("2162C446DFDF38FD");end, + ["_0x77F16B447824DA6C"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("77F16B447824DA6C");end, + ["_0xCDCA26E80FAECB8F"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("CDCA26E80FAECB8F");end, + ["_0x2DE6C5E2E996F178"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2DE6C5E2E996F178");end, + -- Activates the specified frontend menu context. + -- pausemenu.xml defines some specific menu options using 'context'. Context is basically a 'condition'. + -- The `*ALL*` part of the context means that whatever is being defined, will be active when any or all of those conditions after `*ALL*` are met. + -- The `*NONE*` part of the context section means that whatever is being defined, will NOT be active if any or all of the conditions after `*NONE*` are met. + -- This basically allows you to hide certain menu sections, or things like instructional buttons. + ["PAUSE_MENU_ACTIVATE_CONTEXT"]=--[[void]] function(--[[Hash (int)]] contextHash)native_invoker.begin_call();native_invoker.push_arg_int(contextHash);native_invoker.end_call("DD564BDD0472C936");end, + ["PAUSE_MENU_DEACTIVATE_CONTEXT"]=--[[void]] function(--[[Hash (int)]] contextHash)native_invoker.begin_call();native_invoker.push_arg_int(contextHash);native_invoker.end_call("444D8CF241EC25C5");end, + ["PAUSE_MENU_IS_CONTEXT_ACTIVE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] contextHash)native_invoker.begin_call();native_invoker.push_arg_int(contextHash);native_invoker.end_call("84698AB38D0C6636");return native_invoker.get_return_value_bool();end, + ["_0x2A25ADC48F87841F"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("2A25ADC48F87841F");return native_invoker.get_return_value_int();end, + ["_0xDE03620F8703A9DF"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("DE03620F8703A9DF");return native_invoker.get_return_value_int();end, + ["_0x359AF31A4B52F5ED"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("359AF31A4B52F5ED");return native_invoker.get_return_value_int();end, + ["_0x13C4B962653A5280"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("13C4B962653A5280");return native_invoker.get_return_value_int();end, + ["_0xC8E1071177A23BE5"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("C8E1071177A23BE5");return native_invoker.get_return_value_bool();end, + ["_0x4895BDEA16E7C080"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("4895BDEA16E7C080");end, + ["_0xC78E239AC5B2DDB9"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("C78E239AC5B2DDB9");end, + ["_0xF06EBB91A81E09E3"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("F06EBB91A81E09E3");end, + ["IS_FRONTEND_READY_FOR_CONTROL"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("3BAB9A4E4F2FF5C7");return native_invoker.get_return_value_bool();end, + -- Disables frontend (works in custom frontends, not sure about regular pause menu) navigation keys on keyboard. Not sure about controller. Does not disable mouse controls. No need to call this every tick. + -- + -- To enable the keys again, use `0x14621BB1DF14E2B2`. + ["_0xEC9264727EEC0F28"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EC9264727EEC0F28");end, + -- Enables frontend (works in custom frontends, not sure about regular pause menu) navigation keys on keyboard if they were disabled using the native below. + -- To disable the keys, use `0xEC9264727EEC0F28` + ["_0x14621BB1DF14E2B2"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("14621BB1DF14E2B2");end, + ["_0x66E7CB63C97B7D20"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("66E7CB63C97B7D20");return native_invoker.get_return_value_int();end, + ["_0x593FEAE1F73392D4"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("593FEAE1F73392D4");return native_invoker.get_return_value_int();end, + ["_0x4E3CD0EF8A489541"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("4E3CD0EF8A489541");return native_invoker.get_return_value_int();end, + ["_0xF284AC67940C6812"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("F284AC67940C6812");return native_invoker.get_return_value_int();end, + -- Returns true when the menu state(?) changed this frame. + -- HAS_*? _GET_MENU_STATE_CHANGED_THIS_FRAME? + ["_0x2E22FEFA0100275E"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("2E22FEFA0100275E");return native_invoker.get_return_value_bool();end, + ["_0x0CF54F20DE43879C"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("0CF54F20DE43879C");end, + ["_GET_PAUSE_MENU_SELECTION"]=--[[void]] function(--[[int* (pointer)]] lastItemMenuId,--[[int* (pointer)]] selectedItemUniqueId)native_invoker.begin_call();native_invoker.push_arg_pointer(lastItemMenuId);native_invoker.push_arg_pointer(selectedItemUniqueId);native_invoker.end_call("36C1451A88A09630");end, + -- lastItemMenuId: this is the menuID of the last selected item minus 1000 (lastItem.menuID - 1000) + -- selectedItemMenuId: same as lastItemMenuId except for the currently selected menu item + -- selectedItemUniqueId: this is uniqueID of the currently selected menu item + -- + -- when the pausemenu is closed: + -- lastItemMenuId = -1 + -- selectedItemMenuId = -1 + -- selectedItemUniqueId = 0 + -- + -- when the header gains focus: + -- lastItemMenuId updates as normal or 0 if the pausemenu was just opened + -- selectedItemMenuId becomes a unique id for the pausemenu page that focus was taken from (?) or 0 if the pausemenu was just opened + -- selectedItemUniqueId = -1 + -- + -- when focus is moved from the header to a pausemenu page: + -- lastItemMenuId becomes a unique id for the pausemenu page that focus was moved to (?) + -- selectedItemMenuId = -1 + -- selectedItemUniqueId updates as normal + ["_GET_PAUSE_MENU_SELECTION_DATA"]=--[[void]] function(--[[int* (pointer)]] lastItemMenuId,--[[int* (pointer)]] selectedItemMenuId,--[[int* (pointer)]] selectedItemUniqueId)native_invoker.begin_call();native_invoker.push_arg_pointer(lastItemMenuId);native_invoker.push_arg_pointer(selectedItemMenuId);native_invoker.push_arg_pointer(selectedItemUniqueId);native_invoker.end_call("7E17BE53E1AAABAF");end, + ["_0xA238192F33110615"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] p0,--[[int* (pointer)]] p1,--[[int* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("A238192F33110615");return native_invoker.get_return_value_bool();end, + ["_0xEF4CED81CEBEDC6D"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("EF4CED81CEBEDC6D");return native_invoker.get_return_value_bool();end, + ["_0xCA6B2F7CE32AB653"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("CA6B2F7CE32AB653");return native_invoker.get_return_value_bool();end, + ["_0x90A6526CF0381030"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("90A6526CF0381030");return native_invoker.get_return_value_bool();end, + ["_0x24A49BEAF468DC90"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("24A49BEAF468DC90");return native_invoker.get_return_value_bool();end, + ["_0x5FBD7095FE7AE57F"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[float* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("5FBD7095FE7AE57F");return native_invoker.get_return_value_bool();end, + ["_0x8F08017F9D7C47BD"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("8F08017F9D7C47BD");return native_invoker.get_return_value_bool();end, + -- p0 was always 0xAE2602A3. + ["_0x052991E59076E4E4"]=--[[BOOL (bool)]] function(--[[Hash (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("052991E59076E4E4");return native_invoker.get_return_value_bool();end, + ["CLEAR_PED_IN_PAUSE_MENU"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5E62BE5DC58E9E06");end, + -- p1 is either 1 or 2 in the PC scripts. + ["GIVE_PED_TO_PAUSE_MENU"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("AC0BFBDC3BE00E14");end, + -- Toggles the light state for the pause menu ped in frontend menus. + -- + -- This is used by R* in combination with `SET_PAUSE_MENU_PED_SLEEP_STATE` to toggle the "offline" or "online" state in the "friends" tab of the pause menu in GTA Online. + -- + -- + -- Example: + -- Lights On: https://vespura.com/hi/i/2019-04-01_16-09_540ee_1015.png + -- Lights Off: https://vespura.com/hi/i/2019-04-01_16-10_8b5e7_1016.png + ["SET_PAUSE_MENU_PED_LIGHTING"]=--[[void]] function(--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_bool(state);native_invoker.end_call("3CA6050692BC61B0");end, + -- Toggles the pause menu ped sleep state for frontend menus. + -- + -- Example: https://vespura.com/hi/i/2019-04-01_15-51_8ed38_1014.gif + -- + -- `state` 0 will make the ped slowly fall asleep, 1 will slowly wake the ped up. + ["SET_PAUSE_MENU_PED_SLEEP_STATE"]=--[[void]] function(--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_bool(state);native_invoker.end_call("ECF128344E9FF9F1");end, + ["OPEN_ONLINE_POLICIES_MENU"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("805D7CBB36FD6C4C");end, + ["_0xF13FE2A80C05C561"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("F13FE2A80C05C561");return native_invoker.get_return_value_bool();end, + -- Returns the same as IS_SOCIAL_CLUB_ACTIVE + ["IS_ONLINE_POLICIES_MENU_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("6F72CD94F7B5B68C");return native_invoker.get_return_value_bool();end, + -- Uses the `SOCIAL_CLUB2` scaleform. + ["OPEN_SOCIAL_CLUB_MENU"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("75D3691713C3B05A");end, + ["CLOSE_SOCIAL_CLUB_MENU"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D2B32BE3FC1626C6");end, + -- HUD::SET_SOCIAL_CLUB_TOUR("Gallery"); + -- HUD::SET_SOCIAL_CLUB_TOUR("Missions"); + -- HUD::SET_SOCIAL_CLUB_TOUR("General"); + -- HUD::SET_SOCIAL_CLUB_TOUR("Playlists"); + ["SET_SOCIAL_CLUB_TOUR"]=--[[void]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("9E778248D6685FE0");end, + ["IS_SOCIAL_CLUB_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C406BE343FC4B9AF");return native_invoker.get_return_value_bool();end, + -- SET_TEXT_??? - Used in golf and golf_mp + ["_0x1185A8087587322C"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("1185A8087587322C");end, + ["_FORCE_CLOSE_TEXT_INPUT_BOX"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("8817605C2BA76200");end, + ["_0x577599CCED639CA2"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("577599CCED639CA2");end, + ["_OVERRIDE_MULTIPLAYER_CHAT_PREFIX"]=--[[void]] function(--[[Hash (int)]] gxtEntryHash)native_invoker.begin_call();native_invoker.push_arg_int(gxtEntryHash);native_invoker.end_call("6A1738B4323FE2D9");end, + -- Returns whether or not the text chat (MULTIPLAYER_CHAT Scaleform component) is active. + ["_IS_MULTIPLAYER_CHAT_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B118AF58B5F332A1");return native_invoker.get_return_value_bool();end, + ["_CLOSE_MULTIPLAYER_CHAT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1AC8F4AD40E22127");end, + ["_0x7C226D5346D4D10A"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7C226D5346D4D10A");end, + ["_OVERRIDE_MULTIPLAYER_CHAT_COLOUR"]=--[[void]] function(--[[int]] p0,--[[int]] hudColor)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(hudColor);native_invoker.end_call("F47E567B3630DD12");end, + -- Sets an unknown boolean value in the text chat. + ["_SET_TEXT_CHAT_UNK"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("1DB21A44B09E8BA3");end, + ["FLAG_PLAYER_CONTEXT_IN_TOURNAMENT"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("CEF214315D276FD1");end, + -- This native turns on the AI blip on the specified ped. It also disappears automatically when the ped is too far or if the ped is dead. You don't need to control it with other natives. + -- + -- See gtaforums.com/topic/884370-native-research-ai-blips for further information. + ["SET_PED_HAS_AI_BLIP"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] hasCone)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(hasCone);native_invoker.end_call("D30C50DF888D58B5");end, + -- color: see SET_BLIP_COLOUR + ["_SET_PED_HAS_AI_BLIP_WITH_COLOR"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] hasCone,--[[int]] color)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(hasCone);native_invoker.push_arg_int(color);native_invoker.end_call("B13DCB4C6FAAD238");end, + ["DOES_PED_HAVE_AI_BLIP"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("15B8ECF844EE67ED");return native_invoker.get_return_value_bool();end, + ["SET_PED_AI_BLIP_GANG_ID"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] gangId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(gangId);native_invoker.end_call("E52B8E7F85D39A08");end, + ["SET_PED_AI_BLIP_HAS_CONE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("3EED80DFF7325CAA");end, + ["SET_PED_AI_BLIP_FORCED_ON"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("0C4BBF625CA98C4E");end, + ["SET_PED_AI_BLIP_NOTICE_RANGE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] range)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(range);native_invoker.end_call("97C65887D4B37FA9");end, + ["_SET_PED_AI_BLIP_SPRITE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] spriteId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(spriteId);native_invoker.end_call("FCFACD0DB9D7A57D");end, + ["_GET_AI_BLIP_2"]=--[[Blip (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("7CD934010E115C2C");return native_invoker.get_return_value_int();end, + -- Returns the current AI BLIP for the specified ped + ["_GET_AI_BLIP"]=--[[Blip (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("56176892826A4FE8");return native_invoker.get_return_value_int();end, + -- HAS_* + ["_HAS_DIRECTOR_MODE_BEEN_TRIGGERED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A277800A9EAE340E");return native_invoker.get_return_value_bool();end, + -- SET_* + ["_SET_DIRECTOR_MODE_CLEAR_TRIGGERED_FLAG"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2632482FD6B9AB87");end, + -- If toggle is true, hides special ability bar / character name in the pause menu + -- If toggle is false, shows special ability bar / character name in the pause menu + -- + -- SET_PLAYER_* + ["_SET_PLAYER_IS_IN_DIRECTOR_MODE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("808519373FD336A3");end, + -- SET_* + ["_0x04655F9D075D0AE5"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("04655F9D075D0AE5");end, + ["_0x243296A510B562B6"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("243296A510B562B6");end, +} +INTERIOR={ + -- GET_INTERIOR_* + ["_GET_INTERIOR_HEADING"]=--[[float]] function(--[[Interior (int)]] interior)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.end_call("F49B58631D9E22D9");return native_invoker.get_return_value_float();end, + -- GET_INTERIOR_* + ["_GET_INTERIOR_INFO"]=--[[void]] function(--[[Interior (int)]] interior,--[[Vector3* (pointer)]] position,--[[Hash* (pointer)]] nameHash)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.push_arg_pointer(position);native_invoker.push_arg_pointer(nameHash);native_invoker.end_call("252BDC06B73FA6EA");end, + -- Returns the group ID of the specified interior. For example, regular interiors have group 0, subway interiors have group 1. There are a few other groups too. + ["GET_INTERIOR_GROUP_ID"]=--[[int]] function(--[[Interior (int)]] interior)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.end_call("E4A84ABF135EF91A");return native_invoker.get_return_value_int();end, + ["GET_OFFSET_FROM_INTERIOR_IN_WORLD_COORDS"]=--[[Vector3 (vector3)]] function(--[[Interior (int)]] interior,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("9E3B3E6D66F6E22F");return native_invoker.get_return_value_vector3();end, + ["IS_INTERIOR_SCENE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("BC72B5D7A1CBD54D");return native_invoker.get_return_value_bool();end, + ["IS_VALID_INTERIOR"]=--[[BOOL (bool)]] function(--[[Interior (int)]] interior)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.end_call("26B0E73D7EAAF4D3");return native_invoker.get_return_value_bool();end, + ["CLEAR_ROOM_FOR_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("B365FC0C4E27FFA7");end, + -- Does anyone know what this does? I know online modding isn't generally supported especially by the owner of this db, but I first thought this could be used to force ourselves into someones apartment, but I see now that isn't possible. + ["FORCE_ROOM_FOR_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[Interior (int)]] interior,--[[Hash (int)]] roomHashKey)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(interior);native_invoker.push_arg_int(roomHashKey);native_invoker.end_call("52923C4710DD9907");end, + -- Gets the room hash key from the room that the specified entity is in. Each room in every interior has a unique key. Returns 0 if the entity is outside. + ["GET_ROOM_KEY_FROM_ENTITY"]=--[[Hash (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("47C2A06D4F5F424B");return native_invoker.get_return_value_int();end, + -- Seems to do the exact same as INTERIOR::GET_ROOM_KEY_FROM_ENTITY + ["GET_KEY_FOR_ENTITY_IN_ROOM"]=--[[Hash (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("399685DB942336BC");return native_invoker.get_return_value_int();end, + -- Returns the handle of the interior that the entity is in. Returns 0 if outside. + ["GET_INTERIOR_FROM_ENTITY"]=--[[Interior (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("2107BA504071A6BB");return native_invoker.get_return_value_int();end, + ["_0x82EBB79E258FA2B7"]=--[[void]] function(--[[Entity (int)]] entity,--[[Interior (int)]] interior)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(interior);native_invoker.end_call("82EBB79E258FA2B7");end, + -- Immediately removes entity from an interior. Like sets entity to `limbo` room. + ["_CLEAR_INTERIOR_FOR_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("85D5422B2039A70D");end, + ["_0x38C1CB1CB119A016"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("38C1CB1CB119A016");end, + ["FORCE_ROOM_FOR_GAME_VIEWPORT"]=--[[void]] function(--[[int]] interiorID,--[[Hash (int)]] roomHashKey)native_invoker.begin_call();native_invoker.push_arg_int(interiorID);native_invoker.push_arg_int(roomHashKey);native_invoker.end_call("920D853F3E17F1DA");end, + -- Exemple of use(carmod_shop.c4) + -- INTERIOR::_AF348AFCB575A441("V_CarModRoom"); + ["_0xAF348AFCB575A441"]=--[[void]] function(--[[string]] roomName)native_invoker.begin_call();native_invoker.push_arg_string(roomName);native_invoker.end_call("AF348AFCB575A441");end, + -- Usage: INTERIOR::_0x405DC2AEF6AF95B9(INTERIOR::GET_KEY_FOR_ENTITY_IN_ROOM(PLAYER::PLAYER_PED_ID())); + ["_0x405DC2AEF6AF95B9"]=--[[void]] function(--[[Hash (int)]] roomHashKey)native_invoker.begin_call();native_invoker.push_arg_int(roomHashKey);native_invoker.end_call("405DC2AEF6AF95B9");end, + ["GET_ROOM_KEY_FOR_GAME_VIEWPORT"]=--[[Hash (int)]] function()native_invoker.begin_call();native_invoker.end_call("A6575914D2A0B450");return native_invoker.get_return_value_int();end, + ["CLEAR_ROOM_FOR_GAME_VIEWPORT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("23B59D8912F94246");end, + -- Returns the current interior id from gameplay camera + ["_GET_INTERIOR_FROM_GAMEPLAY_CAM"]=--[[Interior (int)]] function()native_invoker.begin_call();native_invoker.end_call("E7D267EC6CA966C3");return native_invoker.get_return_value_int();end, + -- Returns interior ID from specified coordinates. If coordinates are outside, then it returns 0. + -- + -- Example for VB.NET + -- Dim interiorID As Integer = Native.Function.Call(Of Integer)(Hash.GET_INTERIOR_AT_COORDS, X, Y, Z) + ["GET_INTERIOR_AT_COORDS"]=--[[Interior (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("B0F7F8663821D9C3");return native_invoker.get_return_value_int();end, + ["ADD_PICKUP_TO_INTERIOR_ROOM_BY_NAME"]=--[[void]] function(--[[Pickup (int)]] pickup,--[[string]] roomName)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.push_arg_string(roomName);native_invoker.end_call("3F6167F351168730");end, + ["PIN_INTERIOR_IN_MEMORY"]=--[[void]] function(--[[Interior (int)]] interior)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.end_call("2CA429C029CCF247");end, + -- Does something similar to INTERIOR::DISABLE_INTERIOR. + -- + -- You don't fall through the floor but everything is invisible inside and looks the same as when INTERIOR::DISABLE_INTERIOR is used. Peds behaves normally inside. + ["UNPIN_INTERIOR"]=--[[void]] function(--[[Interior (int)]] interior)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.end_call("261CCE7EED010641");end, + ["IS_INTERIOR_READY"]=--[[BOOL (bool)]] function(--[[Interior (int)]] interior)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.end_call("6726BDCCC1932F0E");return native_invoker.get_return_value_bool();end, + -- Only used once in the entire game scripts. + -- Does not actually return anything. + ["_0x4C2330E61D3DEB56"]=--[[Any (int)]] function(--[[Interior (int)]] interior)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.end_call("4C2330E61D3DEB56");return native_invoker.get_return_value_int();end, + -- Returns the interior ID representing the requested interior at that location (if found?). The supplied interior string is not the same as the one used to load the interior. + -- + -- Use: INTERIOR::UNPIN_INTERIOR(INTERIOR::GET_INTERIOR_AT_COORDS_WITH_TYPE(x, y, z, interior)) + -- + -- Interior types include: "V_Michael", "V_Franklins", "V_Franklinshouse", etc.. you can find them in the scripts. + -- + -- Not a very useful native as you could just use GET_INTERIOR_AT_COORDS instead and get the same result, without even having to specify the interior type. + ["GET_INTERIOR_AT_COORDS_WITH_TYPE"]=--[[Interior (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[string]] interiorType)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_string(interiorType);native_invoker.end_call("05B7A89BD78797FC");return native_invoker.get_return_value_int();end, + -- Hashed version of GET_INTERIOR_AT_COORDS_WITH_TYPE + ["GET_INTERIOR_AT_COORDS_WITH_TYPEHASH"]=--[[Interior (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[Hash (int)]] typeHash)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(typeHash);native_invoker.end_call("F0F77ADB9F67E79D");return native_invoker.get_return_value_int();end, + ["_0x483ACA1176CA93F1"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("483ACA1176CA93F1");end, + -- Returns true if the collision at the specified coords is marked as being outside (false if there's an interior) + ["IS_COLLISION_MARKED_OUTSIDE"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("EEA5AC2EDA7C33E8");return native_invoker.get_return_value_bool();end, + ["GET_INTERIOR_FROM_COLLISION"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("EC4CF9FCB29A4424");return native_invoker.get_return_value_int();end, + ["_0x7ECDF98587E92DEC"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7ECDF98587E92DEC");end, + -- More info: http://gtaforums.com/topic/836367-adding-props-to-interiors/ + -- + -- Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json + ["ACTIVATE_INTERIOR_ENTITY_SET"]=--[[void]] function(--[[Interior (int)]] interior,--[[string]] entitySetName)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.push_arg_string(entitySetName);native_invoker.end_call("55E86AF2712B36A1");end, + -- Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json + ["DEACTIVATE_INTERIOR_ENTITY_SET"]=--[[void]] function(--[[Interior (int)]] interior,--[[string]] entitySetName)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.push_arg_string(entitySetName);native_invoker.end_call("420BD37289EEE162");end, + -- Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json + ["IS_INTERIOR_ENTITY_SET_ACTIVE"]=--[[BOOL (bool)]] function(--[[Interior (int)]] interior,--[[string]] entitySetName)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.push_arg_string(entitySetName);native_invoker.end_call("35F7DD45E8C0A16D");return native_invoker.get_return_value_bool();end, + -- Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json + ["_SET_INTERIOR_ENTITY_SET_COLOR"]=--[[void]] function(--[[Interior (int)]] interior,--[[string]] entitySetName,--[[int]] color)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.push_arg_string(entitySetName);native_invoker.push_arg_int(color);native_invoker.end_call("C1F1920BAF281317");end, + ["REFRESH_INTERIOR"]=--[[void]] function(--[[Interior (int)]] interior)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.end_call("41F37C3427C75AE0");end, + -- This is the native that is used to hide the exterior of GTA Online apartment buildings when you are inside an apartment. + -- + -- More info: http://gtaforums.com/topic/836301-hiding-gta-online-apartment-exteriors/ + ["ENABLE_EXTERIOR_CULL_MODEL_THIS_FRAME"]=--[[void]] function(--[[Hash (int)]] mapObjectHash)native_invoker.begin_call();native_invoker.push_arg_int(mapObjectHash);native_invoker.end_call("A97F257D0151A6AB");end, + ["_ENABLE_SCRIPT_CULL_MODEL_THIS_FRAME"]=--[[void]] function(--[[Hash (int)]] mapObjectHash)native_invoker.begin_call();native_invoker.push_arg_int(mapObjectHash);native_invoker.end_call("50C375537449F369");end, + -- Example: + -- This removes the interior from the strip club and when trying to walk inside the player just falls: + -- + -- INTERIOR::DISABLE_INTERIOR(118018, true); + ["DISABLE_INTERIOR"]=--[[void]] function(--[[Interior (int)]] interior,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.push_arg_bool(toggle);native_invoker.end_call("6170941419D7D8EC");end, + ["IS_INTERIOR_DISABLED"]=--[[BOOL (bool)]] function(--[[Interior (int)]] interior)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.end_call("BC5115A5A939DD15");return native_invoker.get_return_value_bool();end, + -- Does something similar to INTERIOR::DISABLE_INTERIOR + ["CAP_INTERIOR"]=--[[void]] function(--[[Interior (int)]] interior,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D9175F941610DB54");end, + ["IS_INTERIOR_CAPPED"]=--[[BOOL (bool)]] function(--[[Interior (int)]] interior)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.end_call("92BAC8ACF88CEC26");return native_invoker.get_return_value_bool();end, + -- DISABLE_* + ["_0x9E6542F0CE8E70A3"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("9E6542F0CE8E70A3");end, + -- Jenkins hash _might_ be 0xFC227584. + ["_0x7241CCB7D020DB69"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("7241CCB7D020DB69");end, +} +ITEMSET={ + ["CREATE_ITEMSET"]=--[[Vehicle (int)]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("35AD299F50D91B24");return native_invoker.get_return_value_int();end, + ["DESTROY_ITEMSET"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DE18220B1C183EDA");end, + ["IS_ITEMSET_VALID"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("B1B1EA596344DFAB");return native_invoker.get_return_value_bool();end, + ["ADD_TO_ITEMSET"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("E3945201F14637DD");return native_invoker.get_return_value_bool();end, + ["REMOVE_FROM_ITEMSET"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("25E68244B0177686");end, + ["GET_ITEMSET_SIZE"]=--[[Any (int)]] function(--[[ScrHandle (int)]] x)native_invoker.begin_call();native_invoker.push_arg_int(x);native_invoker.end_call("D9127E83ABF7C631");return native_invoker.get_return_value_int();end, + ["GET_INDEXED_ITEM_IN_ITEMSET"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("7A197E2521EE2BAB");return native_invoker.get_return_value_int();end, + ["IS_IN_ITEMSET"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("2D0FC594D1E9C107");return native_invoker.get_return_value_bool();end, + ["CLEAN_ITEMSET"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("41BC0D722FC04221");end, +} +LOADINGSCREEN={ + -- MulleDK19: This function is hard-coded to always return 0. + ["_0xF2CA003F167E21D2"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("F2CA003F167E21D2");return native_invoker.get_return_value_int();end, + ["_LOADINGSCREEN_GET_LOAD_FREEMODE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("EF7D17BC6C85264C");return native_invoker.get_return_value_bool();end, + ["_LOADINGSCREEN_SET_LOAD_FREEMODE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("B0C56BD3D808D863");end, + ["_LOADINGSCREEN_GET_LOAD_FREEMODE_WITH_EVENT_NAME"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("8AA464D4E0F6ACCD");return native_invoker.get_return_value_bool();end, + ["_LOADINGSCREEN_SET_LOAD_FREEMODE_WITH_EVENT_NAME"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("FC309E94546FCDB5");end, + ["_LOADINGSCREEN_IS_LOADING_FREEMODE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C6DC823253FBB366");return native_invoker.get_return_value_bool();end, + ["_LOADINGSCREEN_SET_IS_LOADING_FREEMODE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("C7E7181C09F33B69");end, + ["_0xFA1E0E893D915215"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("FA1E0E893D915215");end, +} +LOCALIZATION={ + -- Same return values as GET_CURRENT_LANGUAGE + ["_LOCALIZATION_GET_SYSTEM_LANGUAGE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("497420E022796B3F");return native_invoker.get_return_value_int();end, + -- 0 = american (en-US) + -- 1 = french (fr-FR) + -- 2 = german (de-DE) + -- 3 = italian (it-IT) + -- 4 = spanish (es-ES) + -- 5 = brazilian (pt-BR) + -- 6 = polish (pl-PL) + -- 7 = russian (ru-RU) + -- 8 = korean (ko-KR) + -- 9 = chinesetrad (zh-TW) + -- 10 = japanese (ja-JP) + -- 11 = mexican (es-MX) + -- 12 = chinesesimp (zh-CN) + ["GET_CURRENT_LANGUAGE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("2BDD44CC428A7EAE");return native_invoker.get_return_value_int();end, + -- Possible return values: 0, 1, 2 + ["_LOCALIZATION_GET_SYSTEM_DATE_FORMAT"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("A8AE43AEC1A61314");return native_invoker.get_return_value_int();end, +} +MISC={ + ["GET_ALLOCATED_STACK_SIZE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("8B3CA62B1EF19B62");return native_invoker.get_return_value_int();end, + ["GET_NUMBER_OF_FREE_STACKS_OF_THIS_SIZE"]=--[[int]] function(--[[int]] stackSize)native_invoker.begin_call();native_invoker.push_arg_int(stackSize);native_invoker.end_call("FEAD16FC8F9DFC0F");return native_invoker.get_return_value_int();end, + ["SET_RANDOM_SEED"]=--[[void]] function(--[[int]] seed)native_invoker.begin_call();native_invoker.push_arg_int(seed);native_invoker.end_call("444D98F98C11F3EC");end, + -- Maximum value is 1. + -- At a value of 0 the game will still run at a minimum time scale. + -- + -- Slow Motion 1: 0.6 + -- Slow Motion 2: 0.4 + -- Slow Motion 3: 0.2 + ["SET_TIME_SCALE"]=--[[void]] function(--[[float]] timeScale)native_invoker.begin_call();native_invoker.push_arg_float(timeScale);native_invoker.end_call("1D408577D440E81E");end, + -- If true, the player can't save the game. + -- + -- + -- If the parameter is true, sets the mission flag to true, if the parameter is false, the function does nothing at all. + -- + -- ^ also, if the mission flag is already set, the function does nothing at all + ["SET_MISSION_FLAG"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("C4301E5121A0ED73");end, + ["GET_MISSION_FLAG"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A33CDCCDA663159E");return native_invoker.get_return_value_bool();end, + -- If the parameter is true, sets the random event flag to true, if the parameter is false, the function does nothing at all. + -- Does nothing if the mission flag is set. + ["SET_RANDOM_EVENT_FLAG"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("971927086CFD2158");end, + ["GET_RANDOM_EVENT_FLAG"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D2D57F1D764117B1");return native_invoker.get_return_value_bool();end, + -- Returns pointer to an empty string. + -- + -- GET_C* + ["_GET_GLOBAL_CHAR_BUFFER"]=--[[string]] function()native_invoker.begin_call();native_invoker.end_call("24DA7D7667FD7B09");return native_invoker.get_return_value_string();end, + -- Does nothing (it's a nullsub). Seems to be PS4 specific. + ["_0x4DCDF92BF64236CD"]=--[[void]] function(--[[string]] p0,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_string(p1);native_invoker.end_call("4DCDF92BF64236CD");end, + -- Does nothing (it's a nullsub). Seems to be PS4 specific. + ["_0x31125FD509D9043F"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("31125FD509D9043F");end, + -- Does nothing (it's a nullsub). Seems to be PS4 specific. + ["_0xEBD3205A207939ED"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("EBD3205A207939ED");end, + -- Does nothing (it's a nullsub). Seems to be PS4 specific. + ["_0x97E7E2C04245115B"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("97E7E2C04245115B");end, + -- Does nothing (it's a nullsub). Seems to be PS4 specific. + ["_0x916CA67D26FD1E37"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("916CA67D26FD1E37");end, + -- Does nothing (it's a nullsub). Seems to be PS4 specific. + ["_0xEB078CA2B5E82ADD"]=--[[void]] function(--[[string]] p0,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_string(p1);native_invoker.end_call("EB078CA2B5E82ADD");end, + -- Does nothing (it's a nullsub). Seems to be PS4 specific. + ["_0x703CC7F60CBB2B57"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("703CC7F60CBB2B57");end, + -- Does nothing (it's a nullsub). Seems to be PS4 specific. + ["_0x8951EB9C6906D3C8"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("8951EB9C6906D3C8");end, + -- Does nothing (it's a nullsub). Seems to be PS4 specific. + -- + -- Used only once in the scripts (ingamehud) with p0 = "AF_GAMEMODE" + ["_0xBA4B8D83BDC75551"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("BA4B8D83BDC75551");end, + -- Hardcoded to return false. + ["_HAS_RESUMED_FROM_SUSPEND"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("E8B9C0EC9E183F35");return native_invoker.get_return_value_bool();end, + -- Sets GtaThread+0x14A + -- + -- SET_S* + ["_0x65D2EBB47E1CEC21"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("65D2EBB47E1CEC21");end, + -- Sets bit 3 in GtaThread+0x150 + -- + -- SET_T* + ["_0x6F2135B6129620C1"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("6F2135B6129620C1");end, + -- I* + ["_0x8D74E26F54B4E5C3"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("8D74E26F54B4E5C3");end, + ["_GET_BASE_ELEMENT_METADATA"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any (int)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("B335F761606DB47C");return native_invoker.get_return_value_bool();end, + -- Returns current weather name hash + ["GET_PREV_WEATHER_TYPE_HASH_NAME"]=--[[Hash (int)]] function()native_invoker.begin_call();native_invoker.end_call("564B884A05EC45A3");return native_invoker.get_return_value_int();end, + -- Returns weather name hash + ["GET_NEXT_WEATHER_TYPE_HASH_NAME"]=--[[Hash (int)]] function()native_invoker.begin_call();native_invoker.end_call("711327CD09C8F162");return native_invoker.get_return_value_int();end, + ["IS_PREV_WEATHER_TYPE"]=--[[BOOL (bool)]] function(--[[string]] weatherType)native_invoker.begin_call();native_invoker.push_arg_string(weatherType);native_invoker.end_call("44F28F86433B10A9");return native_invoker.get_return_value_bool();end, + ["IS_NEXT_WEATHER_TYPE"]=--[[BOOL (bool)]] function(--[[string]] weatherType)native_invoker.begin_call();native_invoker.push_arg_string(weatherType);native_invoker.end_call("2FAA3A30BEC0F25D");return native_invoker.get_return_value_bool();end, + -- The following weatherTypes are used in the scripts: + -- "CLEAR" + -- "EXTRASUNNY" + -- "CLOUDS" + -- "OVERCAST" + -- "RAIN" + -- "CLEARING" + -- "THUNDER" + -- "SMOG" + -- "FOGGY" + -- "XMAS" + -- "SNOWLIGHT" + -- "BLIZZARD" + ["SET_WEATHER_TYPE_PERSIST"]=--[[void]] function(--[[string]] weatherType)native_invoker.begin_call();native_invoker.push_arg_string(weatherType);native_invoker.end_call("704983DF373B198F");end, + -- The following weatherTypes are used in the scripts: + -- "CLEAR" + -- "EXTRASUNNY" + -- "CLOUDS" + -- "OVERCAST" + -- "RAIN" + -- "CLEARING" + -- "THUNDER" + -- "SMOG" + -- "FOGGY" + -- "XMAS" + -- "SNOWLIGHT" + -- "BLIZZARD" + ["SET_WEATHER_TYPE_NOW_PERSIST"]=--[[void]] function(--[[string]] weatherType)native_invoker.begin_call();native_invoker.push_arg_string(weatherType);native_invoker.end_call("ED712CA327900C8A");end, + -- The following weatherTypes are used in the scripts: + -- "CLEAR" + -- "EXTRASUNNY" + -- "CLOUDS" + -- "OVERCAST" + -- "RAIN" + -- "CLEARING" + -- "THUNDER" + -- "SMOG" + -- "FOGGY" + -- "XMAS" + -- "SNOWLIGHT" + -- "BLIZZARD" + ["SET_WEATHER_TYPE_NOW"]=--[[void]] function(--[[string]] weatherType)native_invoker.begin_call();native_invoker.push_arg_string(weatherType);native_invoker.end_call("29B487C359E19889");end, + ["SET_WEATHER_TYPE_OVERTIME_PERSIST"]=--[[void]] function(--[[string]] weatherType,--[[float]] time)native_invoker.begin_call();native_invoker.push_arg_string(weatherType);native_invoker.push_arg_float(time);native_invoker.end_call("FB5045B7C42B75BF");end, + ["SET_RANDOM_WEATHER_TYPE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("8B05F884CF7E8020");end, + ["CLEAR_WEATHER_TYPE_PERSIST"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("CCC39339BEF76CF5");end, + -- 0 as param = weird black and green screen + -- 0.1 - 0.99 = Prevent rain effect from falling (still sound and effects on puddles) and prevent puddles from increase/decrease, seems than it prevent any weather change too + -- 1 and more = "Unfreeze" rain puddles but clear weather too + -- When 'freezing' is enabled, it seem to also freeze value getted with GetRainLevel + ["_0x0CF97F497FE7D048"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("0CF97F497FE7D048");end, + ["_GET_WEATHER_TYPE_TRANSITION"]=--[[void]] function(--[[Hash* (pointer)]] weatherType1,--[[Hash* (pointer)]] weatherType2,--[[float* (pointer)]] percentWeather2)native_invoker.begin_call();native_invoker.push_arg_pointer(weatherType1);native_invoker.push_arg_pointer(weatherType2);native_invoker.push_arg_pointer(percentWeather2);native_invoker.end_call("F3BBE884A14BB413");end, + -- Mixes two weather types. If percentWeather2 is set to 0.0f, then the weather will be entirely of weatherType1, if it is set to 1.0f it will be entirely of weatherType2. If it's set somewhere in between, there will be a mixture of weather behaviors. To test, try this in the RPH console, and change the float to different values between 0 and 1: + -- + -- execute "NativeFunction.Natives.x578C752848ECFA0C(Game.GetHashKey(""RAIN""), Game.GetHashKey(""SMOG""), 0.50f); + -- + -- Note that unlike most of the other weather natives, this native takes the hash of the weather name, not the plain string. These are the weather names and their hashes: + -- + -- CLEAR 0x36A83D84 + -- EXTRASUNNY 0x97AA0A79 + -- CLOUDS 0x30FDAF5C + -- OVERCAST 0xBB898D2D + -- RAIN 0x54A69840 + -- CLEARING 0x6DB1A50D + -- THUNDER 0xB677829F + -- SMOG 0x10DCF4B5 + -- FOGGY 0xAE737644 + -- XMAS 0xAAC9C895 + -- SNOWLIGHT 0x23FB812B + -- BLIZZARD 0x27EA2814 + -- + -- + -- + -- + -- + -- /* OLD INVALID INFO BELOW */ + -- Not tested. Based purely on disassembly. Instantly sets the weather to sourceWeather, then transitions to targetWeather over the specified transitionTime in seconds. + -- + -- If an invalid hash is specified for sourceWeather, the current weather type will be used. + -- If an invalid hash is specified for targetWeather, the next weather type will be used. + -- If an invalid hash is specified for both sourceWeather and targetWeather, the function just changes the transition time of the current transition. + ["_SET_WEATHER_TYPE_TRANSITION"]=--[[void]] function(--[[Hash (int)]] weatherType1,--[[Hash (int)]] weatherType2,--[[float]] percentWeather2)native_invoker.begin_call();native_invoker.push_arg_int(weatherType1);native_invoker.push_arg_int(weatherType2);native_invoker.push_arg_float(percentWeather2);native_invoker.end_call("578C752848ECFA0C");end, + -- Appears to have an optional bool parameter that is unused in the scripts. + -- + -- If you pass true, something will be set to zero. + ["SET_OVERRIDE_WEATHER"]=--[[void]] function(--[[string]] weatherType)native_invoker.begin_call();native_invoker.push_arg_string(weatherType);native_invoker.end_call("A43D5C6FE51ADBEF");end, + ["_0x1178E104409FE58C"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("1178E104409FE58C");end, + ["CLEAR_OVERRIDE_WEATHER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("338D2E3477711050");end, + ["WATER_OVERRIDE_SET_SHOREWAVEAMPLITUDE"]=--[[void]] function(--[[float]] amplitude)native_invoker.begin_call();native_invoker.push_arg_float(amplitude);native_invoker.end_call("B8F87EAD7533B176");end, + ["WATER_OVERRIDE_SET_SHOREWAVEMINAMPLITUDE"]=--[[void]] function(--[[float]] minAmplitude)native_invoker.begin_call();native_invoker.push_arg_float(minAmplitude);native_invoker.end_call("C3EAD29AB273ECE8");end, + ["WATER_OVERRIDE_SET_SHOREWAVEMAXAMPLITUDE"]=--[[void]] function(--[[float]] maxAmplitude)native_invoker.begin_call();native_invoker.push_arg_float(maxAmplitude);native_invoker.end_call("A7A1127490312C36");end, + ["WATER_OVERRIDE_SET_OCEANNOISEMINAMPLITUDE"]=--[[void]] function(--[[float]] minAmplitude)native_invoker.begin_call();native_invoker.push_arg_float(minAmplitude);native_invoker.end_call("31727907B2C43C55");end, + ["WATER_OVERRIDE_SET_OCEANWAVEAMPLITUDE"]=--[[void]] function(--[[float]] amplitude)native_invoker.begin_call();native_invoker.push_arg_float(amplitude);native_invoker.end_call("405591EC8FD9096D");end, + ["WATER_OVERRIDE_SET_OCEANWAVEMINAMPLITUDE"]=--[[void]] function(--[[float]] minAmplitude)native_invoker.begin_call();native_invoker.push_arg_float(minAmplitude);native_invoker.end_call("F751B16FB32ABC1D");end, + ["WATER_OVERRIDE_SET_OCEANWAVEMAXAMPLITUDE"]=--[[void]] function(--[[float]] maxAmplitude)native_invoker.begin_call();native_invoker.push_arg_float(maxAmplitude);native_invoker.end_call("B3E6360DDE733E82");end, + ["WATER_OVERRIDE_SET_RIPPLEBUMPINESS"]=--[[void]] function(--[[float]] bumpiness)native_invoker.begin_call();native_invoker.push_arg_float(bumpiness);native_invoker.end_call("7C9C0B1EEB1F9072");end, + ["WATER_OVERRIDE_SET_RIPPLEMINBUMPINESS"]=--[[void]] function(--[[float]] minBumpiness)native_invoker.begin_call();native_invoker.push_arg_float(minBumpiness);native_invoker.end_call("6216B116083A7CB4");end, + ["WATER_OVERRIDE_SET_RIPPLEMAXBUMPINESS"]=--[[void]] function(--[[float]] maxBumpiness)native_invoker.begin_call();native_invoker.push_arg_float(maxBumpiness);native_invoker.end_call("9F5E6BB6B34540DA");end, + ["WATER_OVERRIDE_SET_RIPPLEDISTURB"]=--[[void]] function(--[[float]] disturb)native_invoker.begin_call();native_invoker.push_arg_float(disturb);native_invoker.end_call("B9854DFDE0D833D6");end, + -- This seems to edit the water wave, intensity around your current location. + -- + -- 0.0f = Normal + -- 1.0f = So Calm and Smooth, a boat will stay still. + -- 3.0f = Really Intense. + ["WATER_OVERRIDE_SET_STRENGTH"]=--[[void]] function(--[[float]] strength)native_invoker.begin_call();native_invoker.push_arg_float(strength);native_invoker.end_call("C54A08C85AE4D410");end, + ["WATER_OVERRIDE_FADE_IN"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("A8434F1DFF41D6E7");end, + ["WATER_OVERRIDE_FADE_OUT"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("C3C221ADDDE31A11");end, + -- Sets the the raw wind speed value. + ["SET_WIND"]=--[[void]] function(--[[float]] speed)native_invoker.begin_call();native_invoker.push_arg_float(speed);native_invoker.end_call("AC3A74E8384A9919");end, + -- Using this native will clamp the wind speed value to a range of 0.0- 12.0. Using SET_WIND sets the same value but without the restriction. + ["SET_WIND_SPEED"]=--[[void]] function(--[[float]] speed)native_invoker.begin_call();native_invoker.push_arg_float(speed);native_invoker.end_call("EE09ECEDBABE47FC");end, + ["GET_WIND_SPEED"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("A8CF1CC0AFCD3F12");return native_invoker.get_return_value_float();end, + -- The wind direction in radians + -- 180 degrees, wind will blow from the south + ["SET_WIND_DIRECTION"]=--[[void]] function(--[[float]] direction)native_invoker.begin_call();native_invoker.push_arg_float(direction);native_invoker.end_call("EB0F4468467B4528");end, + ["GET_WIND_DIRECTION"]=--[[Vector3 (vector3)]] function()native_invoker.begin_call();native_invoker.end_call("1F400FEF721170DA");return native_invoker.get_return_value_vector3();end, + -- With an `intensity` higher than `0.5f`, only the creation of puddles gets faster, rain and rain sound won't increase after that. + -- With an `intensity` of `0.0f` rain and rain sounds are disabled and there won't be any new puddles. + -- To use the rain intensity of the current weather, call this native with `-1f` as `intensity`. + ["_SET_RAIN_LEVEL"]=--[[void]] function(--[[float]] intensity)native_invoker.begin_call();native_invoker.push_arg_float(intensity);native_invoker.end_call("643E26EA6E024D92");end, + ["GET_RAIN_LEVEL"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("96695E368AD855F3");return native_invoker.get_return_value_float();end, + ["_SET_SNOW_LEVEL"]=--[[void]] function(--[[float]] level)native_invoker.begin_call();native_invoker.push_arg_float(level);native_invoker.end_call("7F06937B0CDCBC1A");end, + ["GET_SNOW_LEVEL"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("C5868A966E5BE3AE");return native_invoker.get_return_value_float();end, + -- creates single lightning+thunder at random position + ["FORCE_LIGHTNING_FLASH"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("F6062E089251C898");end, + -- Found in the scripts: + -- + -- MISC::_02DEAAC8F8EA7FE7(""); + ["_0x02DEAAC8F8EA7FE7"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("02DEAAC8F8EA7FE7");end, + -- Found in the scripts: + -- + -- MISC::_11B56FBBF7224868("CONTRAILS"); + ["PRELOAD_CLOUD_HAT"]=--[[void]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("11B56FBBF7224868");end, + -- The following cloudhats are useable: + -- altostratus + -- Cirrus + -- cirrocumulus + -- Clear 01 + -- Cloudy 01 + -- Contrails + -- Horizon + -- horizonband1 + -- horizonband2 + -- horizonband3 + -- horsey + -- Nimbus + -- Puffs + -- RAIN + -- Snowy 01 + -- Stormy 01 + -- stratoscumulus + -- Stripey + -- shower + -- Wispy + -- + ["LOAD_CLOUD_HAT"]=--[[void]] function(--[[string]] name,--[[float]] transitionTime)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_float(transitionTime);native_invoker.end_call("FC4842A34657BFCB");end, + -- Called 4 times in the b617d scripts: + -- MISC::_A74802FB8D0B7814("CONTRAILS", 0); + ["UNLOAD_CLOUD_HAT"]=--[[void]] function(--[[string]] name,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_float(p1);native_invoker.end_call("A74802FB8D0B7814");end, + ["_CLEAR_CLOUD_HAT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("957E790EA1727B64");end, + ["_SET_CLOUD_HAT_OPACITY"]=--[[void]] function(--[[float]] opacity)native_invoker.begin_call();native_invoker.push_arg_float(opacity);native_invoker.end_call("F36199225D6D8C86");end, + ["_GET_CLOUD_HAT_OPACITY"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("20AC25E781AE4A84");return native_invoker.get_return_value_float();end, + ["GET_GAME_TIMER"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("9CD27B0045628463");return native_invoker.get_return_value_int();end, + ["GET_FRAME_TIME"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("15C40837039FFAF7");return native_invoker.get_return_value_float();end, + ["_GET_BENCHMARK_TIME"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("E599A503B3837E1B");return native_invoker.get_return_value_float();end, + ["GET_FRAME_COUNT"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("FC8202EFC642E6F2");return native_invoker.get_return_value_int();end, + ["GET_RANDOM_FLOAT_IN_RANGE"]=--[[float]] function(--[[float]] startRange,--[[float]] endRange)native_invoker.begin_call();native_invoker.push_arg_float(startRange);native_invoker.push_arg_float(endRange);native_invoker.end_call("313CE5879CEB6FCD");return native_invoker.get_return_value_float();end, + ["GET_RANDOM_INT_IN_RANGE"]=--[[int]] function(--[[int]] startRange,--[[int]] endRange)native_invoker.begin_call();native_invoker.push_arg_int(startRange);native_invoker.push_arg_int(endRange);native_invoker.end_call("D53343AA4FB7DD28");return native_invoker.get_return_value_int();end, + ["_GET_RANDOM_INT_IN_RANGE_2"]=--[[int]] function(--[[int]] startRange,--[[int]] endRange)native_invoker.begin_call();native_invoker.push_arg_int(startRange);native_invoker.push_arg_int(endRange);native_invoker.end_call("F2D49816A804D134");return native_invoker.get_return_value_int();end, + -- Gets the ground elevation at the specified position. Note that if the specified position is below ground level, the function will output zero! + -- + -- x: Position on the X-axis to get ground elevation at. + -- y: Position on the Y-axis to get ground elevation at. + -- z: Position on the Z-axis to get ground elevation at. + -- groundZ: The ground elevation at the specified position. + -- ignoreWater: Nearly always 0, very rarely 1 in the scripts: https://gfycat.com/NiftyTatteredCricket + -- + -- Bear in mind this native can only calculate the elevation when the coordinates are within the client's render distance. + ["GET_GROUND_Z_FOR_3D_COORD"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float* (pointer)]] groundZ,--[[BOOL (bool)]] ignoreWater,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_pointer(groundZ);native_invoker.push_arg_bool(ignoreWater);native_invoker.push_arg_bool(p5);native_invoker.end_call("C906A7DAB05C8D2B");return native_invoker.get_return_value_bool();end, + ["GET_GROUND_Z_AND_NORMAL_FOR_3D_COORD"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float* (pointer)]] groundZ,--[[Vector3* (pointer)]] normal)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_pointer(groundZ);native_invoker.push_arg_pointer(normal);native_invoker.end_call("8BDC7BFC57A81E76");return native_invoker.get_return_value_bool();end, + ["_GET_GROUND_Z_FOR_3D_COORD_2"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float* (pointer)]] groundZ,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_pointer(groundZ);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("9E82F0F362881B29");return native_invoker.get_return_value_bool();end, + ["ASIN"]=--[[float]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("C843060B5765DCE7");return native_invoker.get_return_value_float();end, + ["ACOS"]=--[[float]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("1D08B970013C34B6");return native_invoker.get_return_value_float();end, + ["TAN"]=--[[float]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("632106CC96E82E91");return native_invoker.get_return_value_float();end, + ["ATAN"]=--[[float]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("A9D1795CD5043663");return native_invoker.get_return_value_float();end, + ["ATAN2"]=--[[float]] function(--[[float]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("8927CBF9D22261A4");return native_invoker.get_return_value_float();end, + -- Returns the distance between two three-dimensional points, optionally ignoring the Z values. + -- If useZ is false, only the 2D plane (X-Y) will be considered for calculating the distance. + -- + -- Consider using this faster native instead: SYSTEM::VDIST - DVIST always takes in consideration the 3D coordinates. + ["GET_DISTANCE_BETWEEN_COORDS"]=--[[float]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[BOOL (bool)]] useZ)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_bool(useZ);native_invoker.end_call("F1B760881820C952");return native_invoker.get_return_value_float();end, + ["GET_ANGLE_BETWEEN_2D_VECTORS"]=--[[float]] function(--[[float]] x1,--[[float]] y1,--[[float]] x2,--[[float]] y2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.end_call("186FC4BE848E1C92");return native_invoker.get_return_value_float();end, + -- dx = x1 - x2 + -- dy = y1 - y2 + ["GET_HEADING_FROM_VECTOR_2D"]=--[[float]] function(--[[float]] dx,--[[float]] dy)native_invoker.begin_call();native_invoker.push_arg_float(dx);native_invoker.push_arg_float(dy);native_invoker.end_call("2FFB6B224F4B2926");return native_invoker.get_return_value_float();end, + ["_0x7F8F6405F4777AF6"]=--[[float]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[float]] p8,--[[BOOL (bool)]] p9)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_bool(p9);native_invoker.end_call("7F8F6405F4777AF6");return native_invoker.get_return_value_float();end, + -- GET_C* + ["_0x21C235BC64831E5A"]=--[[Vector3 (vector3)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[float]] p8,--[[BOOL (bool)]] p9)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_bool(p9);native_invoker.end_call("21C235BC64831E5A");return native_invoker.get_return_value_vector3();end, + ["_0xF56DFB7B61BE7276"]=--[[BOOL (bool)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[float]] p8,--[[float]] p9,--[[float]] p10,--[[float]] p11,--[[float* (pointer)]] p12)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_float(p10);native_invoker.push_arg_float(p11);native_invoker.push_arg_pointer(p12);native_invoker.end_call("F56DFB7B61BE7276");return native_invoker.get_return_value_bool();end, + ["_0xA0AD167E4B39D9A2"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9,--[[Any (int)]] p10,--[[Any (int)]] p11,--[[Any (int)]] p12,--[[Any (int)]] p13)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_int(p10);native_invoker.push_arg_int(p11);native_invoker.push_arg_int(p12);native_invoker.push_arg_int(p13);native_invoker.end_call("A0AD167E4B39D9A2");return native_invoker.get_return_value_int();end, + -- This sets bit [offset] of [address] to on. + -- + -- The offsets used are different bits to be toggled on and off, typically there is only one address used in a script. + -- + -- Example: + -- MISC::SET_BIT(&bitAddress, 1); + -- + -- To check if this bit has been enabled: + -- MISC::IS_BIT_SET(bitAddress, 1); // will return 1 afterwards + -- + -- Please note, this method may assign a value to [address] when used. + ["SET_BIT"]=--[[void]] function(--[[int* (pointer)]] address,--[[int]] offset)native_invoker.begin_call();native_invoker.push_arg_pointer(address);native_invoker.push_arg_int(offset);native_invoker.end_call("933D6A9EEC1BACD0");end, + -- This sets bit [offset] of [address] to off. + -- + -- Example: + -- MISC::CLEAR_BIT(&bitAddress, 1); + -- + -- To check if this bit has been enabled: + -- MISC::IS_BIT_SET(bitAddress, 1); // will return 0 afterwards + ["CLEAR_BIT"]=--[[void]] function(--[[int* (pointer)]] address,--[[int]] offset)native_invoker.begin_call();native_invoker.push_arg_pointer(address);native_invoker.push_arg_int(offset);native_invoker.end_call("E80492A9AC099A93");end, + -- This native converts its past string to hash. It is hashed using jenkins one at a time method. + ["GET_HASH_KEY"]=--[[Hash (int)]] function(--[[string]] string)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.end_call("D24D37CC275948CC");return native_invoker.get_return_value_int();end, + -- This native always come right before SET_ENTITY_QUATERNION where its final 4 parameters are SLERP_NEAR_QUATERNION p9 to p12 + ["SLERP_NEAR_QUATERNION"]=--[[void]] function(--[[float]] t,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] w,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] w1,--[[float* (pointer)]] outX,--[[float* (pointer)]] outY,--[[float* (pointer)]] outZ,--[[float* (pointer)]] outW)native_invoker.begin_call();native_invoker.push_arg_float(t);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(w);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(w1);native_invoker.push_arg_pointer(outX);native_invoker.push_arg_pointer(outY);native_invoker.push_arg_pointer(outZ);native_invoker.push_arg_pointer(outW);native_invoker.end_call("F2F6A2FA49278625");end, + ["IS_AREA_OCCUPIED"]=--[[BOOL (bool)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8,--[[BOOL (bool)]] p9,--[[BOOL (bool)]] p10,--[[Any (int)]] p11,--[[BOOL (bool)]] p12)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_bool(p9);native_invoker.push_arg_bool(p10);native_invoker.push_arg_int(p11);native_invoker.push_arg_bool(p12);native_invoker.end_call("A61B4DF533DCB56E");return native_invoker.get_return_value_bool();end, + ["_0x39455BF4F4F55186"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9,--[[Any (int)]] p10,--[[Any (int)]] p11,--[[Any (int)]] p12)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_int(p10);native_invoker.push_arg_int(p11);native_invoker.push_arg_int(p12);native_invoker.end_call("39455BF4F4F55186");return native_invoker.get_return_value_int();end, + -- `range`: The range, seems to not be very accurate during testing. + -- `p4`: Unknown, when set to true it seems to always return true no matter what I try. + -- `checkVehicle`: Check for any vehicles in that area. + -- `checkPeds`: Check for any peds in that area. + -- `ignoreEntity`: This entity will be ignored if it's in the area. Set to 0 if you don't want to exclude any entities. + -- The BOOL parameters that are documented have not been confirmed. They are just documented from what I've found during testing. They may not work as expected in all cases. + -- + -- Returns true if there is anything in that location matching the provided parameters. + ["IS_POSITION_OCCUPIED"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] range,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] checkVehicles,--[[BOOL (bool)]] checkPeds,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8,--[[Entity (int)]] ignoreEntity,--[[BOOL (bool)]] p10)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(range);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(checkVehicles);native_invoker.push_arg_bool(checkPeds);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_int(ignoreEntity);native_invoker.push_arg_bool(p10);native_invoker.end_call("ADCDE75E1C60F32D");return native_invoker.get_return_value_bool();end, + ["IS_POINT_OBSCURED_BY_A_MISSION_ENTITY"]=--[[BOOL (bool)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("E54E209C35FFA18D");return native_invoker.get_return_value_bool();end, + -- Example: CLEAR_AREA(0, 0, 0, 30, true, false, false, false); + ["CLEAR_AREA"]=--[[void]] function(--[[float]] X,--[[float]] Y,--[[float]] Z,--[[float]] radius,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] ignoreCopCars,--[[BOOL (bool)]] ignoreObjects,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_float(X);native_invoker.push_arg_float(Y);native_invoker.push_arg_float(Z);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(ignoreCopCars);native_invoker.push_arg_bool(ignoreObjects);native_invoker.push_arg_bool(p7);native_invoker.end_call("A56F01F3765B93A0");end, + -- MISC::_0x957838AAF91BD12D(x, y, z, radius, false, false, false, false); seem to make all objects go away, peds, vehicles etc. All booleans set to true doesn't seem to change anything. + ["_CLEAR_AREA_OF_EVERYTHING"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.end_call("957838AAF91BD12D");end, + -- Example: + -- CLEAR_AREA_OF_VEHICLES(0.0f, 0.0f, 0.0f, 10000.0f, false, false, false, false, false, false); + ["CLEAR_AREA_OF_VEHICLES"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8,--[[BOOL (bool)]] p9)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_bool(p9);native_invoker.end_call("01C7B9B38428AEB6");end, + ["CLEAR_ANGLED_AREA_OF_VEHICLES"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] width,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8,--[[BOOL (bool)]] p9,--[[BOOL (bool)]] p10,--[[BOOL (bool)]] p11,--[[Any (int)]] p12)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(width);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_bool(p9);native_invoker.push_arg_bool(p10);native_invoker.push_arg_bool(p11);native_invoker.push_arg_int(p12);native_invoker.end_call("11DB3500F042A8AA");end, + -- I looked through the PC scripts that this site provides you with a link to find. It shows the last param mainly uses, (0, 2, 6, 16, and 17) so I am going to assume it is a type of flag. + ["CLEAR_AREA_OF_OBJECTS"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(flags);native_invoker.end_call("DD9B9B385AAC7F5B");end, + -- Example: CLEAR_AREA_OF_PEDS(0, 0, 0, 10000, 1); + ["CLEAR_AREA_OF_PEDS"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(flags);native_invoker.end_call("BE31FD6CE464AC59");end, + -- flags appears to always be 0 + ["CLEAR_AREA_OF_COPS"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(flags);native_invoker.end_call("04F8FC8FCF58F88D");end, + -- flags is usually 0 in the scripts. + ["CLEAR_AREA_OF_PROJECTILES"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(flags);native_invoker.end_call("0A1CB9094635D1A6");end, + -- Possibly used to clear scenario points. + -- + -- CLEAR_* + ["_0x7EC6F9A478A6A512"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("7EC6F9A478A6A512");end, + -- ignoreVehicle - bypasses vehicle check of the local player (it will not open if you are in a vehicle and this is set to false) + ["SET_SAVE_MENU_ACTIVE"]=--[[void]] function(--[[BOOL (bool)]] ignoreVehicle)native_invoker.begin_call();native_invoker.push_arg_bool(ignoreVehicle);native_invoker.end_call("C9BF75D28165FF77");end, + ["_0x397BAA01068BAA96"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("397BAA01068BAA96");return native_invoker.get_return_value_int();end, + ["SET_CREDITS_ACTIVE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("B938B7E6D3C0620C");end, + ["_0xB51B9AB9EF81868C"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("B51B9AB9EF81868C");end, + ["HAVE_CREDITS_REACHED_END"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("075F1D57402C93BA");return native_invoker.get_return_value_bool();end, + -- For a full list, see here: pastebin.com/yLNWicUi + ["TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME"]=--[[void]] function(--[[string]] scriptName)native_invoker.begin_call();native_invoker.push_arg_string(scriptName);native_invoker.end_call("9DC711BC69C548DF");end, + ["NETWORK_SET_SCRIPT_IS_SAFE_FOR_NETWORK_GAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9243BAC96D64C050");end, + -- Returns the index of the newly created hospital spawn point. + -- + -- p3 might be radius? + ["ADD_HOSPITAL_RESTART"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("1F464EF988465A81");return native_invoker.get_return_value_int();end, + -- The game by default has 5 hospital respawn points. Disabling them all will cause the player to respawn at the last position they were. + ["DISABLE_HOSPITAL_RESTART"]=--[[void]] function(--[[int]] hospitalIndex,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(hospitalIndex);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C8535819C450EBA8");end, + ["ADD_POLICE_RESTART"]=--[[Any (int)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("452736765B31FC4B");return native_invoker.get_return_value_int();end, + -- Disables the spawn point at the police house on the specified index. + -- + -- policeIndex: The police house index. + -- toggle: true to enable the spawn point, false to disable. + -- + -- - Nacorpio + ["DISABLE_POLICE_RESTART"]=--[[void]] function(--[[int]] policeIndex,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(policeIndex);native_invoker.push_arg_bool(toggle);native_invoker.end_call("23285DED6EBD7EA3");end, + ["_SET_RESTART_CUSTOM_POSITION"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.end_call("706B5EDCAA7FA663");end, + ["_CLEAR_RESTART_CUSTOM_POSITION"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A2716D40842EAF79");end, + ["PAUSE_DEATH_ARREST_RESTART"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("2C2B3493FBF51C71");end, + ["IGNORE_NEXT_RESTART"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("21FFB63D8C615361");end, + -- Sets whether the game should fade out after the player dies. + ["SET_FADE_OUT_AFTER_DEATH"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("4A18E01DF2C87B86");end, + -- Sets whether the game should fade out after the player is arrested. + ["SET_FADE_OUT_AFTER_ARREST"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("1E0B4DC0D990A4E7");end, + -- Sets whether the game should fade in after the player dies or is arrested. + ["SET_FADE_IN_AFTER_DEATH_ARREST"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("DA66D2796BA33F12");end, + ["SET_FADE_IN_AFTER_LOAD"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("F3D78F59DFE18D79");end, + ["REGISTER_SAVE_HOUSE"]=--[[Any (int)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[Any* (pointer)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_pointer(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("C0714D0A7EEECA54");return native_invoker.get_return_value_int();end, + ["SET_SAVE_HOUSE"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("4F548CABEAE553BC");end, + ["OVERRIDE_SAVE_HOUSE"]=--[[BOOL (bool)]] function(--[[BOOL (bool)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[BOOL (bool)]] p5,--[[float]] p6,--[[float]] p7)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_bool(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.end_call("1162EA8AE9D24EEA");return native_invoker.get_return_value_bool();end, + -- GET_SAVE_* + -- + -- GET_SAVE_UNLESS_CUSTOM_DOT ? + ["_0xA4A0065E39C9F25C"]=--[[BOOL (bool)]] function(--[[Vector3* (pointer)]] p0,--[[float* (pointer)]] p1,--[[BOOL* (pointer)]] fadeInAfterLoad,--[[BOOL* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(fadeInAfterLoad);native_invoker.push_arg_pointer(p3);native_invoker.end_call("A4A0065E39C9F25C");return native_invoker.get_return_value_bool();end, + ["DO_AUTO_SAVE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("50EEAAD86232EE55");end, + -- Returns true if profile setting 208 is equal to 0. + ["GET_IS_AUTO_SAVE_OFF"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("6E04F06094C87047");return native_invoker.get_return_value_bool();end, + ["IS_AUTO_SAVE_IN_PROGRESS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("69240733738C19A0");return native_invoker.get_return_value_bool();end, + -- HAS_* + ["_0x2107A3773771186D"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("2107A3773771186D");return native_invoker.get_return_value_bool();end, + -- CLEAR_* + ["_0x06462A961E94B67C"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("06462A961E94B67C");end, + ["BEGIN_REPLAY_STATS"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("E0E500246FF73D66");end, + ["ADD_REPLAY_STAT_VALUE"]=--[[void]] function(--[[Any (int)]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("69FE6DC87BD2A5E9");end, + ["END_REPLAY_STATS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A23E821FBDF8A5F2");end, + ["_0xD642319C54AADEB6"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("D642319C54AADEB6");return native_invoker.get_return_value_int();end, + ["_0x5B1F2E327B6B6FE1"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("5B1F2E327B6B6FE1");return native_invoker.get_return_value_int();end, + ["GET_REPLAY_STAT_MISSION_TYPE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("2B626A0150E4D449");return native_invoker.get_return_value_int();end, + ["GET_REPLAY_STAT_COUNT"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("DC9274A7EF6B2867");return native_invoker.get_return_value_int();end, + ["GET_REPLAY_STAT_AT_INDEX"]=--[[int]] function(--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.end_call("8098C8D6597AAE18");return native_invoker.get_return_value_int();end, + ["CLEAR_REPLAY_STATS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1B1AB132A16FDA55");end, + ["_0x72DE52178C291CB5"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("72DE52178C291CB5");return native_invoker.get_return_value_int();end, + -- Shows the screen which is visible before you redo a mission? The game will make a restoration point where you will cameback when the mission is over. + -- Returns 1 if the message isn't currently on screen + ["_0x44A0BDC559B35F6E"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("44A0BDC559B35F6E");return native_invoker.get_return_value_bool();end, + ["_0xEB2104E905C6F2E9"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("EB2104E905C6F2E9");return native_invoker.get_return_value_int();end, + ["_0x2B5E102E4A42F2BF"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("2B5E102E4A42F2BF");return native_invoker.get_return_value_int();end, + ["IS_MEMORY_CARD_IN_USE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("8A75CE2956274ADD");return native_invoker.get_return_value_bool();end, + ["SHOOT_SINGLE_BULLET_BETWEEN_COORDS"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[int]] damage,--[[BOOL (bool)]] p7,--[[Hash (int)]] weaponHash,--[[Ped (int)]] ownerPed,--[[BOOL (bool)]] isAudible,--[[BOOL (bool)]] isInvisible,--[[float]] speed)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(damage);native_invoker.push_arg_bool(p7);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(ownerPed);native_invoker.push_arg_bool(isAudible);native_invoker.push_arg_bool(isInvisible);native_invoker.push_arg_float(speed);native_invoker.end_call("867654CBC7606F2C");end, + -- entity - entity to ignore + ["SHOOT_SINGLE_BULLET_BETWEEN_COORDS_IGNORE_ENTITY"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[int]] damage,--[[BOOL (bool)]] p7,--[[Hash (int)]] weaponHash,--[[Ped (int)]] ownerPed,--[[BOOL (bool)]] isAudible,--[[BOOL (bool)]] isInvisible,--[[float]] speed,--[[Entity (int)]] entity,--[[Any (int)]] p14)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(damage);native_invoker.push_arg_bool(p7);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(ownerPed);native_invoker.push_arg_bool(isAudible);native_invoker.push_arg_bool(isInvisible);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(entity);native_invoker.push_arg_int(p14);native_invoker.end_call("E3A7742E0B7A2F8B");end, + -- entity - entity to ignore + ["SHOOT_SINGLE_BULLET_BETWEEN_COORDS_IGNORE_ENTITY_NEW"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[int]] damage,--[[BOOL (bool)]] p7,--[[Hash (int)]] weaponHash,--[[Ped (int)]] ownerPed,--[[BOOL (bool)]] isAudible,--[[BOOL (bool)]] isInvisible,--[[float]] speed,--[[Entity (int)]] entity,--[[BOOL (bool)]] p14,--[[BOOL (bool)]] p15,--[[BOOL (bool)]] p16,--[[BOOL (bool)]] p17,--[[Any (int)]] p18,--[[Any (int)]] p19,--[[Any (int)]] p20)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(damage);native_invoker.push_arg_bool(p7);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(ownerPed);native_invoker.push_arg_bool(isAudible);native_invoker.push_arg_bool(isInvisible);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(p14);native_invoker.push_arg_bool(p15);native_invoker.push_arg_bool(p16);native_invoker.push_arg_bool(p17);native_invoker.push_arg_int(p18);native_invoker.push_arg_int(p19);native_invoker.push_arg_int(p20);native_invoker.end_call("BFE5756E7407064A");end, + -- Gets the dimensions of a model. + -- + -- Calculate (maximum - minimum) to get the size, in which case, Y will be how long the model is. + -- + -- Example from the scripts: MISC::GET_MODEL_DIMENSIONS(ENTITY::GET_ENTITY_MODEL(PLAYER::PLAYER_PED_ID()), &v_1A, &v_17); + ["GET_MODEL_DIMENSIONS"]=--[[void]] function(--[[Hash (int)]] modelHash,--[[Vector3* (pointer)]] minimum,--[[Vector3* (pointer)]] maximum)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.push_arg_pointer(minimum);native_invoker.push_arg_pointer(maximum);native_invoker.end_call("03E8D3D5F549087A");end, + -- Sets a visually fake wanted level on the user interface. Used by Rockstar's scripts to "override" regular wanted levels and make custom ones while the real wanted level and multipliers are still in effect. + -- + -- Max is 6, anything above this makes it just 6. Also the mini-map gets the red & blue flashing effect. + ["SET_FAKE_WANTED_LEVEL"]=--[[void]] function(--[[int]] fakeWantedLevel)native_invoker.begin_call();native_invoker.push_arg_int(fakeWantedLevel);native_invoker.end_call("1454F2448DE30163");end, + ["GET_FAKE_WANTED_LEVEL"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("4C9296CBCD1B971E");return native_invoker.get_return_value_int();end, + -- Returns bit's boolean state from [offset] of [address]. + -- + -- Example: + -- MISC::IS_BIT_SET(bitAddress, 1); + -- + -- To enable and disable bits, see: + -- MISC::SET_BIT(&bitAddress, 1); // enable + -- MISC::CLEAR_BIT(&bitAddress, 1); // disable + ["IS_BIT_SET"]=--[[BOOL (bool)]] function(--[[int]] address,--[[int]] offset)native_invoker.begin_call();native_invoker.push_arg_int(address);native_invoker.push_arg_int(offset);native_invoker.end_call("A921AA820C25702F");return native_invoker.get_return_value_bool();end, + ["USING_MISSION_CREATOR"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("F14878FC50BEC6EE");end, + ["ALLOW_MISSION_CREATOR_WARP"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("DEA36202FC3382DF");end, + ["SET_MINIGAME_IN_PROGRESS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("19E00D7322C6F85B");end, + ["IS_MINIGAME_IN_PROGRESS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("2B4A15E44DE0F478");return native_invoker.get_return_value_bool();end, + ["IS_THIS_A_MINIGAME_SCRIPT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("7B30F65D7B710098");return native_invoker.get_return_value_bool();end, + -- This function is hard-coded to always return 0. + ["IS_SNIPER_INVERTED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("61A23B7EDA9BDA24");return native_invoker.get_return_value_bool();end, + -- Returns true if the game is using the metric measurement system (profile setting 227), false if imperial is used. + ["SHOULD_USE_METRIC_MEASUREMENTS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D3D15555431AB793");return native_invoker.get_return_value_bool();end, + ["GET_PROFILE_SETTING"]=--[[int]] function(--[[int]] profileSetting)native_invoker.begin_call();native_invoker.push_arg_int(profileSetting);native_invoker.end_call("C488FF2356EA7791");return native_invoker.get_return_value_int();end, + ["ARE_STRINGS_EQUAL"]=--[[BOOL (bool)]] function(--[[string]] string1,--[[string]] string2)native_invoker.begin_call();native_invoker.push_arg_string(string1);native_invoker.push_arg_string(string2);native_invoker.end_call("0C515FAB3FF9EA92");return native_invoker.get_return_value_bool();end, + -- Compares two strings up to a specified number of characters. + -- + -- Parameters: + -- str1 - String to be compared. + -- str2 - String to be compared. + -- matchCase - Comparison will be case-sensitive. + -- maxLength - Maximum number of characters to compare. A value of -1 indicates an infinite length. + -- + -- Returns: + -- A value indicating the relationship between the strings: + -- <0 - The first non-matching character in 'str1' is less than the one in 'str2'. (e.g. 'A' < 'B', so result = -1) + -- 0 - The contents of both strings are equal. + -- >0 - The first non-matching character in 'str1' is less than the one in 'str2'. (e.g. 'B' > 'A', so result = 1) + -- + -- Examples: + -- MISC::COMPARE_STRINGS("STRING", "string", false, -1); // 0; equal + -- MISC::COMPARE_STRINGS("TESTING", "test", false, 4); // 0; equal + -- MISC::COMPARE_STRINGS("R2D2", "R2xx", false, 2); // 0; equal + -- MISC::COMPARE_STRINGS("foo", "bar", false, -1); // 4; 'f' > 'b' + -- MISC::COMPARE_STRINGS("A", "A", true, 1); // 0; equal + -- + -- When comparing case-sensitive strings, lower-case characters are greater than upper-case characters: + -- MISC::COMPARE_STRINGS("A", "a", true, 1); // -1; 'A' < 'a' + -- MISC::COMPARE_STRINGS("a", "A", true, 1); // 1; 'a' > 'A' + ["COMPARE_STRINGS"]=--[[int]] function(--[[string]] str1,--[[string]] str2,--[[BOOL (bool)]] matchCase,--[[int]] maxLength)native_invoker.begin_call();native_invoker.push_arg_string(str1);native_invoker.push_arg_string(str2);native_invoker.push_arg_bool(matchCase);native_invoker.push_arg_int(maxLength);native_invoker.end_call("1E34710ECD4AB0EB");return native_invoker.get_return_value_int();end, + ["ABSI"]=--[[int]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("F0D31AD191A74F87");return native_invoker.get_return_value_int();end, + ["ABSF"]=--[[float]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("73D57CFFDD12C355");return native_invoker.get_return_value_float();end, + -- Determines whether there is a sniper bullet within the specified coordinates. The coordinates form an axis-aligned bounding box. + ["IS_SNIPER_BULLET_IN_AREA"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.end_call("FEFCF11B01287125");return native_invoker.get_return_value_bool();end, + -- Determines whether there is a projectile within the specified coordinates. The coordinates form a rectangle. + -- + -- - Nacorpio + -- + -- + -- ownedByPlayer = only projectiles fired by the player will be detected. + ["IS_PROJECTILE_IN_AREA"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[BOOL (bool)]] ownedByPlayer)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_bool(ownedByPlayer);native_invoker.end_call("5270A8FBC098C3F8");return native_invoker.get_return_value_bool();end, + -- Determines whether there is a projectile of a specific type within the specified coordinates. The coordinates form a axis-aligned bounding box. + ["IS_PROJECTILE_TYPE_IN_AREA"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[int]] type,--[[BOOL (bool)]] ownedByPlayer)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(type);native_invoker.push_arg_bool(ownedByPlayer);native_invoker.end_call("2E0DC353342C4A6D");return native_invoker.get_return_value_bool();end, + -- See IS_POINT_IN_ANGLED_AREA for the definition of an angled area. + ["IS_PROJECTILE_TYPE_IN_ANGLED_AREA"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] width,--[[Any (int)]] p7,--[[BOOL (bool)]] ownedByPlayer)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(width);native_invoker.push_arg_int(p7);native_invoker.push_arg_bool(ownedByPlayer);native_invoker.end_call("F0BC12401061DEA0");return native_invoker.get_return_value_bool();end, + ["IS_PROJECTILE_TYPE_WITHIN_DISTANCE"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[Hash (int)]] projectileHash,--[[float]] radius,--[[BOOL (bool)]] ownedByPlayer)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(projectileHash);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(ownedByPlayer);native_invoker.end_call("34318593248C8FB2");return native_invoker.get_return_value_bool();end, + ["GET_COORDS_OF_PROJECTILE_TYPE_IN_AREA"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[Hash (int)]] projectileHash,--[[Vector3* (pointer)]] projectilePos,--[[BOOL (bool)]] ownedByPlayer)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(projectileHash);native_invoker.push_arg_pointer(projectilePos);native_invoker.push_arg_bool(ownedByPlayer);native_invoker.end_call("8D7A43EC6A5FEA45");return native_invoker.get_return_value_bool();end, + ["GET_COORDS_OF_PROJECTILE_TYPE_WITHIN_DISTANCE"]=--[[Vector3 (vector3)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[float]] radius,--[[Entity* (pointer)]] entity,--[[BOOL (bool)]] ownedByPlayer)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_float(radius);native_invoker.push_arg_pointer(entity);native_invoker.push_arg_bool(ownedByPlayer);native_invoker.end_call("DFB4138EEFED7B81");return native_invoker.get_return_value_vector3();end, + -- GET_PROJECTILE_* + ["_GET_PROJECTILE_NEAR_PED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponhash,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponhash);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("82FDE6A57EE4EE44");return native_invoker.get_return_value_bool();end, + -- For projectiles, see: IS_PROJECTILE_TYPE_IN_ANGLED_AREA + -- See IS_POINT_IN_ANGLED_AREA for the definition of an angled area. + -- Returns True if a bullet, as maintained by a pool within CWeaponManager, has been fired into the defined angled area. + ["IS_BULLET_IN_ANGLED_AREA"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] width,--[[BOOL (bool)]] ownedByPlayer)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(width);native_invoker.push_arg_bool(ownedByPlayer);native_invoker.end_call("1A8B5F3C01E2B477");return native_invoker.get_return_value_bool();end, + ["IS_BULLET_IN_AREA"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[BOOL (bool)]] ownedByPlayer)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(ownedByPlayer);native_invoker.end_call("3F2023999AD51C1F");return native_invoker.get_return_value_bool();end, + ["IS_BULLET_IN_BOX"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[BOOL (bool)]] ownedByPlayer)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_bool(ownedByPlayer);native_invoker.end_call("DE0F6D7450D37351");return native_invoker.get_return_value_bool();end, + -- p3 - possibly radius? + ["HAS_BULLET_IMPACTED_IN_AREA"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p3,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p3);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("9870ACFB89A90995");return native_invoker.get_return_value_bool();end, + ["HAS_BULLET_IMPACTED_IN_BOX"]=--[[BOOL (bool)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.end_call("DC8C5D7CFEAB8394");return native_invoker.get_return_value_bool();end, + -- PS4 + ["IS_ORBIS_VERSION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A72BC0B675B1519E");return native_invoker.get_return_value_bool();end, + -- XBOX ONE + ["IS_DURANGO_VERSION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("4D982ADB1978442D");return native_invoker.get_return_value_bool();end, + ["IS_XBOX360_VERSION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("F6201B4DAF662A9D");return native_invoker.get_return_value_bool();end, + ["IS_PS3_VERSION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("CCA1072C29D096C2");return native_invoker.get_return_value_bool();end, + ["IS_PC_VERSION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("48AF36444B965238");return native_invoker.get_return_value_bool();end, + -- if (MISC::IS_AUSSIE_VERSION()) { + -- sub_127a9(&l_31, 1024); // l_31 |= 1024 + -- l_129 = 3; + -- sub_129d2("AUSSIE VERSION IS TRUE!?!?!"); // DEBUG + -- } + -- + -- Used to block some of the prostitute stuff due to laws in Australia. + ["IS_AUSSIE_VERSION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("9F1935CA1F724008");return native_invoker.get_return_value_bool();end, + ["IS_STRING_NULL"]=--[[BOOL (bool)]] function(--[[string]] string)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.end_call("F22B6C47C6EAB066");return native_invoker.get_return_value_bool();end, + ["IS_STRING_NULL_OR_EMPTY"]=--[[BOOL (bool)]] function(--[[string]] string)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.end_call("CA042B6957743895");return native_invoker.get_return_value_bool();end, + -- Returns false if it's a null or empty string or if the string is too long. outInteger will be set to -999 in that case. + -- + -- If all checks have passed successfully, the return value will be set to whatever strtol(string, 0i64, 10); returns. + ["STRING_TO_INT"]=--[[BOOL (bool)]] function(--[[string]] string,--[[int* (pointer)]] outInteger)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.push_arg_pointer(outInteger);native_invoker.end_call("5A5F40FE637EB584");return native_invoker.get_return_value_bool();end, + ["SET_BITS_IN_RANGE"]=--[[void]] function(--[[int* (pointer)]] var,--[[int]] rangeStart,--[[int]] rangeEnd,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(var);native_invoker.push_arg_int(rangeStart);native_invoker.push_arg_int(rangeEnd);native_invoker.push_arg_int(p3);native_invoker.end_call("8EF07E15701D61ED");end, + ["GET_BITS_IN_RANGE"]=--[[int]] function(--[[int]] var,--[[int]] rangeStart,--[[int]] rangeEnd)native_invoker.begin_call();native_invoker.push_arg_int(var);native_invoker.push_arg_int(rangeStart);native_invoker.push_arg_int(rangeEnd);native_invoker.end_call("53158863FCC0893A");return native_invoker.get_return_value_int();end, + -- See description of `ADD_STUNT_JUMP_ANGLED` for detailed info. The only difference really is this one does not have the radius (or angle, not sure) floats parameters for entry and landing zones. + ["ADD_STUNT_JUMP"]=--[[int]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] x3,--[[float]] y3,--[[float]] z3,--[[float]] x4,--[[float]] y4,--[[float]] z4,--[[float]] camX,--[[float]] camY,--[[float]] camZ,--[[int]] p15,--[[int]] p16,--[[int]] p17)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(x3);native_invoker.push_arg_float(y3);native_invoker.push_arg_float(z3);native_invoker.push_arg_float(x4);native_invoker.push_arg_float(y4);native_invoker.push_arg_float(z4);native_invoker.push_arg_float(camX);native_invoker.push_arg_float(camY);native_invoker.push_arg_float(camZ);native_invoker.push_arg_int(p15);native_invoker.push_arg_int(p16);native_invoker.push_arg_int(p17);native_invoker.end_call("1A992DA297A4630C");return native_invoker.get_return_value_int();end, + -- Creates a new stunt jump. + -- + -- The radius1 and radius2 might actually not be a radius at all, but that's what it seems to me testing them in-game. But they may be 'angle' floats instead, considering this native is named ADD_STUNT_JUMP_**ANGLED**. + -- + -- Info about the specific 'parameter sections': + -- + -- + -- **x1, y1, z1, x2, y2, z2 and radius1:** + -- + -- First coordinates are for the jump entry area, and the radius that will be checked around that area. So if you're not exactly within the coordinates, but you are within the outter radius limit then it will still register as entering the stunt jump. Note as mentioned above, the radius is just a guess, I'm not really sure about it's exact purpose. + -- + -- + -- **x3, y3, z3, x4, y4, z4 and radius2:** + -- + -- Next part is the landing area, again starting with the left bottom (nearest to the stunt jump entry zone) coordinate, and the second one being the top right furthest away part of the landing area. Followed by another (most likely) radius float, this is usually slightly larger than the entry zone 'radius' float value, just because you have quite a lot of places where you can land (I'm guessing). + -- + -- + -- **camX, camY and camZ:** + -- + -- The final coordinate in this native is the Camera position. Rotation and zoom/FOV is managed by the game itself, you just need to provide the camera location. + -- + -- + -- **unk1, unk2 and unk3:** + -- + -- Not sure what these are for, but they're always `150, 0, 0` in decompiled scripts. + -- + -- Visualized example in-game: https://d.fivem.dev/2019-03-15_18-24_c7802_846.png + -- + -- Here is a list of almost all of the stunt jumps from GTA V (taken from decompiled scripts): https://pastebin.com/EW1jBPkY + ["ADD_STUNT_JUMP_ANGLED"]=--[[int]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] radius1,--[[float]] x3,--[[float]] y3,--[[float]] z3,--[[float]] x4,--[[float]] y4,--[[float]] z4,--[[float]] radius2,--[[float]] camX,--[[float]] camY,--[[float]] camZ,--[[int]] p17,--[[int]] p18,--[[int]] p19)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(radius1);native_invoker.push_arg_float(x3);native_invoker.push_arg_float(y3);native_invoker.push_arg_float(z3);native_invoker.push_arg_float(x4);native_invoker.push_arg_float(y4);native_invoker.push_arg_float(z4);native_invoker.push_arg_float(radius2);native_invoker.push_arg_float(camX);native_invoker.push_arg_float(camY);native_invoker.push_arg_float(camZ);native_invoker.push_arg_int(p17);native_invoker.push_arg_int(p18);native_invoker.push_arg_int(p19);native_invoker.end_call("BBE5D803A5360CBF");return native_invoker.get_return_value_int();end, + -- Toggles some stunt jump stuff. + ["_0xFB80AB299D2EE1BD"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("FB80AB299D2EE1BD");end, + ["DELETE_STUNT_JUMP"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DC518000E39DAE1F");end, + ["ENABLE_STUNT_JUMP_SET"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E369A5783B866016");end, + ["DISABLE_STUNT_JUMP_SET"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A5272EBEDD4747F6");end, + ["SET_STUNT_JUMPS_CAN_TRIGGER"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("D79185689F8FD5DF");end, + ["IS_STUNT_JUMP_IN_PROGRESS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("7A3F19700A4D0525");return native_invoker.get_return_value_bool();end, + ["IS_STUNT_JUMP_MESSAGE_SHOWING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("2272B0A1343129F4");return native_invoker.get_return_value_bool();end, + ["GET_NUM_SUCCESSFUL_STUNT_JUMPS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("996DD1E1E02F1008");return native_invoker.get_return_value_int();end, + ["GET_TOTAL_SUCCESSFUL_STUNT_JUMPS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("6856EC3D35C81EA4");return native_invoker.get_return_value_int();end, + ["CANCEL_STUNT_JUMP"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E6B7B0ACD4E4B75E");end, + -- Make sure to call this from the correct thread if you're using multiple threads because all other threads except the one which is calling SET_GAME_PAUSED will be paused which means you will lose control and the game remains in paused mode until you exit GTA5.exe + ["SET_GAME_PAUSED"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("577D1284D6873711");end, + ["SET_THIS_SCRIPT_CAN_BE_PAUSED"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("AA391C728106F7AF");end, + ["SET_THIS_SCRIPT_CAN_REMOVE_BLIPS_CREATED_BY_ANY_SCRIPT"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("B98236CAAECEF897");end, + -- This native appears on the cheat_controller script and tracks a combination of buttons, which may be used to toggle cheats in-game. Credits to ThreeSocks for the info. The hash contains the combination, while the "amount" represents the amount of buttons used in a combination. The following page can be used to make a button combination: gta5offset.com/ts/hash/ + -- + -- INT_SCORES_SCORTED was a hash collision + ["_HAS_BUTTON_COMBINATION_JUST_BEEN_ENTERED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] hash,--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.push_arg_int(amount);native_invoker.end_call("071E2A839DE82D90");return native_invoker.get_return_value_bool();end, + -- Get inputted "Cheat code", for example: + -- + -- while (TRUE) + -- { + -- if (MISC::_557E43C447E700A8(${fugitive})) + -- { + -- // Do something. + -- } + -- SYSTEM::WAIT(0); + -- } + -- + -- Calling this will also set the last saved string hash to zero. + -- + ["_HAS_CHEAT_STRING_JUST_BEEN_ENTERED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.end_call("557E43C447E700A8");return native_invoker.get_return_value_bool();end, + ["_0xFA3FFB0EEBC288A3"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("FA3FFB0EEBC288A3");end, + -- Formerly known as _LOWER_MAP_PROP_DENSITY and wrongly due to idiots as _ENABLE_MP_DLC_MAPS. + -- Sets the maximum prop density and changes a loading screen flag from 'loading story mode' to 'loading GTA Online'. Does not touch DLC map data at all. + -- + -- In fact, I doubt this changes the flag whatsoever, that's the OTHER native idiots use together with this that does so, this one only causes a loading screen to show as it reloads map data. + ["SET_INSTANCE_PRIORITY_MODE"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("9BAE5AD2508DF078");end, + -- Sets an unknown flag used by CScene in determining which entities from CMapData scene nodes to draw, similar to SET_INSTANCE_PRIORITY_MODE. + ["SET_INSTANCE_PRIORITY_HINT"]=--[[void]] function(--[[int]] flag)native_invoker.begin_call();native_invoker.push_arg_int(flag);native_invoker.end_call("C5F0A8EBD3F361CE");end, + -- This function is hard-coded to always return 0. + ["IS_FRONTEND_FADING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("7EA2B6AF97ECA6ED");return native_invoker.get_return_value_bool();end, + -- spawns a few distant/out-of-sight peds, vehicles, animals etc each time it is called + ["POPULATE_NOW"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("7472BB270D7B4F3E");end, + ["GET_INDEX_OF_CURRENT_LEVEL"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("CBAD6729F7B1F4FC");return native_invoker.get_return_value_int();end, + -- level can be from 0 to 3 + -- 0: 9.8 - normal + -- 1: 2.4 - low + -- 2: 0.1 - very low + -- 3: 0.0 - off + -- + -- //SuckMyCoke + ["SET_GRAVITY_LEVEL"]=--[[void]] function(--[[int]] level)native_invoker.begin_call();native_invoker.push_arg_int(level);native_invoker.end_call("740E14FAD5842351");end, + ["START_SAVE_DATA"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("A9575F812C6A7997");end, + ["STOP_SAVE_DATA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("74E20C9145FB66FD");end, + ["GET_SIZE_OF_SAVE_DATA"]=--[[int]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("A09F896CE912481F");return native_invoker.get_return_value_int();end, + ["REGISTER_INT_TO_SAVE"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_string(name);native_invoker.end_call("34C9EE5986258415");end, + ["_REGISTER_INT64_TO_SAVE"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_string(name);native_invoker.end_call("A735353C77334EA0");end, + ["REGISTER_ENUM_TO_SAVE"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_string(name);native_invoker.end_call("10C2FA78D0E128A1");end, + ["REGISTER_FLOAT_TO_SAVE"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_string(name);native_invoker.end_call("7CAEC29ECB5DFEBB");end, + ["REGISTER_BOOL_TO_SAVE"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_string(name);native_invoker.end_call("C8F4131414C835A1");end, + ["REGISTER_TEXT_LABEL_TO_SAVE"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_string(name);native_invoker.end_call("EDB1232C5BEAE62F");end, + -- Seems to have the same functionality as REGISTER_TEXT_LABEL_TO_SAVE? + -- + -- MISC::_6F7794F28C6B2535(&a_0._f1, "tlPlateText"); + -- MISC::_6F7794F28C6B2535(&a_0._f1C, "tlPlateText_pending"); + -- MISC::_6F7794F28C6B2535(&a_0._f10B, "tlCarAppPlateText"); + -- + -- "tl" prefix sounds like "Text Label" + ["_REGISTER_TEXT_LABEL_TO_SAVE_2"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_string(name);native_invoker.end_call("6F7794F28C6B2535");end, + -- Only found 3 times in decompiled scripts. Not a whole lot to go off of. + -- + -- MISC::_48F069265A0E4BEC(a_0, "Movie_Name_For_This_Player"); + -- MISC::_48F069265A0E4BEC(&a_0._fB, "Ringtone_For_This_Player"); + -- MISC::_48F069265A0E4BEC(&a_0._f1EC4._f12[v_A/*6*/], &v_13); // where v_13 is "MPATMLOGSCRS0" thru "MPATMLOGSCRS15" + ["_0x48F069265A0E4BEC"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_string(name);native_invoker.end_call("48F069265A0E4BEC");end, + -- Only found 2 times in decompiled scripts. Not a whole lot to go off of. + -- + -- MISC::_8269816F6CFD40F8(&a_0._f1F5A._f6[0/*8*/], "TEMPSTAT_LABEL"); // gets saved in a struct called "g_SaveData_STRING_ScriptSaves" + -- MISC::_8269816F6CFD40F8(&a_0._f4B4[v_1A/*8*/], &v_5); // where v_5 is "Name0" thru "Name9", gets saved in a struct called "OUTFIT_Name" + ["_0x8269816F6CFD40F8"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_string(name);native_invoker.end_call("8269816F6CFD40F8");end, + -- Another unknown label type... + -- + -- MISC::_FAA457EF263E8763(a_0, "Thumb_label"); + -- MISC::_FAA457EF263E8763(&a_0._f10, "Photo_label"); + -- MISC::_FAA457EF263E8763(a_0, "GXTlabel"); + -- MISC::_FAA457EF263E8763(&a_0._f21, "StringComp"); + -- MISC::_FAA457EF263E8763(&a_0._f43, "SecondStringComp"); + -- MISC::_FAA457EF263E8763(&a_0._f53, "ThirdStringComp"); + -- MISC::_FAA457EF263E8763(&a_0._f32, "SenderStringComp"); + -- MISC::_FAA457EF263E8763(&a_0._f726[v_1A/*16*/], &v_20); // where v_20 is "LastJobTL_0_1" thru "LastJobTL_2_1", gets saved in a struct called "LAST_JobGamer_TL" + -- MISC::_FAA457EF263E8763(&a_0._f4B, "PAID_PLAYER"); + -- MISC::_FAA457EF263E8763(&a_0._f5B, "RADIO_STATION"); + ["_0xFAA457EF263E8763"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_string(name);native_invoker.end_call("FAA457EF263E8763");end, + ["START_SAVE_STRUCT_WITH_SIZE"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[int]] size,--[[string]] structName)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(size);native_invoker.push_arg_string(structName);native_invoker.end_call("BF737600CDDBEADD");end, + ["STOP_SAVE_STRUCT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EB1774DF12BB9F12");end, + ["START_SAVE_ARRAY_WITH_SIZE"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[int]] size,--[[string]] arrayName)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(size);native_invoker.push_arg_string(arrayName);native_invoker.end_call("60FE567DF1B1AF9D");end, + ["STOP_SAVE_ARRAY"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("04456F95153C6BE4");end, + ["_COPY_MEMORY"]=--[[void]] function(--[[Any* (pointer)]] dst,--[[Any* (pointer)]] src,--[[int]] size)native_invoker.begin_call();native_invoker.push_arg_pointer(dst);native_invoker.push_arg_pointer(src);native_invoker.push_arg_int(size);native_invoker.end_call("213AEB2B90CBA7AC");end, + -- https://alloc8or.re/gta5/doc/enums/DispatchType.txt + ["ENABLE_DISPATCH_SERVICE"]=--[[void]] function(--[[int]] dispatchService,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(dispatchService);native_invoker.push_arg_bool(toggle);native_invoker.end_call("DC0F817884CDD856");end, + ["BLOCK_DISPATCH_SERVICE_RESOURCE_CREATION"]=--[[void]] function(--[[int]] dispatchService,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(dispatchService);native_invoker.push_arg_bool(toggle);native_invoker.end_call("9B2BD3773123EA2F");end, + ["_GET_NUM_DISPATCHED_UNITS_FOR_PLAYER"]=--[[int]] function(--[[int]] dispatchService)native_invoker.begin_call();native_invoker.push_arg_int(dispatchService);native_invoker.end_call("EB4A0C2D56441717");return native_invoker.get_return_value_int();end, + -- As for the 'police' incident, it will call police cars to you, but unlike PedsInCavalcades & Merryweather they won't start shooting at you unless you shoot first or shoot at them. The top 2 however seem to cancel theirselves if there is noone dead around you or a fire. I only figured them out as I found out the 3rd param is definately the amountOfPeople and they called incident 3 in scripts with 4 people (which the firetruck has) and incident 5 with 2 people (which the ambulence has). The 4 param I cant say is radius, but for the pedsInCavalcades and Merryweather R* uses 0.0f and for the top 3 (Emergency Services) they use 3.0f. + -- + -- Side Note: It seems calling the pedsInCavalcades or Merryweather then removing it seems to break you from calling the EmergencyEvents and I also believe pedsInCavalcades. (The V cavalcades of course not IV). + -- + -- Side Note 2: I say it breaks as if you call this proper, + -- if(CREATE_INCIDENT) etc it will return false if you do as I said above. + -- ===================================================== + ["CREATE_INCIDENT"]=--[[BOOL (bool)]] function(--[[int]] dispatchService,--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] numUnits,--[[float]] radius,--[[int* (pointer)]] outIncidentID,--[[Any (int)]] p7,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(dispatchService);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(numUnits);native_invoker.push_arg_float(radius);native_invoker.push_arg_pointer(outIncidentID);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("3F892CAF67444AE7");return native_invoker.get_return_value_bool();end, + -- As for the 'police' incident, it will call police cars to you, but unlike PedsInCavalcades & Merryweather they won't start shooting at you unless you shoot first or shoot at them. The top 2 however seem to cancel theirselves if there is noone dead around you or a fire. I only figured them out as I found out the 3rd param is definately the amountOfPeople and they called incident 3 in scripts with 4 people (which the firetruck has) and incident 5 with 2 people (which the ambulence has). The 4 param I cant say is radius, but for the pedsInCavalcades and Merryweather R* uses 0.0f and for the top 3 (Emergency Services) they use 3.0f. + -- + -- Side Note: It seems calling the pedsInCavalcades or Merryweather then removing it seems to break you from calling the EmergencyEvents and I also believe pedsInCavalcades. (The V cavalcades of course not IV). + -- + -- Side Note 2: I say it breaks as if you call this proper, + -- if(CREATE_INCIDENT) etc it will return false if you do as I said above. + -- ===================================================== + ["CREATE_INCIDENT_WITH_ENTITY"]=--[[BOOL (bool)]] function(--[[int]] dispatchService,--[[Ped (int)]] ped,--[[int]] numUnits,--[[float]] radius,--[[int* (pointer)]] outIncidentID,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(dispatchService);native_invoker.push_arg_int(ped);native_invoker.push_arg_int(numUnits);native_invoker.push_arg_float(radius);native_invoker.push_arg_pointer(outIncidentID);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("05983472F0494E60");return native_invoker.get_return_value_bool();end, + -- Delete an incident with a given id. + -- + -- ======================================================= + -- Correction, I have change this to int, instead of int* + -- as it doesn't use a pointer to the createdIncident. + -- If you try it you will crash (or) freeze. + -- ======================================================= + ["DELETE_INCIDENT"]=--[[void]] function(--[[int]] incidentId)native_invoker.begin_call();native_invoker.push_arg_int(incidentId);native_invoker.end_call("556C1AA270D5A207");end, + -- ======================================================= + -- Correction, I have change this to int, instead of int* + -- as it doesn't use a pointer to the createdIncident. + -- If you try it you will crash (or) freeze. + -- ======================================================= + ["IS_INCIDENT_VALID"]=--[[BOOL (bool)]] function(--[[int]] incidentId)native_invoker.begin_call();native_invoker.push_arg_int(incidentId);native_invoker.end_call("C8BC6461E629BEAA");return native_invoker.get_return_value_bool();end, + ["SET_INCIDENT_REQUESTED_UNITS"]=--[[void]] function(--[[int]] incidentId,--[[int]] dispatchService,--[[int]] numUnits)native_invoker.begin_call();native_invoker.push_arg_int(incidentId);native_invoker.push_arg_int(dispatchService);native_invoker.push_arg_int(numUnits);native_invoker.end_call("B08B85D860E7BA3C");end, + -- SET_INCIDENT_* + ["_SET_INCIDENT_UNK"]=--[[void]] function(--[[int]] incidentId,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(incidentId);native_invoker.push_arg_float(p1);native_invoker.end_call("D261BA3E7E998072");end, + -- Finds a position ahead of the player by predicting the players next actions. + -- The positions match path finding node positions. + -- When roads diverge, the position may rapidly change between two or more positions. This is due to the engine not being certain of which path the player will take. + -- + -- ======================================================= + -- I may sort this with alter research, but if someone + -- already knows please tell what the difference in + -- X2, Y2, Z2 is. I doubt it's rotation. Is it like + -- checkpoints where X1, Y1, Z1 is your/a position and + -- X2, Y2, Z2 is a given position ahead of that position? + -- ======================================================= + ["FIND_SPAWN_POINT_IN_DIRECTION"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] distance,--[[Vector3* (pointer)]] spawnPoint)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(distance);native_invoker.push_arg_pointer(spawnPoint);native_invoker.end_call("6874E2190B0C1972");return native_invoker.get_return_value_bool();end, + ["ADD_POP_MULTIPLIER_AREA"]=--[[int]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] p6,--[[float]] p7,--[[BOOL (bool)]] p8,--[[BOOL (bool)]] p9)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_bool(p9);native_invoker.end_call("67F6413D3220E18D");return native_invoker.get_return_value_int();end, + ["DOES_POP_MULTIPLIER_AREA_EXIST"]=--[[BOOL (bool)]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("1327E2FE9746BAEE");return native_invoker.get_return_value_bool();end, + ["REMOVE_POP_MULTIPLIER_AREA"]=--[[void]] function(--[[int]] id,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.push_arg_bool(p1);native_invoker.end_call("B129E447A2EDA4BF");end, + ["_IS_POP_MULTIPLIER_AREA_UNK"]=--[[BOOL (bool)]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("1312F4B242609CE3");return native_invoker.get_return_value_bool();end, + -- This native is adding a zone, where you can change density settings. For example, you can add a zone on 0.0, 0.0, 0.0 with radius 900.0 and vehicleMultiplier 0.0, and you will not see any new population vehicle spawned in a radius of 900.0 from 0.0, 0.0, 0.0. Returns the id. You can have only 15 zones at the same time. You can remove zone using REMOVE_POP_MULTIPLIER_SPHERE + ["ADD_POP_MULTIPLIER_SPHERE"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[float]] pedMultiplier,--[[float]] vehicleMultiplier,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_float(pedMultiplier);native_invoker.push_arg_float(vehicleMultiplier);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.end_call("32C7A7E8C43A1F80");return native_invoker.get_return_value_int();end, + ["DOES_POP_MULTIPLIER_SPHERE_EXIST"]=--[[BOOL (bool)]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("171BAFB3C60389F4");return native_invoker.get_return_value_bool();end, + -- Removes population multiplier sphere + ["REMOVE_POP_MULTIPLIER_SPHERE"]=--[[void]] function(--[[int]] id,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.push_arg_bool(p1);native_invoker.end_call("E6869BECDD8F2403");end, + -- Makes the ped jump around like they're in a tennis match + ["ENABLE_TENNIS_MODE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_bool(p2);native_invoker.end_call("28A04B411933F8A6");end, + ["IS_TENNIS_MODE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("5D5479D115290C3F");return native_invoker.get_return_value_bool();end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["PLAY_TENNIS_SWING_ANIM"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] animDict,--[[string]] animName,--[[float]] p3,--[[float]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("E266ED23311F24D4");end, + ["GET_TENNIS_SWING_ANIM_COMPLETE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("17DF68D720AA77F8");return native_invoker.get_return_value_bool();end, + -- Related to tennis mode. + -- + -- GET_TENNIS_* + ["_0x19BFED045C647C49"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("19BFED045C647C49");return native_invoker.get_return_value_bool();end, + -- Related to tennis mode. + -- + -- GET_TENNIS_* + ["_0xE95B0C7D5BA3B96B"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("E95B0C7D5BA3B96B");return native_invoker.get_return_value_bool();end, + ["PLAY_TENNIS_DIVE_ANIM"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("8FA9C42FC5D7C64B");end, + -- From the scripts: + -- + -- MISC::_54F157E0336A3822(sub_aa49(a_0), "ForcedStopDirection", v_E); + -- + -- Related to tennis mode. + -- + -- SET_* + ["_0x54F157E0336A3822"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] p1,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(p1);native_invoker.push_arg_float(p2);native_invoker.end_call("54F157E0336A3822");end, + ["_RESET_DISPATCH_SPAWN_LOCATION"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5896F2BD5683A4E1");end, + ["SET_DISPATCH_SPAWN_LOCATION"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("D10F442036302D50");end, + ["RESET_DISPATCH_IDEAL_SPAWN_DISTANCE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("77A84429DD9F0A15");end, + ["SET_DISPATCH_IDEAL_SPAWN_DISTANCE"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("6FE601A64180D423");end, + ["RESET_DISPATCH_TIME_BETWEEN_SPAWN_ATTEMPTS"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("EB2DB0CAD13154B3");end, + ["SET_DISPATCH_TIME_BETWEEN_SPAWN_ATTEMPTS"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("44F7CBC1BEB3327D");end, + ["SET_DISPATCH_TIME_BETWEEN_SPAWN_ATTEMPTS_MULTIPLIER"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("48838ED9937A15D1");end, + -- To remove, see: REMOVE_DISPATCH_SPAWN_BLOCKING_AREA + -- See IS_POINT_IN_ANGLED_AREA for the definition of an angled area. + ["_ADD_DISPATCH_SPAWN_BLOCKING_ANGLED_AREA"]=--[[Any (int)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] width)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(width);native_invoker.end_call("918C7B2D2FF3928B");return native_invoker.get_return_value_int();end, + ["_ADD_DISPATCH_SPAWN_BLOCKING_AREA"]=--[[Any (int)]] function(--[[float]] x1,--[[float]] y1,--[[float]] x2,--[[float]] y2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.end_call("2D4259F1FEB81DA9");return native_invoker.get_return_value_int();end, + ["REMOVE_DISPATCH_SPAWN_BLOCKING_AREA"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("264AC28B01B353A5");end, + ["RESET_DISPATCH_SPAWN_BLOCKING_AREAS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("AC7BFD5C1D83EA75");end, + -- RESET_* + ["_0xD9F692D349249528"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D9F692D349249528");end, + -- SET_* + ["_0xE532EC1A63231B4F"]=--[[void]] function(--[[int]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("E532EC1A63231B4F");end, + -- Adds a point related to CTacticalAnalysis + ["_ADD_TACTICAL_ANALYSIS_POINT"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("B8721407EE9C3FF6");end, + ["_CLEAR_TACTICAL_ANALYSIS_POINTS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B3CD58CCA6CDA852");end, + -- Activates (usused?) riot mode. All NPCs are being hostile to each other (including player). Also the game will give weapons (pistols, smgs) to random NPCs. + ["SET_RIOT_MODE_ENABLED"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("2587A48BC88DFADF");end, + ["DISPLAY_ONSCREEN_KEYBOARD_WITH_LONGER_INITIAL_STRING"]=--[[void]] function(--[[int]] p0,--[[string]] windowTitle,--[[Any* (pointer)]] p2,--[[string]] defaultText,--[[string]] defaultConcat1,--[[string]] defaultConcat2,--[[string]] defaultConcat3,--[[string]] defaultConcat4,--[[string]] defaultConcat5,--[[string]] defaultConcat6,--[[string]] defaultConcat7,--[[int]] maxInputLength)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(windowTitle);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_string(defaultText);native_invoker.push_arg_string(defaultConcat1);native_invoker.push_arg_string(defaultConcat2);native_invoker.push_arg_string(defaultConcat3);native_invoker.push_arg_string(defaultConcat4);native_invoker.push_arg_string(defaultConcat5);native_invoker.push_arg_string(defaultConcat6);native_invoker.push_arg_string(defaultConcat7);native_invoker.push_arg_int(maxInputLength);native_invoker.end_call("CA78CFA0366592FE");end, + -- sfink: note, p0 is set to 6 for PC platform in at least 1 script, or to `unk::_get_ui_language_id() == 0` otherwise. + -- + -- NOTE: windowTitle uses text labels, and an invalid value will display nothing. + -- + -- www.gtaforums.com/topic/788343-vrel-script-hook-v/?p=1067380474 + -- + -- windowTitle's + -- ----------------- + -- CELL_EMAIL_BOD = "Enter your Eyefind message" + -- CELL_EMAIL_BODE = "Message too long. Try again" + -- CELL_EMAIL_BODF = "Forbidden message. Try again" + -- CELL_EMAIL_SOD = "Enter your Eyefind subject" + -- CELL_EMAIL_SODE = "Subject too long. Try again" + -- CELL_EMAIL_SODF = "Forbidden text. Try again" + -- CELL_EMASH_BOD = "Enter your Eyefind message" + -- CELL_EMASH_BODE = "Message too long. Try again" + -- CELL_EMASH_BODF = "Forbidden message. Try again" + -- CELL_EMASH_SOD = "Enter your Eyefind subject" + -- CELL_EMASH_SODE = "Subject too long. Try again" + -- CELL_EMASH_SODF = "Forbidden Text. Try again" + -- FMMC_KEY_TIP10 = "Enter Synopsis" + -- FMMC_KEY_TIP12 = "Enter Custom Team Name" + -- FMMC_KEY_TIP12F = "Forbidden Text. Try again" + -- FMMC_KEY_TIP12N = "Custom Team Name" + -- FMMC_KEY_TIP8 = "Enter Message" + -- FMMC_KEY_TIP8F = "Forbidden Text. Try again" + -- FMMC_KEY_TIP8FS = "Invalid Message. Try again" + -- FMMC_KEY_TIP8S = "Enter Message" + -- FMMC_KEY_TIP9 = "Enter Outfit Name" + -- FMMC_KEY_TIP9F = "Invalid Outfit Name. Try again" + -- FMMC_KEY_TIP9N = "Outfit Name" + -- PM_NAME_CHALL = "Enter Challenge Name" + ["DISPLAY_ONSCREEN_KEYBOARD"]=--[[void]] function(--[[int]] p0,--[[string]] windowTitle,--[[string]] p2,--[[string]] defaultText,--[[string]] defaultConcat1,--[[string]] defaultConcat2,--[[string]] defaultConcat3,--[[int]] maxInputLength)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(windowTitle);native_invoker.push_arg_string(p2);native_invoker.push_arg_string(defaultText);native_invoker.push_arg_string(defaultConcat1);native_invoker.push_arg_string(defaultConcat2);native_invoker.push_arg_string(defaultConcat3);native_invoker.push_arg_int(maxInputLength);native_invoker.end_call("00DC833F2568DBF6");end, + -- Returns the current status of the onscreen keyboard, and updates the output. + -- + -- Status Codes: + -- + -- -1: Keyboard isn't active + -- 0: User still editing + -- 1: User has finished editing + -- 2: User has canceled editing + ["UPDATE_ONSCREEN_KEYBOARD"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("0CF2B696BBF945AE");return native_invoker.get_return_value_int();end, + -- Returns NULL unless UPDATE_ONSCREEN_KEYBOARD() returns 1 in the same tick. + ["GET_ONSCREEN_KEYBOARD_RESULT"]=--[[string]] function()native_invoker.begin_call();native_invoker.end_call("8362B09B91893647");return native_invoker.get_return_value_string();end, + -- DO NOT use this as it doesn't clean up the text input box properly and your script will get stuck in the UPDATE_ONSCREEN_KEYBOARD() loop. + -- Use _FORCE_CLOSE_TEXT_INPUT_BOX instead. + -- + -- CANCEL_* + ["_CANCEL_ONSCREEN_KEYBOARD"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("58A39BE597CE99CD");end, + -- p0 was always 2 in R* scripts. + -- Called before calling DISPLAY_ONSCREEN_KEYBOARD if the input needs to be saved. + ["_0x3ED1438C1F5C6612"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("3ED1438C1F5C6612");end, + -- Appears to remove stealth kill action from memory + ["_REMOVE_STEALTH_KILL"]=--[[void]] function(--[[Hash (int)]] hash,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.push_arg_bool(p1);native_invoker.end_call("A6A12939F16D85BE");end, + -- Unsure about the use of this native but here's an example: + -- + -- void sub_8709() { + -- MISC::_1EAE0A6E978894A2(0, 1); + -- MISC::_1EAE0A6E978894A2(1, 1); + -- MISC::_1EAE0A6E978894A2(2, 1); + -- MISC::_1EAE0A6E978894A2(3, 1); + -- MISC::_1EAE0A6E978894A2(4, 1); + -- MISC::_1EAE0A6E978894A2(5, 1); + -- MISC::_1EAE0A6E978894A2(6, 1); + -- MISC::_1EAE0A6E978894A2(7, 1); + -- MISC::_1EAE0A6E978894A2(8, 1); + -- } + -- + -- So it appears that p0 ranges from 0 to 8. + -- + -- ENABLE_DISPATCH_SERVICE, seems to have a similar layout. + ["_0x1EAE0A6E978894A2"]=--[[void]] function(--[[int]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("1EAE0A6E978894A2");end, + ["SET_EXPLOSIVE_AMMO_THIS_FRAME"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("A66C71C98D5F2CFB");end, + ["SET_FIRE_AMMO_THIS_FRAME"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("11879CDD803D30F4");end, + ["SET_EXPLOSIVE_MELEE_THIS_FRAME"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("FF1BED81BFDC0FE0");end, + ["SET_SUPER_JUMP_THIS_FRAME"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("57FFF03E423A4C0B");end, + ["_SET_BEAST_MODE_ACTIVE"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("438822C279B73B93");end, + ["_SET_FORCE_PLAYER_TO_JUMP"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("A1183BCFEE0F93D1");end, + -- HAS_* + -- + -- Probably something like "has game been started for the first time". + ["_0x6FDDF453C0C756EC"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("6FDDF453C0C756EC");return native_invoker.get_return_value_bool();end, + ["_0xFB00CA71DA386228"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FB00CA71DA386228");end, + ["ARE_PROFILE_SETTINGS_VALID"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5AA3BEFA29F03AD4");return native_invoker.get_return_value_bool();end, + -- sets something to 1 + ["_0xE3D969D2785FFB5E"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E3D969D2785FFB5E");end, + -- Sets the localplayer playerinfo state back to playing (State 0) + -- + -- States are: + -- -1: "Invalid" + -- 0: "Playing" + -- 1: "Died" + -- 2: "Arrested" + -- 3: "Failed Mission" + -- 4: "Left Game" + -- 5: "Respawn" + -- 6: "In MP Cutscene" + ["FORCE_GAME_STATE_PLAYING"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C0AA53F866B3134D");end, + ["SCRIPT_RACE_INIT"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("0A60017F841A54F2");end, + ["SCRIPT_RACE_SHUTDOWN"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1FF6BF9A63E5757F");end, + -- SCRIPT_RACE_* + ["_0x1BB299305C3E8C13"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("1BB299305C3E8C13");end, + ["SCRIPT_RACE_GET_PLAYER_SPLIT_TIME"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[int* (pointer)]] p1,--[[int* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("8EF5573A1F801A5C");return native_invoker.get_return_value_bool();end, + -- Begins with START_*. Next character in the name is either D or E. + ["_START_BENCHMARK_RECORDING"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("92790862E36C2ADA");end, + -- Begins with STOP_*. Next character in the name is either D or E. + ["_STOP_BENCHMARK_RECORDING"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C7DB36C24634F52B");end, + -- Begins with RESET_*. Next character in the name is either D or E. + ["_RESET_BENCHMARK_RECORDING"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("437138B6A830166A");end, + -- Saves the benchmark recording to %USERPROFILE%\Documents\Rockstar Games\GTA V\Benchmarks and submits some metrics. + ["_SAVE_BENCHMARK_RECORDING"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("37DEB0AA183FB6D8");end, + -- Returns true if the current frontend menu is FE_MENU_VERSION_SP_PAUSE + -- + -- U* + ["_UI_IS_SINGLEPLAYER_PAUSE_MENU_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("EA2F2061875EED90");return native_invoker.get_return_value_bool();end, + -- Returns true if the current frontend menu is FE_MENU_VERSION_LANDING_MENU + ["_LANDING_MENU_IS_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("3BBBD13E5041A79E");return native_invoker.get_return_value_bool();end, + -- Returns true if command line option '-benchmark' is set. + ["_IS_COMMAND_LINE_BENCHMARK_VALUE_SET"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A049A5BE0F04F2F8");return native_invoker.get_return_value_bool();end, + -- Returns value of the '-benchmarkIterations' command line option. + ["_GET_BENCHMARK_ITERATIONS_FROM_COMMAND_LINE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("4750FC27570311EC");return native_invoker.get_return_value_int();end, + -- Returns value of the '-benchmarkPass' command line option. + ["_GET_BENCHMARK_PASS_FROM_COMMAND_LINE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("1B2366C3F2A5C8DF");return native_invoker.get_return_value_int();end, + -- In singleplayer it does exactly what the name implies. In FiveM / GTA:Online it shows `Disconnecting from GTA Online` HUD and then quits the game. + ["_RESTART_GAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E574A662ACAEFBB1");end, + -- Exits the game and downloads a fresh social club update on next restart. + ["_FORCE_SOCIAL_CLUB_UPDATE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EB6891F03362FB12");end, + -- Hardcoded to always return true. + ["_HAS_ASYNC_INSTALL_FINISHED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("14832BF2ABA53FC5");return native_invoker.get_return_value_bool();end, + ["_CLEANUP_ASYNC_INSTALL"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C79AE21974B01FB2");end, + -- aka "constrained" + ["_IS_IN_POWER_SAVING_MODE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("684A41975F077262");return native_invoker.get_return_value_bool();end, + -- Returns duration of how long the game has been in power-saving mode (aka "constrained") in milliseconds. + ["_GET_POWER_SAVING_MODE_DURATION"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("ABB2FA71C83A1B72");return native_invoker.get_return_value_int();end, + -- If toggle is true, the ped's head is shown in the pause menu + -- If toggle is false, the ped's head is not shown in the pause menu + ["_SET_PLAYER_IS_IN_ANIMAL_FORM"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("4EBB7E87AA0DBED4");end, + -- Although we don't have a jenkins hash for this one, the name is 100% confirmed. + ["GET_IS_PLAYER_IN_ANIMAL_FORM"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("9689123E3F213AA5");return native_invoker.get_return_value_bool();end, + -- SET_PLAYER_* + ["_SET_PLAYER_ROCKSTAR_EDITOR_DISABLED"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("9D8D44ADBBA61EF2");end, + -- Does nothing (it's a nullsub). + ["_0x23227DF0B2115469"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("23227DF0B2115469");end, + ["_0xD10282B6E3751BA0"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("D10282B6E3751BA0");return native_invoker.get_return_value_int();end, + ["_0x693478ACBD7F18E7"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("693478ACBD7F18E7");end, +} +MOBILE={ + -- Creates a mobile phone of the specified type. + -- + -- Possible phone types: + -- + -- 0 - Default phone / Michael's phone + -- 1 - Trevor's phone + -- 2 - Franklin's phone + -- 4 - Prologue phone + -- + -- These values represent bit flags, so a value of '3' would toggle Trevor and Franklin's phones together, causing unexpected behavior and most likely crash the game. + ["CREATE_MOBILE_PHONE"]=--[[void]] function(--[[int]] phoneType)native_invoker.begin_call();native_invoker.push_arg_int(phoneType);native_invoker.end_call("A4E8E696C532FBC7");end, + -- Destroys the currently active mobile phone. + ["DESTROY_MOBILE_PHONE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("3BC861DF703E5097");end, + -- The minimum/default is 500.0f. If you plan to make it bigger set it's position as well. Also this seems to need to be called in a loop as when you close the phone the scale is reset. If not in a loop you'd need to call it everytime before you re-open the phone. + ["SET_MOBILE_PHONE_SCALE"]=--[[void]] function(--[[float]] scale)native_invoker.begin_call();native_invoker.push_arg_float(scale);native_invoker.end_call("CBDD322A73D6D932");end, + -- Last parameter is unknown and always zero. + ["SET_MOBILE_PHONE_ROTATION"]=--[[void]] function(--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_int(p3);native_invoker.end_call("BB779C0CA917E865");end, + ["GET_MOBILE_PHONE_ROTATION"]=--[[void]] function(--[[Vector3* (pointer)]] rotation,--[[Vehicle (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(rotation);native_invoker.push_arg_int(p1);native_invoker.end_call("1CEFB61F193070AE");end, + ["SET_MOBILE_PHONE_POSITION"]=--[[void]] function(--[[float]] posX,--[[float]] posY,--[[float]] posZ)native_invoker.begin_call();native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.end_call("693A5C6D6734085B");end, + ["GET_MOBILE_PHONE_POSITION"]=--[[void]] function(--[[Vector3* (pointer)]] position)native_invoker.begin_call();native_invoker.push_arg_pointer(position);native_invoker.end_call("584FDFDA48805B86");end, + -- If bool Toggle = true so the mobile is hide to screen. + -- If bool Toggle = false so the mobile is show to screen. + ["SCRIPT_IS_MOVING_MOBILE_PHONE_OFFSCREEN"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("F511F759238A5122");end, + -- This one is weird and seems to return a TRUE state regardless of whether the phone is visible on screen or tucked away. + -- + -- + -- I can confirm the above. This function is hard-coded to always return 1. + ["CAN_PHONE_BE_SEEN_ON_SCREEN"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C4E2813898C97A4B");return native_invoker.get_return_value_bool();end, + ["_SET_MOBILE_PHONE_UNK"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("375A706A5C2FD084");end, + -- For move the finger of player, the value of int goes 1 at 5. + ["_CELL_CAM_MOVE_FINGER"]=--[[void]] function(--[[int]] direction)native_invoker.begin_call();native_invoker.push_arg_int(direction);native_invoker.end_call("95C9E72F3D7DEC9B");end, + -- if the bool "Toggle" is "true" so the phone is lean. + -- if the bool "Toggle" is "false" so the phone is not lean. + ["_CELL_CAM_SET_LEAN"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("44E44169EF70138E");end, + ["CELL_CAM_ACTIVATE"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("FDE8F069C542D126");end, + -- Disables the phone up-button, oddly enough. + -- i.e.: When the phone is out, and this method is called with false as it's parameter, the phone will not be able to scroll up. However, when you use the down arrow key, it's functionality still, works on the phone. + -- + -- When the phone is not out, and this method is called with false as it's parameter, you will not be able to bring up the phone. Although the up arrow key still works for whatever functionality it's used for, just not for the phone. + -- + -- This can be used for creating menu's when trying to disable the phone from being used. + -- + -- You do not have to call the function again with false as a parameter, as soon as the function stops being called, the phone will again be usable. + ["_CELL_CAM_DISABLE_THIS_FRAME"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("015C49A93E3E086E");end, + -- Needs more research. If the "phone_cam12" filter is applied, this function is called with "TRUE"; otherwise, "FALSE". + -- + -- Example (XBOX 360): + -- + -- // check current filter selection + -- if (MISC::ARE_STRINGS_EQUAL(getElem(g_2471024, &l_17, 4), "phone_cam12") != 0) + -- { + -- MOBILE::_0xC273BB4D(0); // FALSE + -- } + -- else + -- { + -- MOBILE::_0xC273BB4D(1); // TRUE + -- } + ["_0xA2CCBE62CD4C91A4"]=--[[void]] function(--[[int* (pointer)]] toggle)native_invoker.begin_call();native_invoker.push_arg_pointer(toggle);native_invoker.end_call("A2CCBE62CD4C91A4");end, + ["_0x1B0B4AEED5B9B41C"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("1B0B4AEED5B9B41C");end, + ["_0x53F4892D18EC90A4"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("53F4892D18EC90A4");end, + ["_0x3117D84EFA60F77B"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("3117D84EFA60F77B");end, + ["_0x15E69E2802C24B8D"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("15E69E2802C24B8D");end, + ["_0xAC2890471901861C"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("AC2890471901861C");end, + ["_0xD6ADE981781FCA09"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("D6ADE981781FCA09");end, + ["_0xF1E22DC13F5EEBAD"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("F1E22DC13F5EEBAD");end, + ["_0x466DA42C89865553"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("466DA42C89865553");end, + ["CELL_CAM_IS_CHAR_VISIBLE_NO_FACE_CHECK"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("439E9BC95B7E7FBE");return native_invoker.get_return_value_bool();end, + ["GET_MOBILE_PHONE_RENDER_ID"]=--[[void]] function(--[[int* (pointer)]] renderId)native_invoker.begin_call();native_invoker.push_arg_pointer(renderId);native_invoker.end_call("B4A53E05F68B6FA1");end, +} +MONEY={ + ["NETWORK_INITIALIZE_CASH"]=--[[void]] function(--[[int]] wallet,--[[int]] bank)native_invoker.begin_call();native_invoker.push_arg_int(wallet);native_invoker.push_arg_int(bank);native_invoker.end_call("3DA5ECD1A56CBA6D");end, + -- Note the 2nd parameters are always 1, 0. I have a feeling it deals with your money, wallet, bank. So when you delete the character it of course wipes the wallet cash at that time. So if that was the case, it would be eg, NETWORK_DELETE_CHARACTER(characterIndex, deleteWalletCash, deleteBankCash); + ["NETWORK_DELETE_CHARACTER"]=--[[void]] function(--[[int]] characterSlot,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(characterSlot);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("05A50AF38947EB8D");end, + ["_NETWORK_MANUAL_DELETE_CHARACTER"]=--[[void]] function(--[[int]] characterSlot)native_invoker.begin_call();native_invoker.push_arg_int(characterSlot);native_invoker.end_call("821418C727FCACD7");end, + ["_NETWORK_GET_IS_HIGH_EARNER"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("FB2456B2040A6A67");return native_invoker.get_return_value_bool();end, + ["NETWORK_CLEAR_CHARACTER_WALLET"]=--[[void]] function(--[[int]] characterSlot)native_invoker.begin_call();native_invoker.push_arg_int(characterSlot);native_invoker.end_call("A921DED15FDF28F5");end, + ["NETWORK_GIVE_PLAYER_JOBSHARE_CASH"]=--[[void]] function(--[[int]] amount,--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("FB18DF9CB95E0105");end, + ["NETWORK_RECEIVE_PLAYER_JOBSHARE_CASH"]=--[[void]] function(--[[int]] value,--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("56A3B51944C50598");end, + ["NETWORK_CAN_SHARE_JOB_CASH"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("1C2473301B1C66BA");return native_invoker.get_return_value_bool();end, + -- index + -- ------- + -- See function sub_1005 in am_boat_taxi.ysc + -- + -- context + -- ---------- + -- "BACKUP_VAGOS" + -- "BACKUP_LOST" + -- "BACKUP_FAMILIES" + -- "HIRE_MUGGER" + -- "HIRE_MERCENARY" + -- "BUY_CARDROPOFF" + -- "HELI_PICKUP" + -- "BOAT_PICKUP" + -- "CLEAR_WANTED" + -- "HEAD_2_HEAD" + -- "CHALLENGE" + -- "SHARE_LAST_JOB" + -- "DEFAULT" + -- + -- reason + -- --------- + -- "NOTREACHTARGET" + -- "TARGET_ESCAPE" + -- "DELIVERY_FAIL" + -- "NOT_USED" + -- "TEAM_QUIT" + -- "SERVER_ERROR" + -- "RECEIVE_LJ_L" + -- "CHALLENGE_PLAYER_LEFT" + -- "DEFAULT" + -- + -- unk + -- ----- + -- Unknown bool value + -- + -- + ["NETWORK_REFUND_CASH"]=--[[void]] function(--[[int]] index,--[[string]] context,--[[string]] reason,--[[BOOL (bool)]] unk)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_string(context);native_invoker.push_arg_string(reason);native_invoker.push_arg_bool(unk);native_invoker.end_call("F9C812CD7C46E817");end, + ["_NETWORK_DEDUCT_CASH"]=--[[void]] function(--[[int]] amount,--[[string]] p1,--[[string]] p2,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_string(p1);native_invoker.push_arg_string(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("18B7AE224B087E26");end, + ["NETWORK_MONEY_CAN_BET"]=--[[BOOL (bool)]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("81404F3DC124FE5B");return native_invoker.get_return_value_bool();end, + ["NETWORK_CAN_BET"]=--[[BOOL (bool)]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("3A54E33660DED67F");return native_invoker.get_return_value_bool();end, + ["NETWORK_CAN_BUY_LOTTERY_TICKET"]=--[[BOOL (bool)]] function(--[[int]] cost)native_invoker.begin_call();native_invoker.push_arg_int(cost);native_invoker.end_call("C62DD18375C99130");return native_invoker.get_return_value_bool();end, + -- GTAO_CASINO_HOUSE + -- GTAO_CASINO_INSIDETRACK + -- GTAO_CASINO_LUCKYWHEEL + -- GTAO_CASINO_BLACKJACK + -- GTAO_CASINO_ROULETTE + -- GTAO_CASINO_SLOTS + -- GTAO_CASINO_PURCHASE_CHIPS + -- + -- NETWORK_C* + ["_NETWORK_CASINO_CAN_USE_GAMBLING_TYPE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.end_call("158C16F5E4CF41F8");return native_invoker.get_return_value_bool();end, + -- Same as 0x8968D4D8C6C40C11. + -- + -- NETWORK_C* + ["_NETWORK_CASINO_CAN_PURCHASE_CHIPS_WITH_PVC"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("394DCDB9E836B7A9");return native_invoker.get_return_value_bool();end, + -- NETWORK_C* + ["_NETWORK_CASINO_CAN_GAMBLE"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F62F6D9528358FE4");return native_invoker.get_return_value_bool();end, + -- Same as 0x394DCDB9E836B7A9. + -- + -- NETWORK_C* + ["_NETWORK_CASINO_CAN_PURCHASE_CHIPS_WITH_PVC_2"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("8968D4D8C6C40C11");return native_invoker.get_return_value_bool();end, + -- NETWORK_C* + ["_NETWORK_CASINO_PURCHASE_CHIPS"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("3BD101471C7F9EEC");return native_invoker.get_return_value_bool();end, + -- NETWORK_C* + ["_NETWORK_CASINO_SELL_CHIPS"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("ED44897CB336F480");return native_invoker.get_return_value_bool();end, + -- Does nothing (it's a nullsub). + ["_0xCD0F5B5D932AE473"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("CD0F5B5D932AE473");end, + -- CAN_* + ["_CAN_PAY_GOON"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[int]] p1,--[[int]] amount,--[[int* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(amount);native_invoker.push_arg_pointer(p3);native_invoker.end_call("9777734DAD16992F");return native_invoker.get_return_value_bool();end, + ["_NETWORK_EARN_FROM_CASHING_OUT"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("EFE9C9A1651B81E6");end, + ["NETWORK_EARN_FROM_PICKUP"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("ED1517D3AF17C698");end, + ["_NETWORK_EARN_FROM_GANG_PICKUP"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("A03D4ACE0A3284CE");end, + ["_NETWORK_EARN_FROM_ASSASSINATE_TARGET_KILLED"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("FA700D8A9905F78A");end, + -- For the money bags that drop a max of $40,000. Often called 40k bags. + -- + -- Most likely NETWORK_EARN_FROM_ROB*** + ["_NETWORK_EARN_FROM_ARMOUR_TRUCK"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("F514621E8EA463D0");end, + ["NETWORK_EARN_FROM_CRATE_DROP"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("B1CC1B9EC3007A2A");end, + ["NETWORK_EARN_FROM_BETTING"]=--[[void]] function(--[[int]] amount,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_string(p1);native_invoker.end_call("827A5BA1A44ACA6D");end, + ["NETWORK_EARN_FROM_JOB"]=--[[void]] function(--[[int]] amount,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_string(p1);native_invoker.end_call("B2CC4836834E8A98");end, + ["_NETWORK_EARN_FROM_JOB_X2"]=--[[void]] function(--[[int]] amount,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_string(p1);native_invoker.end_call("DEBBF584665411D0");end, + ["_NETWORK_EARN_FROM_PREMIUM_JOB"]=--[[void]] function(--[[int]] amount,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_string(p1);native_invoker.end_call("C8407624CEF2354B");end, + ["NETWORK_EARN_FROM_BEND_JOB"]=--[[void]] function(--[[int]] amount,--[[string]] heistHash)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_string(heistHash);native_invoker.end_call("61326EE6DF15B0CA");end, + ["NETWORK_EARN_FROM_CHALLENGE_WIN"]=--[[void]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("2B171E6B2F64D8DF");end, + ["NETWORK_EARN_FROM_BOUNTY"]=--[[void]] function(--[[int]] amount,--[[int* (pointer)]] networkHandle,--[[Any* (pointer)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("131BB5DA15453ACF");end, + ["NETWORK_EARN_FROM_IMPORT_EXPORT"]=--[[void]] function(--[[int]] amount,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(modelHash);native_invoker.end_call("F92A014A634442D6");end, + ["NETWORK_EARN_FROM_HOLDUPS"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("45B8154E077D9E4D");end, + ["NETWORK_EARN_FROM_PROPERTY"]=--[[void]] function(--[[int]] amount,--[[Hash (int)]] propertyName)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(propertyName);native_invoker.end_call("849648349D77F5C5");end, + -- DSPORT + ["NETWORK_EARN_FROM_AI_TARGET_KILL"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("515B4A22E4D3C6D7");end, + ["NETWORK_EARN_FROM_NOT_BADSPORT"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("4337511FA8221D36");end, + ["NETWORK_EARN_FROM_ROCKSTAR"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("02CE1D6AC0FC73EA");end, + ["NETWORK_EARN_FROM_VEHICLE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.end_call("B539BD8A4C1EECF8");end, + ["NETWORK_EARN_FROM_PERSONAL_VEHICLE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("3F4D00167E41E0AD");end, + ["NETWORK_EARN_FROM_DAILY_OBJECTIVES"]=--[[void]] function(--[[int]] p0,--[[string]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("6EA318C91C1A8786");end, + -- Example for p1: "AM_DISTRACT_COPS" + ["NETWORK_EARN_FROM_AMBIENT_JOB"]=--[[void]] function(--[[int]] p0,--[[string]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("FB6DB092FBAE29E6");end, + ["_0xD20D79671A598594"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("D20D79671A598594");end, + ["NETWORK_EARN_FROM_JOB_BONUS"]=--[[void]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("6816FB4416760775");end, + ["_0x9D4FDBB035229669"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("9D4FDBB035229669");end, + ["_0x11B0A20C493F7E36"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("11B0A20C493F7E36");end, + ["_0xCDA1C62BE2777802"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("CDA1C62BE2777802");end, + ["_0x08B0CA7A6AB3AC32"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("08B0CA7A6AB3AC32");end, + ["_0x0CB1BE0633C024A8"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("0CB1BE0633C024A8");end, + ["_NETWORK_EARN_FROM_WAREHOUSE"]=--[[void]] function(--[[int]] amount,--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(id);native_invoker.end_call("3E4ADAFF1830F146");end, + ["_NETWORK_EARN_FROM_CONTRABAND"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.end_call("ECA658CE2A4E5A72");end, + ["_0x84C0116D012E8FC2"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("84C0116D012E8FC2");end, + ["_0x6B7E4FB50D5F3D65"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("6B7E4FB50D5F3D65");end, + ["_0x31BA138F6304FB9F"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("31BA138F6304FB9F");end, + ["_0x55A1E095DB052FA5"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("55A1E095DB052FA5");end, + ["_NETWORK_EARN_FROM_BUSINESS_PRODUCT"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("8586789730B10CAF");end, + ["_NETWORK_EARN_FROM_VEHICLE_EXPORT"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("EDEAD9A91EC768B3");end, + ["_NETWORK_EARN_FROM_SMUGGLING"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("DEE612F2D71B0308");end, + ["_0xF6B170F9A02E9E87"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F6B170F9A02E9E87");end, + ["_0x42FCE14F50F27291"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("42FCE14F50F27291");end, + ["_0xA75EAC69F59E96E7"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A75EAC69F59E96E7");end, + ["_0xC5156361F26E2212"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("C5156361F26E2212");end, + ["_0x0B39CF0D53F1C883"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("0B39CF0D53F1C883");end, + ["_0x1FDA0AA679C9919B"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("1FDA0AA679C9919B");end, + ["_0xFFFBA1B1F7C0B6F4"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("FFFBA1B1F7C0B6F4");end, + ["NETWORK_CAN_SPEND_MONEY"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("AB3CAA6B422164DA");return native_invoker.get_return_value_bool();end, + -- NETWORK_CAN_R??? or NETWORK_CAN_S??? + ["_NETWORK_CAN_SPEND_MONEY_2"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3,--[[Any* (pointer)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_pointer(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("7303E27CC6532080");return native_invoker.get_return_value_bool();end, + ["NETWORK_BUY_ITEM"]=--[[void]] function(--[[int]] amount,--[[Hash (int)]] item,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[BOOL (bool)]] p4,--[[string]] item_name,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[BOOL (bool)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(item);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_bool(p4);native_invoker.push_arg_string(item_name);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_bool(p9);native_invoker.end_call("F0077C797F66A355");end, + ["NETWORK_SPENT_TAXI"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("17C3A7D31EAE39F9");end, + ["NETWORK_PAY_EMPLOYEE_WAGE"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("5FD5ED82CBBE9989");end, + ["NETWORK_PAY_UTILITY_BILL"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("AFE08B35EC0C9EAE");end, + ["NETWORK_PAY_MATCH_ENTRY_FEE"]=--[[void]] function(--[[int]] amount,--[[string]] matchId,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_string(matchId);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("9346E14F2AF74D46");end, + ["NETWORK_SPENT_BETTING"]=--[[void]] function(--[[int]] amount,--[[int]] p1,--[[string]] matchId,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_string(matchId);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("1C436FD11FFA692F");end, + ["_NETWORK_SPENT_WAGER"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(amount);native_invoker.end_call("D99DB210089617FE");end, + ["NETWORK_SPENT_IN_STRIPCLUB"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[Any (int)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("EE99784E4467689C");end, + ["NETWORK_BUY_HEALTHCARE"]=--[[void]] function(--[[int]] cost,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(cost);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("D9B067E55253E3DD");end, + -- p1 = 0 (always) + -- p2 = 1 (always) + ["NETWORK_BUY_AIRSTRIKE"]=--[[void]] function(--[[int]] cost,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(cost);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("763B4BD305338F19");end, + ["NETWORK_BUY_BACKUP_GANG"]=--[[void]] function(--[[int]] p0,--[[int]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("A3EDDAA42411D3B9");end, + -- p1 = 0 (always) + -- p2 = 1 (always) + ["NETWORK_BUY_HELI_STRIKE"]=--[[void]] function(--[[int]] cost,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(cost);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("81AA4610E3FD3A69");end, + ["NETWORK_SPENT_AMMO_DROP"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("B162DC95C0A3317B");end, + -- p1 is just an assumption. p2 was false and p3 was true. + ["NETWORK_BUY_BOUNTY"]=--[[void]] function(--[[int]] amount,--[[Player (int)]] victim,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(victim);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("7B718E197453F2D9");end, + ["NETWORK_BUY_PROPERTY"]=--[[void]] function(--[[int]] cost,--[[Hash (int)]] propertyName,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(cost);native_invoker.push_arg_int(propertyName);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("650A08A280870AF6");end, + ["NETWORK_BUY_SMOKES"]=--[[void]] function(--[[int]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("75AF80E61248EEBD");end, + ["NETWORK_SPENT_HELI_PICKUP"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("7BF1D73DB2ECA492");end, + ["NETWORK_SPENT_BOAT_PICKUP"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("524EE43A37232C00");end, + ["NETWORK_SPENT_BULL_SHARK"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("A6DD8458CE24012C");end, + ["NETWORK_SPENT_CASH_DROP"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("289016EC778D60E0");end, + -- Only used once in a script (am_contact_requests) + -- p1 = 0 + -- p2 = 1 + ["NETWORK_SPENT_HIRE_MUGGER"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("E404BFB981665BF0");end, + ["NETWORK_SPENT_ROBBED_BY_MUGGER"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("995A65F15F581359");end, + ["NETWORK_SPENT_HIRE_MERCENARY"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("E7B80E2BF9D80BD6");end, + ["NETWORK_SPENT_BUY_WANTEDLEVEL"]=--[[void]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("E1B13771A843C4F6");end, + ["NETWORK_SPENT_BUY_OFFTHERADAR"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("A628A745E2275C5D");end, + ["NETWORK_SPENT_BUY_REVEAL_PLAYERS"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("6E176F1B18BC0637");end, + ["NETWORK_SPENT_CARWASH"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("EC03C719DB2F4306");end, + ["NETWORK_SPENT_CINEMA"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("6B38ECB05A63A685");end, + ["NETWORK_SPENT_TELESCOPE"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("7FE61782AD94CC09");end, + ["NETWORK_SPENT_HOLDUPS"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("D9B86B9872039763");end, + ["NETWORK_SPENT_BUY_PASSIVE_MODE"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("6D3A430D1A809179");end, + ["NETWORK_SPENT_BANK_INTEREST"]=--[[void]] function(--[[int]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("CA230C9682556CF1");end, + ["NETWORK_SPENT_PROSTITUTES"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("B21B89501CFAC79E");end, + ["NETWORK_SPENT_ARREST_BAIL"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("812F5488B1B2A299");end, + -- According to how I understood this in the freemode script alone, + -- The first parameter is determined by a function named, func_5749 within the freemode script which has a list of all the vehicles and a set price to return which some vehicles deals with globals as well. So the first parameter is basically the set in stone insurance cost it's gonna charge you for that specific vehicle model. + -- + -- The second parameter whoever put it was right, they call GET_ENTITY_MODEL with the vehicle as the paremeter. + -- + -- The third parameter is the network handle as they call their little struct<13> func or atleast how the script decompiled it to look which in lamens terms just returns the network handle of the previous owner based on DECOR_GET_INT(vehicle, "Previous_Owner"). + -- + -- The fourth parameter is a bool that returns true/false depending on if your bank balance is greater then 0. + -- + -- The fifth and last parameter is a bool that returns true/false depending on if you have the money for the car based on the cost returned by func_5749. In the freemode script eg, + -- bool hasTheMoney = MONEY::_GET_BANK_BALANCE() < carCost. + ["NETWORK_SPENT_PAY_VEHICLE_INSURANCE_PREMIUM"]=--[[void]] function(--[[int]] amount,--[[Hash (int)]] vehicleModel,--[[int* (pointer)]] networkHandle,--[[BOOL (bool)]] notBankrupt,--[[BOOL (bool)]] hasTheMoney)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(vehicleModel);native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_bool(notBankrupt);native_invoker.push_arg_bool(hasTheMoney);native_invoker.end_call("9FF28D88C766E3E8");end, + ["NETWORK_SPENT_CALL_PLAYER"]=--[[void]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("ACDE7185B374177C");end, + ["NETWORK_SPENT_BOUNTY"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("29B260B84947DFCC");end, + ["NETWORK_SPENT_FROM_ROCKSTAR"]=--[[void]] function(--[[int]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("6A445B64ED7ABEB5");end, + -- Hardcoded to return 0. + ["_0x9B5016A6433A68C5"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("9B5016A6433A68C5");return native_invoker.get_return_value_int();end, + -- This isn't a hash collision. + ["PROCESS_CASH_GIFT"]=--[[string]] function(--[[int* (pointer)]] p0,--[[int* (pointer)]] p1,--[[string]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_string(p2);native_invoker.end_call("20194D48EAEC9A41");return native_invoker.get_return_value_string();end, + ["_0xCD4D66B43B1DD28D"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("CD4D66B43B1DD28D");end, + ["NETWORK_SPENT_PLAYER_HEALTHCARE"]=--[[void]] function(--[[int]] p0,--[[int]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("7C99101F7FCE2EE5");end, + ["NETWORK_SPENT_NO_COPS"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("D5BB406F4E04019F");end, + ["NETWORK_SPENT_REQUEST_JOB"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("8204DA7934DF3155");end, + ["NETWORK_SPENT_REQUEST_HEIST"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("9D26502BB97BFE62");end, + ["NETWORK_BUY_LOTTERY_TICKET"]=--[[void]] function(--[[int]] p0,--[[int]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("D987F2489969668C");end, + -- The first parameter is the amount spent which is store in a global when this native is called. The global returns 10. Which is the price for both rides. + -- + -- The last 3 parameters are, + -- 2,0,1 in the am_ferriswheel.c + -- 1,0,1 in the am_rollercoaster.c + -- + ["NETWORK_BUY_FAIRGROUND_RIDE"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("8A7B3952DD64D2B5");end, + ["_0x7C4FCCD2E4DEB394"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("7C4FCCD2E4DEB394");return native_invoker.get_return_value_bool();end, + ["_NETWORK_SPENT_JOB_SKIP"]=--[[void]] function(--[[int]] amount,--[[string]] matchId,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_string(matchId);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("28F174A67B8D0C2F");end, + ["_NETWORK_SPENT_BOSS"]=--[[BOOL (bool)]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("FFBE02CD385356BD");return native_invoker.get_return_value_bool();end, + ["_NETWORK_SPENT_PAY_GOON"]=--[[void]] function(--[[int]] p0,--[[int]] p1,--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(amount);native_invoker.end_call("08A1B82B91900682");end, + ["_0xDBC966A01C02BCA7"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("DBC966A01C02BCA7");end, + ["_NETWORK_SPENT_MOVE_YACHT"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("E7DF4E0545DFB56E");end, + ["_0xFC4EE00A7B3BFB76"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("FC4EE00A7B3BFB76");end, + ["_NETWORK_BUY_CONTRABAND"]=--[[void]] function(--[[int]] p0,--[[int]] p1,--[[Hash (int)]] p2,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("30FD873ECE50E9F6");end, + ["_NETWORK_SPENT_VIP_UTILITY_CHARGES"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("5182A339A3474510");end, + ["_0x112209CE0290C03A"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("112209CE0290C03A");end, + ["_0xED5FD7AF10F5E262"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("ED5FD7AF10F5E262");end, + ["_0x0D30EB83668E63C5"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("0D30EB83668E63C5");end, + ["_0xB49ECA122467D05F"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("B49ECA122467D05F");end, + ["_0xE23ADC6FCB1F29AE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("E23ADC6FCB1F29AE");end, + ["_0x0FE8E1FCD2B86B33"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("0FE8E1FCD2B86B33");end, + ["_0x69EF772B192614C1"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("69EF772B192614C1");end, + ["_0x8E243837643D9583"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("8E243837643D9583");end, + ["_0xBD0EFB25CCA8F97A"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("BD0EFB25CCA8F97A");end, + ["_0xA95F667A755725DA"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("A95F667A755725DA");end, + ["_NETWORK_SPENT_PURCHASE_WAREHOUSE"]=--[[void]] function(--[[int]] amount,--[[Any* (pointer)]] data,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_pointer(data);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("33981D6804E62F49");end, + ["_0x4128464231E3CA0B"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("4128464231E3CA0B");end, + ["_0x2FAB6614CE22E196"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("2FAB6614CE22E196");end, + ["_0x05F04155A226FBBF"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("05F04155A226FBBF");end, + ["_0xE8B0B270B6E7C76E"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("E8B0B270B6E7C76E");end, + ["_0x5BCDE0F640C773D2"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("5BCDE0F640C773D2");end, + ["_0x998E18CEB44487FC"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("998E18CEB44487FC");end, + ["_0xFA07759E6FDDD7CF"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("FA07759E6FDDD7CF");end, + ["_0x6FD97159FE3C971A"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("6FD97159FE3C971A");end, + ["_0x675D19C6067CAE08"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("675D19C6067CAE08");end, + ["_0xA51B086B0B2C0F7A"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("A51B086B0B2C0F7A");end, + ["_0xD7CCCBA28C4ECAF0"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("D7CCCBA28C4ECAF0");end, + ["_0x0035BB914316F1E3"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("0035BB914316F1E3");end, + ["_0x5F456788B05FAEAC"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("5F456788B05FAEAC");end, + ["_0xA75CCF58A60A5FD1"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("A75CCF58A60A5FD1");end, + ["_0xB4C2EC463672474E"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("B4C2EC463672474E");end, + ["_0x2AFC2D19B50797F2"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("2AFC2D19B50797F2");end, + ["_NETWORK_SPENT_IMPORT_EXPORT_REPAIR"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("C1952F3773BA18FE");end, + ["_NETWORK_SPENT_PURCHASE_HANGAR"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("CCB339CC970452DA");end, + ["_NETWORK_SPENT_UPGRADE_HANGAR"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("615EB504B0788DAF");end, + ["_NETWORK_SPENT_HANGAR_UTILITY_CHARGES"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("B18AC2ECBB15CB6A");end, + ["_NETWORK_SPENT_HANGAR_STAFF_CHARGES"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("B1F1346FD57685D7");end, + ["_NETWORK_SPENT_BUY_TRUCK"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("AC272C0AE01B4BD8");end, + ["_NETWORK_SPENT_UPGRADE_TRUCK"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("365E877C61D6988B");end, + ["_NETWORK_SPENT_BUY_BUNKER"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("12D148D26538D0F9");end, + ["_NETWORK_SPENT_UPGRADE_BUNKER"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("0C82D21A77C22D49");end, + ["_NETWORK_EARN_FROM_SELL_BUNKER"]=--[[void]] function(--[[int]] amount,--[[Hash (int)]] bunkerHash)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(bunkerHash);native_invoker.end_call("9251B6ABF2D0A5B4");end, + ["_NETWORK_SPENT_BALLISTIC_EQUIPMENT"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("5D97630A8A0EF123");end, + ["_NETWORK_EARN_FROM_RDR_BONUS"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.end_call("7A5349B773584675");end, + ["_NETWORK_EARN_FROM_WAGE_PAYMENT"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("35F8DA0E8A31EF1B");end, + ["_NETWORK_EARN_FROM_WAGE_PAYMENT_BONUS"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("005ACA7100BD101D");end, + ["_NETWORK_SPENT_BUY_BASE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("4EA3F425C7744D21");end, + ["_NETWORK_SPENT_UPGRADE_BASE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("3DD3F33A5D55EA6F");end, + ["_NETWORK_SPENT_BUY_TILTROTOR"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("0CCE73BC7A11E885");end, + ["_NETWORK_SPENT_UPGRADE_TILTROTOR"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("165E135D6DFA2907");end, + ["_NETWORK_SPENT_EMPLOY_ASSASSINS"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("5BBBD92186E1F1C5");end, + ["_NETWORK_SPENT_GANGOPS_CANNON"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("771ADB0E7635B7BF");end, + ["_NETWORK_SPENT_GANGOPS_START_MISSION"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("DA947AE8880D5C18");end, + ["_NETWORK_SPENT_CASINO_HEIST_SKIP_MISSION"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("487009DD91D93429");end, + ["_NETWORK_EARN_FROM_SELL_BASE"]=--[[void]] function(--[[int]] amount,--[[Hash (int)]] baseNameHash)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(baseNameHash);native_invoker.end_call("0E1E2FF3F4EC11AA");end, + ["_NETWORK_EARN_FROM_TARGET_REFUND"]=--[[void]] function(--[[int]] amount,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.end_call("5B669CF2299A271F");end, + ["_NETWORK_EARN_FROM_GANGOPS_WAGES"]=--[[void]] function(--[[int]] amount,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.end_call("2DCB19ABAB0380A8");end, + ["_NETWORK_EARN_FROM_GANGOPS_WAGES_BONUS"]=--[[void]] function(--[[int]] amount,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.end_call("15BB2A5C757EB91F");end, + ["_NETWORK_EARN_FROM_DAR_CHALLENGE"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.end_call("CAC672087B4A24AB");end, + ["_NETWORK_EARN_FROM_DOOMSDAY_FINALE_BONUS"]=--[[void]] function(--[[int]] amount,--[[Hash (int)]] vehicleHash)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(vehicleHash);native_invoker.end_call("128A747F4A230952");end, + ["_NETWORK_EARN_FROM_GANGOPS_AWARDS"]=--[[void]] function(--[[int]] amount,--[[string]] unk,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_string(unk);native_invoker.push_arg_int(p2);native_invoker.end_call("A9A31475F530DFDA");end, + ["_NETWORK_EARN_FROM_GANGOPS_ELITE"]=--[[void]] function(--[[int]] amount,--[[string]] unk,--[[int]] actIndex)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_string(unk);native_invoker.push_arg_int(actIndex);native_invoker.end_call("2597A0D4A4FC2C77");end, + ["_NETWORK_RIVAL_DELIVERY_COMPLETED"]=--[[void]] function(--[[int]] earnedMoney)native_invoker.begin_call();native_invoker.push_arg_int(earnedMoney);native_invoker.end_call("1B882107C23A9022");end, + ["_NETWORK_SPENT_GANGOPS_START_STRAND"]=--[[void]] function(--[[int]] type,--[[int]] amount,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(type);native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("A19EC0786E326E06");end, + ["_NETWORK_SPENT_GANGOPS_TRIP_SKIP"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("5ECE6FD7B4EC8D6A");end, + ["_NETWORK_EARN_FROM_GANGOPS_JOBS_PREP_PARTICIPATION"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("ED26584F6BDCBBFD");end, + ["_NETWORK_EARN_FROM_GANGOPS_JOBS_SETUP"]=--[[void]] function(--[[int]] amount,--[[string]] unk)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_string(unk);native_invoker.end_call("A9160796D47A2CF8");end, + ["_NETWORK_EARN_FROM_GANGOPS_JOBS_FINALE"]=--[[void]] function(--[[int]] amount,--[[string]] unk)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_string(unk);native_invoker.end_call("1C121FC9545E0D52");end, + ["_0x2A7CEC72C3443BCC"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("2A7CEC72C3443BCC");end, + ["_0xE0F82D68C7039158"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E0F82D68C7039158");end, + ["_0xB4DEAE67F35E2ACD"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("B4DEAE67F35E2ACD");end, + ["_NETWORK_EARN_FROM_BB_EVENT_BONUS"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("FDD8D2440DAF1590");end, + ["_0x2A93C46AAB1EACC9"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("2A93C46AAB1EACC9");end, + ["_0x226C284C830D0CA8"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("226C284C830D0CA8");end, + ["_NETWORK_EARN_FROM_HACKER_TRUCK_MISSION"]=--[[void]] function(--[[Any (int)]] p0,--[[int]] amount,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("E8815FE993896AD3");end, + ["_0xED76D195E6E3BF7F"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("ED76D195E6E3BF7F");end, + ["_0x1DC9B749E7AE282B"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("1DC9B749E7AE282B");end, + ["_0xC6E74CF8C884C880"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("C6E74CF8C884C880");end, + ["_0x65482BFD0923C8A1"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("65482BFD0923C8A1");end, + ["_NETWORK_SPENT_RDRHATCHET_BONUS"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("E284D46FFDB82E36");end, + ["_NETWORK_SPENT_NIGHTCLUB_ENTRY_FEE"]=--[[void]] function(--[[Player (int)]] player,--[[int]] amount,--[[Any (int)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("876056684281655D");end, + ["_NETWORK_SPENT_NIGHTCLUB_BAR_DRINK"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("DD21B016E4289465");end, + ["_NETWORK_SPENT_BOUNTY_HUNTER_MISSION"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("1BEA0CD93470BB1F");end, + ["_NETWORK_SPENT_REHIRE_DJ"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("F6C8A544E4CF14FC");end, + ["_NETWORK_SPENT_ARENA_JOIN_SPECTATOR"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("14EAEA58F93B55AF");end, + ["_NETWORK_EARN_FROM_ARENA_SKILL_LEVEL_PROGRESSION"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.end_call("E08256F972C7BB2C");end, + ["_NETWORK_EARN_FROM_ARENA_CAREER_PROGRESSION"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.end_call("0F99F70C61F14619");end, + ["_NETWORK_SPENT_MAKE_IT_RAIN"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("E5F5A060439C2F5D");end, + ["_NETWORK_SPENT_BUY_ARENA"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[string]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_string(p3);native_invoker.end_call("40D5DA9550B7CB46");end, + ["_NETWORK_SPENT_UPGRADE_ARENA"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[string]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_string(p3);native_invoker.end_call("037ABB06825D7AB1");end, + ["_NETWORK_SPENT_ARENA_SPECTATOR_BOX"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("7049BF858601DC0F");end, + ["_NETWORK_SPENT_SPIN_THE_WHEEL_PAYMENT"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("9A5BD1D0000B339C");end, + ["_NETWORK_EARN_FROM_SPIN_THE_WHEEL_CASH"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("676C48776CACBB5A");end, + ["_NETWORK_SPENT_ARENA_PREMIUM"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("619496D837EFD920");end, + ["_NETWORK_EARN_FROM_ARENA_WAR"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("631F1CB8FB4130AA");end, + ["_NETWORK_EARN_FROM_ASSASSINATE_TARGET_KILLED_2"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("5E7AE8AABE8B7C0D");end, + ["_NETWORK_EARN_FROM_BB_EVENT_CARGO"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("A82959062361B259");end, + ["_NETWORK_EARN_FROM_RC_TIME_TRIAL"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("DFF49EE984E7AAE8");end, + ["_NETWORK_EARN_FROM_DAILY_OBJECTIVE_EVENT"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("5128DF14A5BB86FC");end, + ["_NETWORK_SPENT_CASINO_MEMBERSHIP"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("FBBE0570EDF39D46");end, + ["_NETWORK_SPENT_BUY_CASINO"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_pointer(data);native_invoker.end_call("34A6FC4D06C4DA0F");end, + ["_NETWORK_SPENT_UPGRADE_CASINO"]=--[[void]] function(--[[int]] amount,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_pointer(data);native_invoker.end_call("4740D62BC1B4EBEA");end, + ["_NETWORK_SPENT_CASINO_GENERIC"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("88BF9B612B84D3C3");end, + ["_NETWORK_EARN_FROM_TIME_TRIAL_WIN"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("0819DB99FD2FBBD8");end, + ["_NETWORK_EARN_FROM_COLLECTABLES_ACTION_FIGURES"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("5517F90043466049");end, + ["_NETWORK_EARN_FROM_COMPLETE_COLLECTION"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("83AD64F53F4E9483");end, + ["_NETWORK_EARN_FROM_SELLING_VEHICLE"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("8BCB27A057DF7B7F");end, + ["_NETWORK_EARN_FROM_CASINO_MISSION_REWARD"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("566FD402B25787DE");end, + ["_NETWORK_EARN_FROM_CASINO_STORY_MISSION_REWARD"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("AC95ED552157E092");end, + ["_NETWORK_EARN_FROM_CASINO_MISSION_PARTICIPATION"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("09E8F18641BE2575");end, + ["_NETWORK_EARN_FROM_CASINO_AWARD"]=--[[void]] function(--[[int]] amount,--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(hash);native_invoker.end_call("973A9781A34F8DEB");end, + ["_0x870289A558348378"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("870289A558348378");end, + ["_0x5574637681911FDA"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("5574637681911FDA");end, + ["_0xD30E8392F407C328"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9,--[[Any (int)]] p10)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_int(p10);native_invoker.end_call("D30E8392F407C328");end, + ["_0xB5B58E24868CB09E"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("B5B58E24868CB09E");end, + ["_0xEAD3D81F2C3A1458"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("EAD3D81F2C3A1458");end, + ["_0x43AA7FAC4E6D6687"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("43AA7FAC4E6D6687");end, + ["_0x72E7C7B9615FA3C3"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("72E7C7B9615FA3C3");end, + ["_0x4C3B75694F7E0D9C"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("4C3B75694F7E0D9C");end, + ["_0xD29334ED1A256DBF"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("D29334ED1A256DBF");end, + ["_0xA95CFB4E02390842"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("A95CFB4E02390842");end, + ["_0x0DD362F14F18942A"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("0DD362F14F18942A");end, + ["_0x3EC7471E6909798A"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("3EC7471E6909798A");end, + ["_NETWORK_EARN_FROM_COLLECTION_ITEM"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.end_call("84FF63BD4966F33D");end, + ["_0x5C9B198AF5A54FA6"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.end_call("5C9B198AF5A54FA6");end, + ["_0xDE68E30D89F97132"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.end_call("DE68E30D89F97132");end, + ["_0xE2E244AB823B4483"]=--[[void]] function(--[[int]] amount,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p1);native_invoker.end_call("E2E244AB823B4483");end, + ["_0x54ABA22FA6371249"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("54ABA22FA6371249");end, + ["_0x6C8BC1488527AAAB"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("6C8BC1488527AAAB");end, + ["_0xC991C255AA6D90B2"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("C991C255AA6D90B2");end, + ["_0x90CD7C6871FBF1B4"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("90CD7C6871FBF1B4");end, + ["_0x89049A84065CE68E"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("89049A84065CE68E");end, + ["_0xE86689E5F82DE429"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("E86689E5F82DE429");end, + ["_0xD21D111C46BA9F15"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("D21D111C46BA9F15");end, + ["_0xA51338E0DCCD4065"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("A51338E0DCCD4065");end, + ["_0xE2BB399D90942091"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("E2BB399D90942091");end, + ["NETWORK_GET_VC_BANK_BALANCE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("76EF28DA05EA395A");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_VC_WALLET_BALANCE"]=--[[int]] function(--[[int]] characterSlot)native_invoker.begin_call();native_invoker.push_arg_int(characterSlot);native_invoker.end_call("A40F9C2623F6A8B5");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_VC_BALANCE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("5CBAD97E059E1B94");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_EVC_BALANCE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("5D1E75F91C07DEE5");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_PVC_BALANCE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("4F54F3B6C202FB4E");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_STRING_WALLET_BALANCE"]=--[[string]] function(--[[int]] characterSlot)native_invoker.begin_call();native_invoker.push_arg_int(characterSlot);native_invoker.end_call("F9B10B529DCFB33B");return native_invoker.get_return_value_string();end, + ["NETWORK_GET_STRING_BANK_BALANCE"]=--[[string]] function()native_invoker.begin_call();native_invoker.end_call("A6FA3979BED01B81");return native_invoker.get_return_value_string();end, + ["NETWORK_GET_STRING_BANK_WALLET_BALANCE"]=--[[string]] function()native_invoker.begin_call();native_invoker.end_call("700AF71AE615E6DD");return native_invoker.get_return_value_string();end, + -- Returns true if wallet balance >= amount. + ["_NETWORK_GET_VC_WALLET_BALANCE_IS_NOT_LESS_THAN"]=--[[BOOL (bool)]] function(--[[int]] amount,--[[int]] characterSlot)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(characterSlot);native_invoker.end_call("ED5AB8860415BABA");return native_invoker.get_return_value_bool();end, + -- Returns true if bank balance >= amount. + ["_NETWORK_GET_VC_BANK_BALANCE_IS_NOT_LESS_THAN"]=--[[BOOL (bool)]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("A31FD6A0865B6D14");return native_invoker.get_return_value_bool();end, + -- Returns true if bank balance + wallet balance >= amount. + ["_NETWORK_GET_VC_BANK_WALLET_BALANCE_IS_NOT_LESS_THAN"]=--[[BOOL (bool)]] function(--[[int]] amount,--[[int]] characterSlot)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(characterSlot);native_invoker.end_call("DC18531D7019A535");return native_invoker.get_return_value_bool();end, + -- Retturns the same value as NETWORK_GET_REMAINING_TRANSFER_BALANCE. + ["NETWORK_GET_PVC_TRANSFER_BALANCE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("13A8DE2FD77D04F3");return native_invoker.get_return_value_int();end, + -- Returns false if amount > wallet balance or daily transfer limit has been hit. + ["_0x08E8EEADFD0DC4A0"]=--[[BOOL (bool)]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("08E8EEADFD0DC4A0");return native_invoker.get_return_value_bool();end, + ["NETWORK_CAN_RECEIVE_PLAYER_CASH"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("5D17BE59D2123284");return native_invoker.get_return_value_bool();end, + -- Returns the same value as NETWORK_GET_PVC_TRANSFER_BALANCE. + ["NETWORK_GET_REMAINING_TRANSFER_BALANCE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("EA560AC9EEB1E19B");return native_invoker.get_return_value_int();end, + -- Does nothing and always returns 0. + ["WITHDRAW_VC"]=--[[int]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("F70EFA14FE091429");return native_invoker.get_return_value_int();end, + -- Does nothing and always returns false. + ["DEPOSIT_VC"]=--[[BOOL (bool)]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("E260E0BB9CD995AC");return native_invoker.get_return_value_bool();end, + -- This function is hard-coded to always return 1. + ["_0xE154B48B68EF72BC"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E154B48B68EF72BC");return native_invoker.get_return_value_bool();end, + -- This function is hard-coded to always return 1. + ["_0x6FCF8DDEA146C45B"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6FCF8DDEA146C45B");return native_invoker.get_return_value_bool();end, +} +NETSHOPPING={ + ["_NET_GAMESERVER_USE_SERVER_TRANSACTIONS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("7D2708796355B20B");return native_invoker.get_return_value_bool();end, + ["_NET_GAMESERVER_CATALOG_ITEM_EXISTS"]=--[[BOOL (bool)]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("BD4D7EAF8A30F637");return native_invoker.get_return_value_bool();end, + ["_NET_GAMESERVER_CATALOG_ITEM_EXISTS_HASH"]=--[[BOOL (bool)]] function(--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.end_call("247F0F73A182EA0B");return native_invoker.get_return_value_bool();end, + -- bool is always true in game scripts + ["NET_GAMESERVER_GET_PRICE"]=--[[int]] function(--[[Hash (int)]] itemHash,--[[Hash (int)]] categoryHash,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(itemHash);native_invoker.push_arg_int(categoryHash);native_invoker.push_arg_bool(p2);native_invoker.end_call("C27009422FCCA88D");return native_invoker.get_return_value_int();end, + ["_NET_GAMESERVER_CATALOG_IS_READY"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("3C4487461E9B0DCB");return native_invoker.get_return_value_bool();end, + ["_NET_GAMESERVER_IS_CATALOG_VALID"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("2B949A1E6AEC8F6A");return native_invoker.get_return_value_bool();end, + ["_0x85F6C9ABA1DE2BCF"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("85F6C9ABA1DE2BCF");return native_invoker.get_return_value_int();end, + ["_0x357B152EF96C30B6"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("357B152EF96C30B6");return native_invoker.get_return_value_int();end, + ["_NET_GAMESERVER_GET_CATALOG_STATE"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] state)native_invoker.begin_call();native_invoker.push_arg_pointer(state);native_invoker.end_call("CF38DAFBB49EDE5E");return native_invoker.get_return_value_bool();end, + ["_0xE3E5A7C64CA2C6ED"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("E3E5A7C64CA2C6ED");return native_invoker.get_return_value_int();end, + ["_0x0395CB47B022E62C"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("0395CB47B022E62C");return native_invoker.get_return_value_bool();end, + ["NET_GAMESERVER_START_SESSION"]=--[[BOOL (bool)]] function(--[[int]] charSlot)native_invoker.begin_call();native_invoker.push_arg_int(charSlot);native_invoker.end_call("A135AC892A58FC07");return native_invoker.get_return_value_bool();end, + ["_0x72EB7BA9B69BF6AB"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("72EB7BA9B69BF6AB");return native_invoker.get_return_value_bool();end, + ["_0x170910093218C8B9"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("170910093218C8B9");return native_invoker.get_return_value_bool();end, + ["_0xC13C38E47EA5DF31"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("C13C38E47EA5DF31");return native_invoker.get_return_value_bool();end, + ["NET_GAMESERVER_IS_SESSION_VALID"]=--[[BOOL (bool)]] function(--[[int]] charSlot)native_invoker.begin_call();native_invoker.push_arg_int(charSlot);native_invoker.end_call("B24F0944DA203D9E");return native_invoker.get_return_value_bool();end, + -- NET_GAMESERVER_* + ["_0x74A0FD0688F1EE45"]=--[[int]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("74A0FD0688F1EE45");return native_invoker.get_return_value_int();end, + ["NET_GAMESERVER_SESSION_APPLY_RECEIVED_DATA"]=--[[BOOL (bool)]] function(--[[int]] charSlot)native_invoker.begin_call();native_invoker.push_arg_int(charSlot);native_invoker.end_call("2F41D51BA3BCD1F1");return native_invoker.get_return_value_bool();end, + ["NET_GAMESERVER_IS_SESSION_REFRESH_PENDING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("810E8431C0614BF9");return native_invoker.get_return_value_bool();end, + -- Note: only one of the arguments can be set to true at a time + ["_NET_GAMESERVER_GET_BALANCE"]=--[[BOOL (bool)]] function(--[[BOOL (bool)]] inventory,--[[BOOL (bool)]] playerbalance)native_invoker.begin_call();native_invoker.push_arg_bool(inventory);native_invoker.push_arg_bool(playerbalance);native_invoker.end_call("35A1B3E1D1315CFA");return native_invoker.get_return_value_bool();end, + ["_0x613F125BA3BD2EB9"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("613F125BA3BD2EB9");return native_invoker.get_return_value_bool();end, + ["_NET_GAMESERVER_GET_TRANSACTION_MANAGER_DATA"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] p0,--[[BOOL* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("897433D292B44130");return native_invoker.get_return_value_bool();end, + ["NET_GAMESERVER_BASKET_START"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] transactionId,--[[Hash (int)]] categoryHash,--[[Hash (int)]] actionHash,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_pointer(transactionId);native_invoker.push_arg_int(categoryHash);native_invoker.push_arg_int(actionHash);native_invoker.push_arg_int(flags);native_invoker.end_call("279F08B1A4B29B7E");return native_invoker.get_return_value_bool();end, + ["_NET_GAMESERVER_BASKET_DELETE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("FA336E7F40C0A0D0");return native_invoker.get_return_value_bool();end, + ["NET_GAMESERVER_BASKET_END"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A65568121DF2EA26");return native_invoker.get_return_value_bool();end, + ["NET_GAMESERVER_BASKET_ADD_ITEM"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] itemData,--[[int]] quantity)native_invoker.begin_call();native_invoker.push_arg_pointer(itemData);native_invoker.push_arg_int(quantity);native_invoker.end_call("F30980718C8ED876");return native_invoker.get_return_value_bool();end, + ["NET_GAMESERVER_BASKET_IS_FULL"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("27F76CC6C55AD30E");return native_invoker.get_return_value_bool();end, + ["NET_GAMESERVER_BASKET_APPLY_SERVER_DATA"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("E1A0450ED46A7812");return native_invoker.get_return_value_bool();end, + ["NET_GAMESERVER_CHECKOUT_START"]=--[[BOOL (bool)]] function(--[[int]] transactionId)native_invoker.begin_call();native_invoker.push_arg_int(transactionId);native_invoker.end_call("39BE7CEA8D9CC8E6");return native_invoker.get_return_value_bool();end, + ["NET_GAMESERVER_BEGIN_SERVICE"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] transactionId,--[[Hash (int)]] categoryHash,--[[Hash (int)]] itemHash,--[[Hash (int)]] actionTypeHash,--[[int]] value,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_pointer(transactionId);native_invoker.push_arg_int(categoryHash);native_invoker.push_arg_int(itemHash);native_invoker.push_arg_int(actionTypeHash);native_invoker.push_arg_int(value);native_invoker.push_arg_int(flags);native_invoker.end_call("3C5FD37B5499582E");return native_invoker.get_return_value_bool();end, + ["NET_GAMESERVER_END_SERVICE"]=--[[BOOL (bool)]] function(--[[int]] transactionId)native_invoker.begin_call();native_invoker.push_arg_int(transactionId);native_invoker.end_call("E2A99A9B524BEFFF");return native_invoker.get_return_value_bool();end, + ["_NET_GAMESERVER_DELETE_CHARACTER_SLOT"]=--[[BOOL (bool)]] function(--[[int]] slot,--[[BOOL (bool)]] transfer,--[[Hash (int)]] reason)native_invoker.begin_call();native_invoker.push_arg_int(slot);native_invoker.push_arg_bool(transfer);native_invoker.push_arg_int(reason);native_invoker.end_call("51F1A8E48C3D2F6D");return native_invoker.get_return_value_bool();end, + ["_NET_GAMESERVER_DELETE_CHARACTER_SLOT_GET_STATUS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("0A6D923DFFC9BD89");return native_invoker.get_return_value_int();end, + ["NET_GAMESERVER_DELETE_SET_TELEMETRY_NONCE_SEED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("112CEF1615A1139F");return native_invoker.get_return_value_bool();end, + ["_NET_GAMESERVER_TRANSFER_BANK_TO_WALLET"]=--[[BOOL (bool)]] function(--[[int]] charSlot,--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(charSlot);native_invoker.push_arg_int(amount);native_invoker.end_call("D47A2C1BA117471D");return native_invoker.get_return_value_bool();end, + ["_NET_GAMESERVER_TRANSFER_WALLET_TO_BANK"]=--[[BOOL (bool)]] function(--[[int]] charSlot,--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(charSlot);native_invoker.push_arg_int(amount);native_invoker.end_call("C2F7FE5309181C7D");return native_invoker.get_return_value_bool();end, + -- Same as 0x350AA5EBC03D3BD2 + ["_NET_GAMESERVER_TRANSFER_CASH_GET_STATUS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("23789E777D14CE44");return native_invoker.get_return_value_int();end, + -- Same as 0x23789E777D14CE44 + ["_NET_GAMESERVER_TRANSFER_CASH_GET_STATUS_2"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("350AA5EBC03D3BD2");return native_invoker.get_return_value_int();end, + -- Used to be NETWORK_SHOP_CASH_TRANSFER_SET_TELEMETRY_NONCE_SEED + ["_NET_GAMESERVER_TRANSFER_CASH_SET_TELEMETRY_NONCE_SEED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("498C1E05CE5F7877");return native_invoker.get_return_value_bool();end, + ["NET_GAMESERVER_SET_TELEMETRY_NONCE_SEED"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("9507D4271988E1AE");return native_invoker.get_return_value_bool();end, +} +NETWORK={ + -- Online version is defined here: update\update.rpf\common\data\version.txt + -- + -- Example: + -- + -- [ONLINE_VERSION_NUMBER] + -- 1.33 + -- + -- _GET_ONLINE_VERSION() will return "1.33" + ["_GET_ONLINE_VERSION"]=--[[string]] function()native_invoker.begin_call();native_invoker.end_call("FCA9373EF340AC0A");return native_invoker.get_return_value_string();end, + -- Returns whether the player is signed into Social Club. + ["NETWORK_IS_SIGNED_IN"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("054354A99211EB96");return native_invoker.get_return_value_bool();end, + -- Returns whether the game is not in offline mode. + -- + -- seemed not to work for some ppl + ["NETWORK_IS_SIGNED_ONLINE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("1077788E268557C2");return native_invoker.get_return_value_bool();end, + -- MulleDK19: This function is hard-coded to always return 1. + ["_0xBD545D44CCE70597"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("BD545D44CCE70597");return native_invoker.get_return_value_bool();end, + -- MulleDK19: This function is hard-coded to always return 1. + ["_0xEBCAB9E5048434F4"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("EBCAB9E5048434F4");return native_invoker.get_return_value_int();end, + -- MulleDK19: This function is hard-coded to always return 0. + ["_0x74FB3E29E6D10FA9"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("74FB3E29E6D10FA9");return native_invoker.get_return_value_int();end, + -- MulleDK19: This function is hard-coded to always return 1. + ["_0x7808619F31FF22DB"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("7808619F31FF22DB");return native_invoker.get_return_value_int();end, + -- MulleDK19: This function is hard-coded to always return 0. + ["_0xA0FA4EC6A05DA44E"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("A0FA4EC6A05DA44E");return native_invoker.get_return_value_int();end, + -- Returns whether the signed-in user has valid Rockstar Online Services (ROS) credentials. + ["NETWORK_HAS_VALID_ROS_CREDENTIALS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("85443FF4C328F53B");return native_invoker.get_return_value_bool();end, + -- NETWORK_IS_* + -- + -- Seems to be related to PlayStation + ["_0x8D11E61A4ABF49CC"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("8D11E61A4ABF49CC");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_CLOUD_AVAILABLE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("9A4CF4F48AD77302");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAS_SOCIAL_CLUB_ACCOUNT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("67A5589628E0CFF6");return native_invoker.get_return_value_bool();end, + ["NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("BA9775570DB788CF");return native_invoker.get_return_value_bool();end, + -- If you are host, returns true else returns false. + ["NETWORK_IS_HOST"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("8DB296B814EDDA07");return native_invoker.get_return_value_bool();end, + ["_0x4237E822315D8BA9"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("4237E822315D8BA9");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAVE_ONLINE_PRIVILEGES"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("25CB5A9F37BFD063");return native_invoker.get_return_value_bool();end, + ["_NETWORK_HAS_AGE_RESTRICTED_PROFILE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("1353F87E89946207");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAVE_USER_CONTENT_PRIVILEGES"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("72D918C99BCACC54");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAVE_COMMUNICATION_PRIVILEGES"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(player);native_invoker.end_call("AEEF48CDF5B6CE7C");return native_invoker.get_return_value_bool();end, + ["_0x78321BEA235FD8CD"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("78321BEA235FD8CD");return native_invoker.get_return_value_bool();end, + ["NETWORK_CHECK_USER_CONTENT_PRIVILEGES"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[int]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("595F028698072DD9");return native_invoker.get_return_value_bool();end, + ["NETWORK_CHECK_COMMUNICATION_PRIVILEGES"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[int]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("83F28CE49FBBFFBA");return native_invoker.get_return_value_bool();end, + ["_0x07EAB372C8841D99"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("07EAB372C8841D99");return native_invoker.get_return_value_int();end, + ["_0x906CA41A4B74ECA4"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("906CA41A4B74ECA4");return native_invoker.get_return_value_int();end, + ["_0x023ACAB2DC9DC4A4"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("023ACAB2DC9DC4A4");return native_invoker.get_return_value_int();end, + ["NETWORK_HAS_SOCIAL_NETWORKING_SHARING_PRIV"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("76BF03FADBF154F5");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_AGE_GROUP"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("9614B71F8ADB982B");return native_invoker.get_return_value_int();end, + ["_0x0CF6CC51AA18F0F8"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("0CF6CC51AA18F0F8");return native_invoker.get_return_value_int();end, + -- Hardcoded to return false. + ["_0x64E5C4CC82847B73"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("64E5C4CC82847B73");return native_invoker.get_return_value_bool();end, + ["_0x1F7BC3539F9E0224"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1F7BC3539F9E0224");end, + ["_NETWORK_HAVE_ONLINE_PRIVILEGE_2"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5EA784D197556507");return native_invoker.get_return_value_bool();end, + ["_0xA8ACB6459542A8C8"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("A8ACB6459542A8C8");return native_invoker.get_return_value_int();end, + ["_0x83FE8D7229593017"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("83FE8D7229593017");end, + ["_0x53C10C8BD774F2C9"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("53C10C8BD774F2C9");return native_invoker.get_return_value_int();end, + ["NETWORK_CAN_BAIL"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("580CE4438479CC61");return native_invoker.get_return_value_bool();end, + ["NETWORK_BAIL"]=--[[void]] function(--[[int]] p0,--[[int]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("95914459A87EBA28");end, + ["_0x283B6062A2C01E9B"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("283B6062A2C01E9B");end, + ["_0x8B4FFC790CA131EF"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("8B4FFC790CA131EF");return native_invoker.get_return_value_int();end, + ["_NETWORK_TRANSITION_TRACK"]=--[[void]] function(--[[Hash (int)]] hash,--[[int]] p1,--[[int]] p2,--[[int]] state,--[[int]] p4)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(state);native_invoker.push_arg_int(p4);native_invoker.end_call("C3BFED92026A2AAD");end, + ["_0x04918A41BC9B8157"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("04918A41BC9B8157");return native_invoker.get_return_value_int();end, + -- 11 - Need to download tunables. + -- 12 - Need to download background script. + -- + -- Returns 1 if the multiplayer is loaded, otherwhise 0. + ["NETWORK_CAN_ACCESS_MULTIPLAYER"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] loadingState)native_invoker.begin_call();native_invoker.push_arg_pointer(loadingState);native_invoker.end_call("AF50DA1A3F8B1BA4");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_MULTIPLAYER_DISABLED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("9747292807126EDA");return native_invoker.get_return_value_bool();end, + ["NETWORK_CAN_ENTER_MULTIPLAYER"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("7E782A910C362C25");return native_invoker.get_return_value_bool();end, + -- unknown params + -- + -- p0 = 0, 2, or 999 (The global is 999 by default.) + -- p1 = 0 (Always in every script it's found in atleast.) + -- p2 = 0, 3, or 4 (Based on a var that is determined by a function.) + -- p3 = maxPlayers (It's obvious in x360 scripts it's always 18) + -- p4 = 0 (Always in every script it's found in atleast.) + -- p5 = 0 or 1. (1 if network_can_enter_multiplayer, but set to 0 if other checks after that are passed.) + -- p5 is reset to 0 if, + -- Global_1315318 = 0 or Global_1315323 = 9 or 12 or (Global_1312629 = 0 && Global_1312631 = true/1) those are passed. + ["NETWORK_SESSION_ENTER"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[int]] maxPlayers,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(maxPlayers);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("330ED4D05491934F");return native_invoker.get_return_value_int();end, + ["NETWORK_SESSION_FRIEND_MATCHMAKING"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[int]] p1,--[[int]] maxPlayers,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(maxPlayers);native_invoker.push_arg_bool(p3);native_invoker.end_call("2CFC76E0D087C994");return native_invoker.get_return_value_bool();end, + ["NETWORK_SESSION_CREW_MATCHMAKING"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[int]] p1,--[[int]] p2,--[[int]] maxPlayers,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(maxPlayers);native_invoker.push_arg_bool(p4);native_invoker.end_call("94BC51E9449D917F");return native_invoker.get_return_value_bool();end, + ["NETWORK_SESSION_ACTIVITY_QUICKMATCH"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("BE3E347A87ACEB82");return native_invoker.get_return_value_bool();end, + -- Does nothing in online but in offline it will cause the screen to fade to black. Nothing happens past then, the screen will sit at black until you restart GTA. Other stuff must be needed to actually host a session. + ["NETWORK_SESSION_HOST"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[int]] maxPlayers,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(maxPlayers);native_invoker.push_arg_bool(p2);native_invoker.end_call("6F3D4ED9BEE4E61D");return native_invoker.get_return_value_bool();end, + ["NETWORK_SESSION_HOST_CLOSED"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[int]] maxPlayers)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(maxPlayers);native_invoker.end_call("ED34C0C02C098BB7");return native_invoker.get_return_value_bool();end, + -- Does nothing in online but in offline it will cause the screen to fade to black. Nothing happens past then, the screen will sit at black until you restart GTA. Other stuff must be needed to actually host a session. + ["NETWORK_SESSION_HOST_FRIENDS_ONLY"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[int]] maxPlayers)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(maxPlayers);native_invoker.end_call("B9CFD27A5D578D83");return native_invoker.get_return_value_bool();end, + ["NETWORK_SESSION_IS_CLOSED_FRIENDS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("FBCFA2EA2E206890");return native_invoker.get_return_value_bool();end, + ["NETWORK_SESSION_IS_CLOSED_CREW"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("74732C6CA90DA2B4");return native_invoker.get_return_value_bool();end, + ["NETWORK_SESSION_IS_SOLO"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("F3929C2379B60CCE");return native_invoker.get_return_value_bool();end, + ["NETWORK_SESSION_IS_PRIVATE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("CEF70AA5B3F89BA1");return native_invoker.get_return_value_bool();end, + -- p0 is always false and p1 varies. + -- NETWORK_SESSION_END(0, 1) + -- NETWORK_SESSION_END(0, 0) + -- Results in: "Connection to session lost due to an unknown network error. Please return to Grand Theft Auto V and try again later." + ["NETWORK_SESSION_END"]=--[[BOOL (bool)]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("A02E59562D711006");return native_invoker.get_return_value_bool();end, + ["_0xB9351A07A0D458B1"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("B9351A07A0D458B1");return native_invoker.get_return_value_int();end, + -- Only works as host. + ["NETWORK_SESSION_KICK_PLAYER"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("FA8904DC5F304220");end, + ["NETWORK_SESSION_GET_KICK_VOTE"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("D6D09A6F32F49EF1");return native_invoker.get_return_value_bool();end, + ["_0x041C7F2A6C9894E6"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("041C7F2A6C9894E6");return native_invoker.get_return_value_int();end, + ["NETWORK_JOIN_PREVIOUSLY_FAILED_SESSION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("59DF79317F85A7E0");return native_invoker.get_return_value_bool();end, + ["NETWORK_JOIN_PREVIOUSLY_FAILED_TRANSITION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("FFE1E5B792D92B34");return native_invoker.get_return_value_bool();end, + ["NETWORK_SESSION_SET_MATCHMAKING_GROUP"]=--[[void]] function(--[[int]] matchmakingGroup)native_invoker.begin_call();native_invoker.push_arg_int(matchmakingGroup);native_invoker.end_call("49EC8030F5015F8B");end, + -- playerTypes: + -- 0 = regular joiner + -- 4 = spectator + -- 8 = unknown + ["NETWORK_SESSION_SET_MATCHMAKING_GROUP_MAX"]=--[[void]] function(--[[int]] playerType,--[[int]] playerCount)native_invoker.begin_call();native_invoker.push_arg_int(playerType);native_invoker.push_arg_int(playerCount);native_invoker.end_call("8B6A4DD0AF9CE215");end, + ["NETWORK_SESSION_GET_MATCHMAKING_GROUP_FREE"]=--[[int]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("56CE820830EF040B");return native_invoker.get_return_value_int();end, + -- NETWORK_SESSION_* + -- + -- p0 must be <= 4 + ["_0xCAE55F48D3D7875C"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("CAE55F48D3D7875C");end, + ["_0xF49ABC20D8552257"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F49ABC20D8552257");end, + ["_0x4811BBAC21C5FCD5"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("4811BBAC21C5FCD5");end, + ["_0x5539C3EBF104A53A"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("5539C3EBF104A53A");end, + ["_0x702BC4D605522539"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("702BC4D605522539");end, + ["NETWORK_SESSION_SET_MATCHMAKING_PROPERTY_ID"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("3F52E880AAF6C8CA");end, + ["NETWORK_SESSION_SET_MATCHMAKING_MENTAL_STATE"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F1EEA2DDA9FFA69D");end, + ["_0x5ECD378EE64450AB"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5ECD378EE64450AB");end, + ["_0x59D421683D31835A"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("59D421683D31835A");end, + ["_0x1153FA02A659051C"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1153FA02A659051C");end, + ["NETWORK_SESSION_VALIDATE_JOIN"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("C19F6C8E7865A6FF");end, + -- .. + ["NETWORK_ADD_FOLLOWERS"]=--[[void]] function(--[[int* (pointer)]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("236406F60CF216D6");end, + ["NETWORK_CLEAR_FOLLOWERS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("058F43EC59A8631A");end, + ["NETWORK_GET_GLOBAL_MULTIPLAYER_CLOCK"]=--[[void]] function(--[[int* (pointer)]] hours,--[[int* (pointer)]] minutes,--[[int* (pointer)]] seconds)native_invoker.begin_call();native_invoker.push_arg_pointer(hours);native_invoker.push_arg_pointer(minutes);native_invoker.push_arg_pointer(seconds);native_invoker.end_call("6D03BFBD643B2A02");end, + ["_0x600F8CB31C7AAB6E"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("600F8CB31C7AAB6E");end, + ["_NETWORK_GET_TARGETING_MODE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("DFFA5BE8381C3314");return native_invoker.get_return_value_int();end, + ["_0xE532D6811B3A4D2A"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E532D6811B3A4D2A");return native_invoker.get_return_value_bool();end, + ["NETWORK_FIND_MATCHED_GAMERS"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("F7B2CFDE5C9F700D");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_FINDING_GAMERS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("DDDF64C91BFCF0AA");return native_invoker.get_return_value_bool();end, + ["_0xF9B83B77929D8863"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("F9B83B77929D8863");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_NUM_FOUND_GAMERS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("A1B043EE79A916FB");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_FOUND_GAMER"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("9DCFF2AFB68B3476");return native_invoker.get_return_value_bool();end, + ["NETWORK_CLEAR_FOUND_GAMERS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6D14CCEE1B40381A");end, + ["_NETWORK_GET_GAMER_STATUS"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("85A0EF54A500882C");return native_invoker.get_return_value_bool();end, + ["_0x2CC848A861D01493"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("2CC848A861D01493");return native_invoker.get_return_value_int();end, + -- NETWORK_IS_* + ["_0x94A8394D150B013A"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("94A8394D150B013A");return native_invoker.get_return_value_int();end, + ["_0x5AE17C6B0134B7F1"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("5AE17C6B0134B7F1");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_GAMER_STATUS_RESULT"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("02A8BEC6FD9AF660");return native_invoker.get_return_value_bool();end, + ["NETWORK_CLEAR_GET_GAMER_STATUS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("86E0660E4F5C956D");end, + ["NETWORK_SESSION_JOIN_INVITE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C6F8AB8A4189CF3A");end, + ["NETWORK_SESSION_CANCEL_INVITE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2FBF47B1B36D36F9");end, + ["NETWORK_SESSION_FORCE_CANCEL_INVITE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A29177F7703B5644");end, + ["NETWORK_HAS_PENDING_INVITE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("AC8C7B9B88C4A668");return native_invoker.get_return_value_bool();end, + ["_0xC42DD763159F3461"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C42DD763159F3461");return native_invoker.get_return_value_bool();end, + -- NETWORK_RE* + -- + -- Triggers a CEventNetworkInviteConfirmed event + ["_NETWORK_ACCEPT_INVITE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("62A0296C1BB1CEB3");return native_invoker.get_return_value_bool();end, + ["NETWORK_SESSION_WAS_INVITED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("23DFB504655D0CE4");return native_invoker.get_return_value_bool();end, + ["NETWORK_SESSION_GET_INVITER"]=--[[void]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("E57397B4A3429DD0");end, + -- NETWORK_SESSION_IS_* + ["_0xD313DE83394AF134"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D313DE83394AF134");return native_invoker.get_return_value_bool();end, + -- NETWORK_SESSION_IS_* + ["_0xBDB6F89C729CF388"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("BDB6F89C729CF388");return native_invoker.get_return_value_bool();end, + ["NETWORK_SUPPRESS_INVITE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("A0682D67EF1FBA3D");end, + ["NETWORK_BLOCK_INVITES"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("34F9E9049454A7A0");end, + ["NETWORK_BLOCK_JOIN_QUEUE_INVITES"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("CFEB8AF24FC1D0BB");end, + ["_0xF814FEC6A19FD6E0"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("F814FEC6A19FD6E0");end, + ["_NETWORK_BLOCK_KICKED_PLAYERS"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("6B07B9CE4D390375");end, + ["NETWORK_SET_SCRIPT_READY_FOR_EVENTS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("7AC752103856FB20");end, + ["NETWORK_IS_OFFLINE_INVITE_PENDING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("74698374C45701D2");return native_invoker.get_return_value_bool();end, + ["_0x140E6A44870A11CE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("140E6A44870A11CE");end, + -- Loads up the map that is loaded when beeing in mission creator + -- Player gets placed in a mix between online/offline mode + -- p0 is always 2 in R* scripts. + -- + -- Appears to be patched in gtav b757 (game gets terminated) alonside with most other network natives to prevent online modding ~ghost30812 + ["NETWORK_SESSION_HOST_SINGLE_PLAYER"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("C74C33FCA52856D5");end, + ["NETWORK_SESSION_LEAVE_SINGLE_PLAYER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("3442775428FD2DAA");end, + ["NETWORK_IS_GAME_IN_PROGRESS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("10FAB35428CCC9D7");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_SESSION_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D83C2B94E7508980");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_IN_SESSION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("CA97246103B63917");return native_invoker.get_return_value_bool();end, + -- This checks if player is playing on gta online or not. + -- Please add an if and block your mod if this is "true". + ["NETWORK_IS_SESSION_STARTED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("9DE624D2FC4B603F");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_SESSION_BUSY"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("F4435D66A8E2905E");return native_invoker.get_return_value_bool();end, + ["NETWORK_CAN_SESSION_END"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("4EEBC3694E49C572");return native_invoker.get_return_value_bool();end, + ["_0x4C9034162368E206"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("4C9034162368E206");return native_invoker.get_return_value_int();end, + ["NETWORK_SESSION_MARK_VISIBLE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("271CC6AB59EBF9A5");end, + ["NETWORK_SESSION_IS_VISIBLE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("BA416D68C631496A");return native_invoker.get_return_value_bool();end, + ["NETWORK_SESSION_BLOCK_JOIN_REQUESTS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("A73667484D7037C3");end, + ["NETWORK_SESSION_CHANGE_SLOTS"]=--[[void]] function(--[[int]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("B4AB419E0D86ACAE");end, + ["NETWORK_SESSION_GET_PRIVATE_SLOTS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("53AFD64C6758F2F9");return native_invoker.get_return_value_int();end, + ["NETWORK_SESSION_VOICE_HOST"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9C1556705F864230");end, + ["NETWORK_SESSION_VOICE_LEAVE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6793E42BE02B575D");end, + -- Only one occurence in the scripts: + -- + -- auto sub_cb43(auto a_0, auto a_1) { + -- if (g_2594CB._f1) { + -- if (NETWORK::_855BC38818F6F684()) { + -- NETWORK::_ABD5E88B8A2D3DB2(&a_0._fB93); + -- g_2594CB._f14/*{13}*/ = a_0._fB93; + -- g_2594CB._f4/*"64"*/ = a_1; + -- return 1; + -- } + -- } + -- return 0; + -- } + -- + -- other: + -- looks like it passes a player in the paramater + -- + -- Contains string "NETWORK_VOICE_CONNECT_TO_PLAYER" in ida + ["NETWORK_SESSION_VOICE_CONNECT_TO_PLAYER"]=--[[void]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("ABD5E88B8A2D3DB2");end, + ["NETWORK_SESSION_VOICE_RESPOND_TO_REQUEST"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("7F8413B7FC2AA6B9");end, + ["NETWORK_SESSION_VOICE_SET_TIMEOUT"]=--[[void]] function(--[[int]] timeout)native_invoker.begin_call();native_invoker.push_arg_int(timeout);native_invoker.end_call("5B8ED3DB018927B1");end, + ["NETWORK_SESSION_IS_IN_VOICE_SESSION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("855BC38818F6F684");return native_invoker.get_return_value_bool();end, + ["_0xB5D3453C98456528"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("B5D3453C98456528");return native_invoker.get_return_value_int();end, + ["NETWORK_SESSION_IS_VOICE_SESSION_BUSY"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("EF0912DDF7C4CB4B");return native_invoker.get_return_value_bool();end, + -- Message is limited to 64 characters. + ["NETWORK_SEND_TEXT_MESSAGE"]=--[[BOOL (bool)]] function(--[[string]] message,--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_string(message);native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("3A214F2EC889B100");return native_invoker.get_return_value_bool();end, + ["NETWORK_SET_ACTIVITY_SPECTATOR"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("75138790B4359A74");end, + ["NETWORK_IS_ACTIVITY_SPECTATOR"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("12103B9E0C9F92FB");return native_invoker.get_return_value_bool();end, + ["_0x0E4F77F7B9D74D84"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("0E4F77F7B9D74D84");end, + ["NETWORK_SET_ACTIVITY_SPECTATOR_MAX"]=--[[void]] function(--[[int]] maxSpectators)native_invoker.begin_call();native_invoker.push_arg_int(maxSpectators);native_invoker.end_call("9D277B76D1D12222");end, + ["NETWORK_GET_ACTIVITY_PLAYER_NUM"]=--[[int]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("73E2B500410DA5A2");return native_invoker.get_return_value_int();end, + ["NETWORK_IS_ACTIVITY_SPECTATOR_FROM_HANDLE"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("2763BBAA72A7BCB9");return native_invoker.get_return_value_bool();end, + -- p0: Unknown int + -- p1: Unknown int + -- p2: Unknown int + -- p3: Unknown int + -- p4: Unknown always 0 in decompiled scripts + -- p5: BOOL purpose unknown, both 0 and 1 are used in decompiled scripts. + -- p6: BOOL purpose unknown, both 0 and 1 are used in decompiled scripts. + -- p7: Unknown int, it's an int according to decompiled scripts, however the value is always 0 or 1. + -- p8: Unknown int, it's an int according to decompiled scripts, however the value is always 0 or 1. + -- p9: Unknown int, sometimes 0, but also 32768 or 16384 appear in decompiled scripst, maybe a flag of some sort? + -- + -- From what I can tell it looks like it does the following: + -- Creates/hosts a new transition to another online session, using this in FiveM will result in other players being disconencted from the server/preventing them from joining. This is most likely because I entered the wrong session parameters since they're pretty much all unknown right now. + -- You also need to use `NetworkJoinTransition(Player player)` and `NetworkLaunchTransition()`. + ["NETWORK_HOST_TRANSITION"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[int]] p1,--[[int]] p2,--[[int]] p3,--[[Any (int)]] p4,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] p6,--[[int]] p7,--[[Any (int)]] p8,--[[int]] p9)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("A60BB5CE242BB254");return native_invoker.get_return_value_bool();end, + ["NETWORK_DO_TRANSITION_QUICKMATCH"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("71FB0EBCD4915D56");return native_invoker.get_return_value_bool();end, + ["NETWORK_DO_TRANSITION_QUICKMATCH_ASYNC"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("A091A5E44F0072E5");return native_invoker.get_return_value_bool();end, + ["NETWORK_DO_TRANSITION_QUICKMATCH_WITH_GROUP"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any* (pointer)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_pointer(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.end_call("9C4AB58491FDC98A");return native_invoker.get_return_value_bool();end, + ["NETWORK_JOIN_GROUP_ACTIVITY"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("A06509A691D12BE4");return native_invoker.get_return_value_int();end, + ["_0x1888694923EF4591"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1888694923EF4591");end, + ["_0xB13E88E655E5A3BC"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B13E88E655E5A3BC");end, + ["NETWORK_IS_TRANSITION_CLOSED_FRIENDS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("6512765E3BE78C50");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_TRANSITION_CLOSED_CREW"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("0DBD5D7E3C5BEC3B");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_TRANSITION_SOLO"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5DC577201723960A");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_TRANSITION_PRIVATE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5A6AA44FF8E931E6");return native_invoker.get_return_value_bool();end, + -- NETWORK_GET_NUM_* + ["_0x617F49C2668E6155"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("617F49C2668E6155");return native_invoker.get_return_value_int();end, + ["_0x261E97AD7BCF3D40"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("261E97AD7BCF3D40");end, + ["_0x39917E1B4CB0F911"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("39917E1B4CB0F911");end, + ["_0x2CE9D95E4051AECD"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2CE9D95E4051AECD");end, + ["NETWORK_SET_TRANSITION_CREATOR_HANDLE"]=--[[void]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("EF26739BCD9907D5");end, + ["NETWORK_CLEAR_TRANSITION_CREATOR_HANDLE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FB3272229A82C759");end, + ["NETWORK_INVITE_GAMERS_TO_TRANSITION"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("4A595C32F77DFF76");return native_invoker.get_return_value_bool();end, + ["NETWORK_SET_GAMER_INVITED_TO_TRANSITION"]=--[[void]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("CA2C8073411ECDB6");end, + ["NETWORK_LEAVE_TRANSITION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D23A1A815D21DB19");return native_invoker.get_return_value_bool();end, + ["NETWORK_LAUNCH_TRANSITION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("2DCF46CB1A4F0884");return native_invoker.get_return_value_bool();end, + -- Appears to set whether a transition should be started when the session is migrating. + -- + -- NETWORK_SET_* + ["_0xA2E9C1AB8A92E8CD"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("A2E9C1AB8A92E8CD");end, + ["NETWORK_BAIL_TRANSITION"]=--[[void]] function(--[[int]] p0,--[[int]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("EAA572036990CD1B");end, + ["NETWORK_DO_TRANSITION_TO_GAME"]=--[[BOOL (bool)]] function(--[[BOOL (bool)]] p0,--[[int]] maxPlayers)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_int(maxPlayers);native_invoker.end_call("3E9BB38102A589B0");return native_invoker.get_return_value_bool();end, + ["NETWORK_DO_TRANSITION_TO_NEW_GAME"]=--[[BOOL (bool)]] function(--[[BOOL (bool)]] p0,--[[int]] maxPlayers,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_int(maxPlayers);native_invoker.push_arg_bool(p2);native_invoker.end_call("4665F51EFED00034");return native_invoker.get_return_value_bool();end, + -- p2 is true 3/4 of the occurrences I found. + -- 'players' is the number of players for a session. On PS3/360 it's always 18. On PC it's 32. + ["NETWORK_DO_TRANSITION_TO_FREEMODE"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1,--[[BOOL (bool)]] p2,--[[int]] players,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_int(players);native_invoker.push_arg_bool(p4);native_invoker.end_call("3AAD8B2FCA1E289F");return native_invoker.get_return_value_bool();end, + ["NETWORK_DO_TRANSITION_TO_NEW_FREEMODE"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[int]] players,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(players);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("9E80A5BA8109F974");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_TRANSITION_TO_GAME"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("9D7696D8F4FA6CB7");return native_invoker.get_return_value_bool();end, + -- Returns count. + ["NETWORK_GET_TRANSITION_MEMBERS"]=--[[int]] function(--[[Any* (pointer)]] data,--[[int]] dataCount)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.push_arg_int(dataCount);native_invoker.end_call("73B000F7FBC55829");return native_invoker.get_return_value_int();end, + ["NETWORK_APPLY_TRANSITION_PARAMETER"]=--[[void]] function(--[[int]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("521638ADA1BA0D18");end, + ["NETWORK_APPLY_TRANSITION_PARAMETER_STRING"]=--[[void]] function(--[[int]] p0,--[[string]] string,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(string);native_invoker.push_arg_bool(p2);native_invoker.end_call("EBEFC2E77084F599");end, + -- the first arg seems to be the network player handle (&handle) and the second var is pretty much always "" and the third seems to be a number between 0 and ~10 and the 4th is is something like 0 to 5 and I guess the 5th is a bool cuz it is always 0 or 1 + -- + -- does this send an invite to a player? + ["NETWORK_SEND_TRANSITION_GAMER_INSTRUCTION"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle,--[[string]] p1,--[[int]] p2,--[[int]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_string(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("31D1D2B858D25E6B");return native_invoker.get_return_value_bool();end, + ["NETWORK_MARK_TRANSITION_GAMER_AS_FULLY_JOINED"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("5728BB6D63E3FF1D");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_TRANSITION_HOST"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("0B824797C9BF2159");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_TRANSITION_HOST_FROM_HANDLE"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("6B5C83BA3EFE6A10");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_TRANSITION_HOST"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("65042B9774C4435E");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_IN_TRANSITION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("68049AEFF83D8F0A");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_TRANSITION_STARTED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("53FA83401D9C07FE");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_TRANSITION_BUSY"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("520F3282A53D26B7");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_TRANSITION_MATCHMAKING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("292564C735375EDF");return native_invoker.get_return_value_bool();end, + -- NETWORK_IS_TRANSITION_* + ["_0xC571D0E77D8BBC29"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C571D0E77D8BBC29");return native_invoker.get_return_value_bool();end, + ["_0x1398582B7F72B3ED"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("1398582B7F72B3ED");end, + ["_0x1F8E00FB18239600"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("1F8E00FB18239600");end, + ["_0xF6F4383B7C92F11A"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F6F4383B7C92F11A");end, + ["NETWORK_OPEN_TRANSITION_MATCHMAKING"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2B3A8F7CA3A38FDE");end, + ["NETWORK_CLOSE_TRANSITION_MATCHMAKING"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("43F4DBA69710E01E");end, + ["NETWORK_IS_TRANSITION_OPEN_TO_MATCHMAKING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("37A4494483B9F5C9");return native_invoker.get_return_value_bool();end, + ["NETWORK_SET_TRANSITION_VISIBILITY_LOCK"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("0C978FDA19692C2C");end, + ["NETWORK_IS_TRANSITION_VISIBILITY_LOCKED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D0A484CB2F829FBE");return native_invoker.get_return_value_bool();end, + ["NETWORK_SET_TRANSITION_ACTIVITY_ID"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("30DE938B516F0AD2");end, + ["NETWORK_CHANGE_TRANSITION_SLOTS"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("EEEDA5E6D7080987");end, + ["_0x973D76AA760A6CB6"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("973D76AA760A6CB6");end, + ["NETWORK_HAS_PLAYER_STARTED_TRANSITION"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("9AC9CCBFA8C29795");return native_invoker.get_return_value_bool();end, + ["NETWORK_ARE_TRANSITION_DETAILS_VALID"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2615AA2A695930C1");return native_invoker.get_return_value_bool();end, + -- int handle[76]; + -- NETWORK_HANDLE_FROM_FRIEND(iSelectedPlayer, &handle[0], 13); + -- Player uVar2 = NETWORK_GET_PLAYER_FROM_GAMER_HANDLE(&handle[0]); + -- NETWORK_JOIN_TRANSITION(uVar2); + -- nothing doin. + ["NETWORK_JOIN_TRANSITION"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("9D060B08CD63321A");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAS_INVITED_GAMER_TO_TRANSITION"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("7284A47B3540E6CF");return native_invoker.get_return_value_bool();end, + -- NETWORK_HAS_* + ["_0x3F9990BF5F22759C"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("3F9990BF5F22759C");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_ACTIVITY_SESSION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("05095437424397FA");return native_invoker.get_return_value_bool();end, + -- Does nothing. It's just a nullsub. + ["_0x4A9FDE3A5A6D0437"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("4A9FDE3A5A6D0437");end, + ["_NETWORK_SEND_PRESENCE_INVITE"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle,--[[Any* (pointer)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("C3C7A6AFDB244624");return native_invoker.get_return_value_bool();end, + -- String "NETWORK_SEND_PRESENCE_TRANSITION_INVITE" is contained in the function in ida so this one is correct. + ["_NETWORK_SEND_PRESENCE_TRANSITION_INVITE"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("C116FF9B4D488291");return native_invoker.get_return_value_bool();end, + ["_0x1171A97A3D3981B6"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("1171A97A3D3981B6");return native_invoker.get_return_value_bool();end, + ["_0x742B58F723233ED9"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("742B58F723233ED9");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_NUM_PRESENCE_INVITES"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("CEFA968912D0F78D");return native_invoker.get_return_value_int();end, + ["NETWORK_ACCEPT_PRESENCE_INVITE"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("FA91550DF9318B22");return native_invoker.get_return_value_bool();end, + ["NETWORK_REMOVE_PRESENCE_INVITE"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F0210268DB0974B1");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_PRESENCE_INVITE_ID"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DFF09646E12EC386");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_PRESENCE_INVITE_INVITER"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("4962CC4AA2F345B7");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_PRESENCE_INVITE_HANDLE"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("38D5B0FEBB086F75");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_PRESENCE_INVITE_SESSION_ID"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("26E1CD96B0903D60");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_PRESENCE_INVITE_CONTENT_ID"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("24409FC4C55CB22D");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_PRESENCE_INVITE_PLAYLIST_LENGTH"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("D39B3FFF8FFDD5BF");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_PRESENCE_INVITE_PLAYLIST_CURRENT"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("728C4CC7920CD102");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_PRESENCE_INVITE_FROM_ADMIN"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("3DBF2DF0AEB7D289");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_PRESENCE_INVITE_IS_TOURNAMENT"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8806CEBFABD3CE05");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAS_FOLLOW_INVITE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("76D9B976C4C09FDE");return native_invoker.get_return_value_bool();end, + ["NETWORK_ACTION_FOLLOW_INVITE"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("C88156EBB786F8D5");return native_invoker.get_return_value_int();end, + ["NETWORK_CLEAR_FOLLOW_INVITE"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("439BFDE3CD0610F6");return native_invoker.get_return_value_int();end, + ["_0xEBF8284D8CADEB53"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EBF8284D8CADEB53");end, + ["NETWORK_REMOVE_TRANSITION_INVITE"]=--[[void]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("7524B431B2E6F7EE");end, + ["NETWORK_REMOVE_ALL_TRANSITION_INVITE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("726E0375C7A26368");end, + -- NETWORK_RE* + ["_0xF083835B70BA9BFE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("F083835B70BA9BFE");end, + ["NETWORK_INVITE_GAMERS"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("9D80CD1D0E6327DE");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAS_INVITED_GAMER"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("4D86CD31E8976ECE");return native_invoker.get_return_value_bool();end, + -- NETWORK_HAS_* + ["_0x71DC455F5CD1C2B1"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("71DC455F5CD1C2B1");return native_invoker.get_return_value_bool();end, + ["_0x3855FB5EB2C5E8B2"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("3855FB5EB2C5E8B2");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_CURRENTLY_SELECTED_GAMER_HANDLE_FROM_INVITE_MENU"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("74881E6BCAE2327C");return native_invoker.get_return_value_bool();end, + ["NETWORK_SET_CURRENTLY_SELECTED_GAMER_HANDLE_FROM_INVITE_MENU"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("7206F674F2A3B1BB");return native_invoker.get_return_value_bool();end, + ["NETWORK_SET_INVITE_ON_CALL_FOR_INVITE_MENU"]=--[[void]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("66F010A4B031A331");end, + ["NETWORK_CHECK_DATA_MANAGER_SUCCEEDED_FOR_HANDLE"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("44B37CDCAE765AAE");return native_invoker.get_return_value_bool();end, + ["_0x4AD490AE1536933B"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("4AD490AE1536933B");return native_invoker.get_return_value_int();end, + -- NETWORK_SET_* + ["_0x0D77A82DC2D0DA59"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("0D77A82DC2D0DA59");end, + ["FILLOUT_PM_PLAYER_LIST"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("CBBD7C4991B64809");return native_invoker.get_return_value_bool();end, + ["FILLOUT_PM_PLAYER_LIST_WITH_NAMES"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("716B6DB9D1886106");return native_invoker.get_return_value_bool();end, + ["REFRESH_PLAYER_LIST_STATS"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E26CCFF8094D8C74");return native_invoker.get_return_value_bool();end, + ["NETWORK_SET_CURRENT_DATA_MANAGER_HANDLE"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("796A87B3B68D1F3D");return native_invoker.get_return_value_bool();end, + -- Hardcoded to return false. + ["NETWORK_IS_IN_PLATFORM_PARTY"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("2FC5650B0271CB57");return native_invoker.get_return_value_bool();end, + ["_NETWORK_GET_PLATFORM_PARTY_UNK"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("01ABCE5E7CBDA196");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_PLATFORM_PARTY_MEMBERS"]=--[[int]] function(--[[Any* (pointer)]] data,--[[int]] dataSize)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.push_arg_int(dataSize);native_invoker.end_call("120364DE2845DAF8");return native_invoker.get_return_value_int();end, + -- Hardcoded to return false. + ["NETWORK_IS_IN_PLATFORM_PARTY_CHAT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("FD8B834A8BA05048");return native_invoker.get_return_value_bool();end, + -- This would be nice to see if someone is in party chat, but 2 sad notes. + -- 1) It only becomes true if said person is speaking in that party at the time. + -- 2) It will never, become true unless you are in that party with said person. + ["NETWORK_IS_CHATTING_IN_PLATFORM_PARTY"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("8DE9945BCC9AEC52");return native_invoker.get_return_value_bool();end, + ["_0x2BF66D2E7414F686"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("2BF66D2E7414F686");return native_invoker.get_return_value_int();end, + -- NETWORK_IS_* + ["_0x14922ED3E38761F0"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("14922ED3E38761F0");return native_invoker.get_return_value_bool();end, + ["_0x6CE50E47F5543D0C"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6CE50E47F5543D0C");end, + ["_0xFA2888E3833C8E96"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FA2888E3833C8E96");end, + ["_0x25D990F8E0E3F13C"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("25D990F8E0E3F13C");end, + ["_0xF1B84178F8674195"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F1B84178F8674195");end, + ["NETWORK_GET_RANDOM_INT"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("599E4FA1F87EB5FF");return native_invoker.get_return_value_int();end, + -- Same as GET_RANDOM_INT_IN_RANGE + ["NETWORK_GET_RANDOM_INT_RANGED"]=--[[int]] function(--[[int]] rangeStart,--[[int]] rangeEnd)native_invoker.begin_call();native_invoker.push_arg_int(rangeStart);native_invoker.push_arg_int(rangeEnd);native_invoker.end_call("E30CF56F1EFA5F43");return native_invoker.get_return_value_int();end, + ["NETWORK_PLAYER_IS_CHEATER"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("655B91F1495A9090");return native_invoker.get_return_value_bool();end, + ["NETWORK_PLAYER_GET_CHEATER_REASON"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("172F75B6EE2233BA");return native_invoker.get_return_value_int();end, + ["NETWORK_PLAYER_IS_BADSPORT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("19D8DA0E5A68045A");return native_invoker.get_return_value_bool();end, + -- p1 = 6 + ["_TRIGGER_SCRIPT_CRC_CHECK_ON_PLAYER"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[int]] p1,--[[Hash (int)]] scriptHash)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(scriptHash);native_invoker.end_call("46FB3ED415C7641C");return native_invoker.get_return_value_bool();end, + ["_0xA12D3A5A3753CC23"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("A12D3A5A3753CC23");return native_invoker.get_return_value_int();end, + ["_0xF287F506767CC8A9"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("F287F506767CC8A9");return native_invoker.get_return_value_int();end, + ["_REMOTE_CHEAT_DETECTED"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[int]] a,--[[int]] b)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(a);native_invoker.push_arg_int(b);native_invoker.end_call("472841A026D26D8B");return native_invoker.get_return_value_bool();end, + ["BAD_SPORT_PLAYER_LEFT_DETECTED"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle,--[[int]] event,--[[int]] amountReceived)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_int(event);native_invoker.push_arg_int(amountReceived);native_invoker.end_call("EC5E3AF5289DCA81");return native_invoker.get_return_value_bool();end, + ["NETWORK_APPLY_PED_SCAR_DATA"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("E66C690248F11150");end, + -- p1 is always 0 + ["NETWORK_SET_THIS_SCRIPT_IS_NETWORK_SCRIPT"]=--[[void]] function(--[[int]] lobbySize,--[[BOOL (bool)]] p1,--[[int]] playerId)native_invoker.begin_call();native_invoker.push_arg_int(lobbySize);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(playerId);native_invoker.end_call("1CA59E306ECB80A5");end, + ["_NETWORK_IS_THIS_SCRIPT_MARKED"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("D1110739EEADB592");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_THIS_SCRIPT_IS_NETWORK_SCRIPT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("2910669969E9535E");return native_invoker.get_return_value_bool();end, + -- Seems to always return 0, but it's used in quite a few loops. + -- + -- for (num3 = 0; num3 < NETWORK::0xCCD8C02D(); num3++) + -- { + -- if (NETWORK::NETWORK_IS_PARTICIPANT_ACTIVE(PLAYER::0x98F3B274(num3)) != 0) + -- { + -- var num5 = NETWORK::NETWORK_GET_PLAYER_INDEX(PLAYER::0x98F3B274(num3)); + ["NETWORK_GET_MAX_NUM_PARTICIPANTS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("A6C90FBC38E395EE");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_NUM_PARTICIPANTS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("18D0456E86604654");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_SCRIPT_STATUS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("57D158647A6BFABF");return native_invoker.get_return_value_int();end, + ["NETWORK_REGISTER_HOST_BROADCAST_VARIABLES"]=--[[void]] function(--[[int* (pointer)]] vars,--[[int]] numVars)native_invoker.begin_call();native_invoker.push_arg_pointer(vars);native_invoker.push_arg_int(numVars);native_invoker.end_call("3E9B2F01C50DF595");end, + ["NETWORK_REGISTER_PLAYER_BROADCAST_VARIABLES"]=--[[void]] function(--[[int* (pointer)]] vars,--[[int]] numVars)native_invoker.begin_call();native_invoker.push_arg_pointer(vars);native_invoker.push_arg_int(numVars);native_invoker.end_call("3364AA97340CA215");end, + ["_0xEA8C0DDB10E2822A"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("EA8C0DDB10E2822A");end, + ["_0xD6D7478CA62B8D41"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("D6D7478CA62B8D41");end, + ["NETWORK_FINISH_BROADCASTING_DATA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("64F62AFB081E260D");end, + -- NETWORK_HAS_* + ["_0x5D10B3795F3FC886"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5D10B3795F3FC886");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_PLAYER_INDEX"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("24FB80D107371267");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_PARTICIPANT_INDEX"]=--[[int]] function(--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.end_call("1B84DF6AF2A46938");return native_invoker.get_return_value_int();end, + -- Returns the Player associated to a given Ped when in an online session. + ["NETWORK_GET_PLAYER_INDEX_FROM_PED"]=--[[Player (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("6C0E2E0125610278");return native_invoker.get_return_value_int();end, + -- Returns the amount of players connected in the current session. Only works when connected to a session/server. + ["NETWORK_GET_NUM_CONNECTED_PLAYERS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("A4A79DD2D9600654");return native_invoker.get_return_value_int();end, + ["NETWORK_IS_PLAYER_CONNECTED"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("93DC1BE4E1ABE9D1");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_TOTAL_NUM_PLAYERS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("CF61D4B4702EE9EB");return native_invoker.get_return_value_int();end, + ["NETWORK_IS_PARTICIPANT_ACTIVE"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6FF8FF40B6357D45");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_PLAYER_ACTIVE"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("B8DFD30D6973E135");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_PLAYER_A_PARTICIPANT"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("3CA58F6CB7CBD784");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_HOST_OF_THIS_SCRIPT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("83CD99A1E6061AB5");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_HOST_OF_THIS_SCRIPT"]=--[[Player (int)]] function()native_invoker.begin_call();native_invoker.end_call("C7B4D79B01FA7A5C");return native_invoker.get_return_value_int();end, + -- scriptName examples: + -- "freemode", "AM_CR_SecurityVan", ... + -- + -- Most of the time, these values are used: + -- p1 = -1 + -- p2 = 0 + ["NETWORK_GET_HOST_OF_SCRIPT"]=--[[Player (int)]] function(--[[string]] scriptName,--[[int]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_string(scriptName);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("1D6A14F1F9A736FC");return native_invoker.get_return_value_int();end, + ["NETWORK_SET_MISSION_FINISHED"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("3B3D11CD9FFCDFC9");end, + ["NETWORK_IS_SCRIPT_ACTIVE"]=--[[BOOL (bool)]] function(--[[string]] scriptName,--[[Player (int)]] player,--[[BOOL (bool)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_string(scriptName);native_invoker.push_arg_int(player);native_invoker.push_arg_bool(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("9D40DF90FAD26098");return native_invoker.get_return_value_bool();end, + ["_0x560B423D73015E77"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("560B423D73015E77");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_NUM_SCRIPT_PARTICIPANTS"]=--[[int]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("3658E8CD94FC121A");return native_invoker.get_return_value_int();end, + ["_0x638A3A81733086DB"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("638A3A81733086DB");return native_invoker.get_return_value_int();end, + ["NETWORK_IS_PLAYER_A_PARTICIPANT_ON_SCRIPT"]=--[[BOOL (bool)]] function(--[[Player (int)]] player1,--[[string]] script,--[[Player (int)]] player2)native_invoker.begin_call();native_invoker.push_arg_int(player1);native_invoker.push_arg_string(script);native_invoker.push_arg_int(player2);native_invoker.end_call("1AD5B71586B94820");return native_invoker.get_return_value_bool();end, + ["_0x2302C0264EA58D31"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2302C0264EA58D31");end, + -- Has something to do with a host request. + -- + -- NETWORK_RE* + ["_0x741A3D8380319A81"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("741A3D8380319A81");end, + -- Return the local Participant ID + ["PARTICIPANT_ID"]=--[[Player (int)]] function()native_invoker.begin_call();native_invoker.end_call("90986E8876CE0A83");return native_invoker.get_return_value_int();end, + -- Return the local Participant ID. + -- + -- This native is exactly the same as 'PARTICIPANT_ID' native. + ["PARTICIPANT_ID_TO_INT"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("57A3BDDAD8E5AA0A");return native_invoker.get_return_value_int();end, + ["_0x2DA41ED6E1FCD7A5"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("2DA41ED6E1FCD7A5");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_DESTROYER_OF_NETWORK_ID"]=--[[int]] function(--[[int]] netId,--[[Hash* (pointer)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.push_arg_pointer(weaponHash);native_invoker.end_call("7A1ADEEF01740A24");return native_invoker.get_return_value_int();end, + ["_0xC434133D9BA52777"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("C434133D9BA52777");return native_invoker.get_return_value_int();end, + ["_0x83660B734994124D"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("83660B734994124D");return native_invoker.get_return_value_int();end, + ["_NETWORK_GET_DESTROYER_OF_ENTITY"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Hash* (pointer)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(weaponHash);native_invoker.end_call("4CACA84440FA26F6");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_ENTITY_KILLER_OF_PLAYER"]=--[[Entity (int)]] function(--[[Player (int)]] player,--[[Hash* (pointer)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_pointer(weaponHash);native_invoker.end_call("42B2DAA6B596F5F8");return native_invoker.get_return_value_int();end, + ["NETWORK_RESURRECT_LOCAL_PLAYER"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading,--[[BOOL (bool)]] unk,--[[BOOL (bool)]] changetime,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.push_arg_bool(unk);native_invoker.push_arg_bool(changetime);native_invoker.push_arg_int(p6);native_invoker.end_call("EA23C49EAA83ACFB");end, + ["NETWORK_SET_LOCAL_PLAYER_INVINCIBLE_TIME"]=--[[void]] function(--[[int]] time)native_invoker.begin_call();native_invoker.push_arg_int(time);native_invoker.end_call("2D95C7E2D7E07307");end, + ["NETWORK_IS_LOCAL_PLAYER_INVINCIBLE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("8A8694B48715B000");return native_invoker.get_return_value_bool();end, + ["NETWORK_DISABLE_INVINCIBLE_FLASHING"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("9DD368BF06983221");end, + ["NETWORK_SET_LOCAL_PLAYER_SYNC_LOOK_AT"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("524FF0AEFF9C3973");end, + -- NETWORK_HAS_* + ["_0xB07D3185E11657A5"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("B07D3185E11657A5");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_NETWORK_ID_FROM_ENTITY"]=--[[int]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("A11700682F3AD45C");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_ENTITY_FROM_NETWORK_ID"]=--[[Entity (int)]] function(--[[int]] netId)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.end_call("CE4E5D9B0A4FF560");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_ENTITY_IS_NETWORKED"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("C7827959479DCC78");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_ENTITY_IS_LOCAL"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("0991549DE4D64762");return native_invoker.get_return_value_bool();end, + ["NETWORK_REGISTER_ENTITY_AS_NETWORKED"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("06FAACD625D80CAA");end, + ["NETWORK_UNREGISTER_NETWORKED_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("7368E683BB9038D6");end, + ["NETWORK_DOES_NETWORK_ID_EXIST"]=--[[BOOL (bool)]] function(--[[int]] netId)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.end_call("38CE16C96BD11344");return native_invoker.get_return_value_bool();end, + ["NETWORK_DOES_ENTITY_EXIST_WITH_NETWORK_ID"]=--[[BOOL (bool)]] function(--[[int]] netId)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.end_call("18A47D074708FD68");return native_invoker.get_return_value_bool();end, + ["NETWORK_REQUEST_CONTROL_OF_NETWORK_ID"]=--[[BOOL (bool)]] function(--[[int]] netId)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.end_call("A670B3662FAFFBD0");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAS_CONTROL_OF_NETWORK_ID"]=--[[BOOL (bool)]] function(--[[int]] netId)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.end_call("4D36070FE0215186");return native_invoker.get_return_value_bool();end, + -- NETWORK_IS_* + -- Probably a bool, returns true if the specified network id is controlled by someone else. + -- Ff you have control over the entity corresponding to the netId then this will return false (0); + -- Returns probably a bool, returns 1 if you don't have control over the netId entity. + ["_0x7242F8B741CE1086"]=--[[BOOL (bool)]] function(--[[int]] netId)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.end_call("7242F8B741CE1086");return native_invoker.get_return_value_bool();end, + ["NETWORK_REQUEST_CONTROL_OF_ENTITY"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("B69317BF5E782347");return native_invoker.get_return_value_bool();end, + ["NETWORK_REQUEST_CONTROL_OF_DOOR"]=--[[BOOL (bool)]] function(--[[int]] doorID)native_invoker.begin_call();native_invoker.push_arg_int(doorID);native_invoker.end_call("870DDFD5A4A796E4");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAS_CONTROL_OF_ENTITY"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("01BF60A500E28887");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAS_CONTROL_OF_PICKUP"]=--[[BOOL (bool)]] function(--[[Pickup (int)]] pickup)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.end_call("5BC9495F0B3B6FA6");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAS_CONTROL_OF_DOOR"]=--[[BOOL (bool)]] function(--[[Hash (int)]] doorHash)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.end_call("CB3C68ADB06195DF");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_DOOR_NETWORKED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] doorHash)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.end_call("C01E93FAC20C3346");return native_invoker.get_return_value_bool();end, + -- calls from vehicle to net. + -- + ["VEH_TO_NET"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("B4C94523F023419C");return native_invoker.get_return_value_int();end, + -- gets the network id of a ped + ["PED_TO_NET"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("0EDEC3C276198689");return native_invoker.get_return_value_int();end, + -- Lets objects spawn online simply do it like this: + -- + -- int createdObject = OBJ_TO_NET(CREATE_OBJECT_NO_OFFSET(oball, pCoords.x, pCoords.y, pCoords.z, 1, 0, 0)); + ["OBJ_TO_NET"]=--[[int]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("99BFDC94A603E541");return native_invoker.get_return_value_int();end, + ["NET_TO_VEH"]=--[[Vehicle (int)]] function(--[[int]] netHandle)native_invoker.begin_call();native_invoker.push_arg_int(netHandle);native_invoker.end_call("367B936610BA360C");return native_invoker.get_return_value_int();end, + -- gets the ped id of a network id + ["NET_TO_PED"]=--[[Ped (int)]] function(--[[int]] netHandle)native_invoker.begin_call();native_invoker.push_arg_int(netHandle);native_invoker.end_call("BDCD95FC216A8B3E");return native_invoker.get_return_value_int();end, + -- gets the object id of a network id + ["NET_TO_OBJ"]=--[[Object (int)]] function(--[[int]] netHandle)native_invoker.begin_call();native_invoker.push_arg_int(netHandle);native_invoker.end_call("D8515F5FEA14CB3F");return native_invoker.get_return_value_int();end, + -- gets the entity id of a network id + ["NET_TO_ENT"]=--[[Entity (int)]] function(--[[int]] netHandle)native_invoker.begin_call();native_invoker.push_arg_int(netHandle);native_invoker.end_call("BFFEAB45A9A9094A");return native_invoker.get_return_value_int();end, + -- Retrieves the local player's NetworkHandle* and stores it in the given buffer. + -- + -- * Currently unknown struct + ["NETWORK_GET_LOCAL_HANDLE"]=--[[void]] function(--[[int* (pointer)]] networkHandle,--[[int]] bufferSize)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_int(bufferSize);native_invoker.end_call("E86051786B66CD8E");end, + -- Returns a NetworkHandle* from the specified user ID and stores it in a given buffer. + -- + -- * Currently unknown struct + ["NETWORK_HANDLE_FROM_USER_ID"]=--[[void]] function(--[[string]] userId,--[[int* (pointer)]] networkHandle,--[[int]] bufferSize)native_invoker.begin_call();native_invoker.push_arg_string(userId);native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_int(bufferSize);native_invoker.end_call("DCD51DD8F87AEC5C");end, + -- Returns a NetworkHandle* from the specified member ID and stores it in a given buffer. + -- + -- * Currently unknown struct + ["NETWORK_HANDLE_FROM_MEMBER_ID"]=--[[void]] function(--[[string]] memberId,--[[int* (pointer)]] networkHandle,--[[int]] bufferSize)native_invoker.begin_call();native_invoker.push_arg_string(memberId);native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_int(bufferSize);native_invoker.end_call("A0FD21BED61E5C4C");end, + -- Returns a handle to networkHandle* from the specified player handle and stores it in a given buffer. + -- + -- * Currently unknown struct + -- + -- Example: + -- std::vector GetPlayerNetworkHandle(Player player) { + -- const int size = 13; + -- uint64_t *buffer = std::make_unique(size).get(); + -- NETWORK::NETWORK_HANDLE_FROM_PLAYER(player, reinterpret_cast(buffer), 13); + -- for (int i = 0; i < size; i++) { + -- Log::Msg("networkhandle[%i]: %llx", i, buffer[i]); + -- } + -- std::vector result(buffer, buffer + sizeof(buffer)); + -- return result; + -- } + ["NETWORK_HANDLE_FROM_PLAYER"]=--[[void]] function(--[[Player (int)]] player,--[[int* (pointer)]] networkHandle,--[[int]] bufferSize)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_int(bufferSize);native_invoker.end_call("388EB2B86C73B6B3");end, + ["NETWORK_HASH_FROM_PLAYER_HANDLE"]=--[[Hash (int)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("BC1D768F2F5D6C05");return native_invoker.get_return_value_int();end, + ["NETWORK_HASH_FROM_GAMER_HANDLE"]=--[[Hash (int)]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("58575AC3CF2CA8EC");return native_invoker.get_return_value_int();end, + ["NETWORK_HANDLE_FROM_FRIEND"]=--[[void]] function(--[[int]] friendIndex,--[[int* (pointer)]] networkHandle,--[[int]] bufferSize)native_invoker.begin_call();native_invoker.push_arg_int(friendIndex);native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_int(bufferSize);native_invoker.end_call("D45CB817D7E177D2");end, + ["NETWORK_GAMERTAG_FROM_HANDLE_START"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("9F0C0A981D73FA56");return native_invoker.get_return_value_bool();end, + ["NETWORK_GAMERTAG_FROM_HANDLE_PENDING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B071E27958EF4CF0");return native_invoker.get_return_value_bool();end, + ["NETWORK_GAMERTAG_FROM_HANDLE_SUCCEEDED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("FD00798DBA7523DD");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_GAMERTAG_FROM_HANDLE"]=--[[string]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("426141162EBE5CDB");return native_invoker.get_return_value_string();end, + ["_0xD66C9E72B3CC4982"]=--[[int]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("D66C9E72B3CC4982");return native_invoker.get_return_value_int();end, + -- MulleDK19: This function is hard-coded to always return 0. + ["_0x58CC181719256197"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("58CC181719256197");return native_invoker.get_return_value_int();end, + ["NETWORK_ARE_HANDLES_THE_SAME"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] netHandle1,--[[int* (pointer)]] netHandle2)native_invoker.begin_call();native_invoker.push_arg_pointer(netHandle1);native_invoker.push_arg_pointer(netHandle2);native_invoker.end_call("57DBA049E110F217");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_HANDLE_VALID"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle,--[[int]] bufferSize)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_int(bufferSize);native_invoker.end_call("6F79B93B0A8E4133");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_PLAYER_FROM_GAMER_HANDLE"]=--[[Player (int)]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("CE5F689CF5A0A49D");return native_invoker.get_return_value_int();end, + ["NETWORK_MEMBER_ID_FROM_GAMER_HANDLE"]=--[[string]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("C82630132081BB6F");return native_invoker.get_return_value_string();end, + ["NETWORK_IS_GAMER_IN_MY_SESSION"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("0F10B05DDF8D16E9");return native_invoker.get_return_value_bool();end, + -- Example: + -- + -- int playerHandle; + -- NETWORK_HANDLE_FROM_PLAYER(selectedPlayer, &playerHandle, 13); + -- NETWORK_SHOW_PROFILE_UI(&playerHandle); + ["NETWORK_SHOW_PROFILE_UI"]=--[[void]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("859ED1CEA343FCA8");end, + -- Returns the name of a given player. Returns "**Invalid**" if CPlayerInfo of the given player cannot be retrieved or the player doesn't exist. + ["NETWORK_PLAYER_GET_NAME"]=--[[string]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("7718D2E2060837D2");return native_invoker.get_return_value_string();end, + -- Takes a 24 char buffer. Returns the buffer or "**Invalid**" if CPlayerInfo of the given player cannot be retrieved or the player doesn't exist. + ["NETWORK_PLAYER_GET_USERID"]=--[[string]] function(--[[Player (int)]] player,--[[int* (pointer)]] userID)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_pointer(userID);native_invoker.end_call("4927FC39CD0869A0");return native_invoker.get_return_value_string();end, + -- Checks if a specific value (BYTE) in CPlayerInfo is nonzero. + -- Returns always false in Singleplayer. + -- + -- No longer used for dev checks since first mods were released on PS3 & 360. + -- R* now checks with the is_dlc_present native for the dlc hash 2532323046, + -- if that is present it will unlock dev stuff. + ["NETWORK_PLAYER_IS_ROCKSTAR_DEV"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("544ABDDA3B409B6D");return native_invoker.get_return_value_bool();end, + ["NETWORK_PLAYER_INDEX_IS_CHEATER"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("565E430DB3B05BEC");return native_invoker.get_return_value_bool();end, + ["_NETWORK_GET_ENTITY_NET_SCRIPT_ID"]=--[[int]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("815F18AD865F057F");return native_invoker.get_return_value_int();end, + -- I've had this return the player's ped handle sometimes, but also other random entities. + -- Whatever p0 is, it's at least not synced to other players. + -- At least not all the time, some p0 values actually output the same entity, (different handle of course, but same entity). + -- But another p0 value may return an entity for player x, but not for player y (it'll just return -1 even if the entity exists on both clients). + -- + -- Returns an entity handle or -1, value changes based on p0's value. + ["_0x37D5F739FD494675"]=--[[int]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("37D5F739FD494675");return native_invoker.get_return_value_int();end, + ["NETWORK_IS_INACTIVE_PROFILE"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("7E58745504313A2E");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_MAX_FRIENDS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("AFEBB0D5D8F687D2");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_FRIEND_COUNT"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("203F1CFD823B27A4");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_FRIEND_NAME"]=--[[string]] function(--[[int]] friendIndex)native_invoker.begin_call();native_invoker.push_arg_int(friendIndex);native_invoker.end_call("E11EBBB2A783FE8B");return native_invoker.get_return_value_string();end, + ["_NETWORK_GET_FRIEND_NAME_FROM_INDEX"]=--[[string]] function(--[[int]] friendIndex)native_invoker.begin_call();native_invoker.push_arg_int(friendIndex);native_invoker.end_call("4164F227D052E293");return native_invoker.get_return_value_string();end, + ["NETWORK_IS_FRIEND_ONLINE"]=--[[BOOL (bool)]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("425A44533437B64D");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_FRIEND_HANDLE_ONLINE"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("87EB7A3FFCB314DB");return native_invoker.get_return_value_bool();end, + -- In scripts R* calls 'NETWORK_GET_FRIEND_NAME' in this param. + ["NETWORK_IS_FRIEND_IN_SAME_TITLE"]=--[[BOOL (bool)]] function(--[[string]] friendName)native_invoker.begin_call();native_invoker.push_arg_string(friendName);native_invoker.end_call("2EA9A3BEDF3F17B8");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_FRIEND_IN_MULTIPLAYER"]=--[[BOOL (bool)]] function(--[[string]] friendName)native_invoker.begin_call();native_invoker.push_arg_string(friendName);native_invoker.end_call("57005C18827F3A28");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_FRIEND"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("1A24A179F9B31654");return native_invoker.get_return_value_bool();end, + -- This function is hard-coded to always return 0. + ["NETWORK_IS_PENDING_FRIEND"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("0BE73DA6984A6E33");return native_invoker.get_return_value_int();end, + ["NETWORK_IS_ADDING_FRIEND"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("6EA101606F6E4D81");return native_invoker.get_return_value_int();end, + ["NETWORK_ADD_FRIEND"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle,--[[string]] message)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.push_arg_string(message);native_invoker.end_call("8E02D73914064223");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_FRIEND_INDEX_ONLINE"]=--[[BOOL (bool)]] function(--[[int]] friendIndex)native_invoker.begin_call();native_invoker.push_arg_int(friendIndex);native_invoker.end_call("BAD8F2A42B844821");return native_invoker.get_return_value_bool();end, + ["NETWORK_SET_PLAYER_IS_PASSIVE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("1B857666604B1A74");end, + ["NETWORK_GET_PLAYER_OWNS_WAYPOINT"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("82377B65E943F72D");return native_invoker.get_return_value_bool();end, + ["NETWORK_CAN_SET_WAYPOINT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C927EC229934AF60");return native_invoker.get_return_value_bool();end, + ["_0x4C2A9FDC22377075"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("4C2A9FDC22377075");end, + ["_0xB309EBEA797E001F"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("B309EBEA797E001F");return native_invoker.get_return_value_int();end, + ["_0x26F07DD83A5F7F98"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("26F07DD83A5F7F98");return native_invoker.get_return_value_int();end, + ["NETWORK_HAS_HEADSET"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("E870F9F1F7B4F1FA");return native_invoker.get_return_value_bool();end, + ["_0x7D395EA61622E116"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("7D395EA61622E116");end, + ["NETWORK_IS_LOCAL_TALKING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C0D2AF00BCC234CA");return native_invoker.get_return_value_bool();end, + ["NETWORK_GAMER_HAS_HEADSET"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("F2FD55CB574BCC55");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_GAMER_TALKING"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("71C33B22606CD88A");return native_invoker.get_return_value_bool();end, + -- Same as NETWORK_CAN_COMMUNICATE_WITH_GAMER + -- + -- NETWORK_CAN_* + ["_NETWORK_CAN_COMMUNICATE_WITH_GAMER_2"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("8F5D1AD832AEB06C");return native_invoker.get_return_value_bool();end, + ["NETWORK_CAN_COMMUNICATE_WITH_GAMER"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("A150A4F065806B1F");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_GAMER_MUTED_BY_ME"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("CE60DE011B6C7978");return native_invoker.get_return_value_bool();end, + ["NETWORK_AM_I_MUTED_BY_GAMER"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("DF02A2C93F1F26DA");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_GAMER_BLOCKED_BY_ME"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("E944C4F5AF1B5883");return native_invoker.get_return_value_bool();end, + ["NETWORK_AM_I_BLOCKED_BY_GAMER"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("15337C7C268A27B2");return native_invoker.get_return_value_bool();end, + ["NETWORK_CAN_VIEW_GAMER_USER_CONTENT"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("B57A49545BA53CE7");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAS_VIEW_GAMER_USER_CONTENT_RESULT"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("CCA4318E1AB03F1F");return native_invoker.get_return_value_bool();end, + ["NETWORK_CAN_PLAY_MULTIPLAYER_WITH_GAMER"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("07DD29D5E22763F1");return native_invoker.get_return_value_bool();end, + ["NETWORK_CAN_GAMER_PLAY_MULTIPLAYER_WITH_ME"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("135F9B7B7ADD2185");return native_invoker.get_return_value_bool();end, + -- returns true if someone is screaming or talking in a microphone + ["NETWORK_IS_PLAYER_TALKING"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("031E11F3D447647E");return native_invoker.get_return_value_bool();end, + ["NETWORK_PLAYER_HAS_HEADSET"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("3FB99A8B08D18FD6");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_PLAYER_MUTED_BY_ME"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("8C71288AE68EDE39");return native_invoker.get_return_value_bool();end, + ["NETWORK_AM_I_MUTED_BY_PLAYER"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("9D6981DFC91A8604");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_PLAYER_BLOCKED_BY_ME"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("57AF1F8E27483721");return native_invoker.get_return_value_bool();end, + ["NETWORK_AM_I_BLOCKED_BY_PLAYER"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("87F395D957D4353D");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_PLAYER_LOUDNESS"]=--[[float]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("21A1684A25C2867F");return native_invoker.get_return_value_float();end, + ["NETWORK_SET_TALKER_PROXIMITY"]=--[[void]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("CBF12D65F95AD686");end, + ["NETWORK_GET_TALKER_PROXIMITY"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("84F0F13120B4E098");return native_invoker.get_return_value_float();end, + ["NETWORK_SET_VOICE_ACTIVE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("BABEC9E69A91C57B");end, + ["_0xCFEB46DCD7D8D5EB"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("CFEB46DCD7D8D5EB");end, + ["NETWORK_OVERRIDE_TRANSITION_CHAT"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("AF66059A131AA269");end, + ["NETWORK_SET_TEAM_ONLY_CHAT"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("D5B4883AC32F24C3");end, + ["_0x265559DA40B3F327"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("265559DA40B3F327");end, + ["_0x4348BFDA56023A2F"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("4348BFDA56023A2F");return native_invoker.get_return_value_int();end, + ["NETWORK_OVERRIDE_TEAM_RESTRICTIONS"]=--[[void]] function(--[[int]] team,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(team);native_invoker.push_arg_bool(toggle);native_invoker.end_call("6F697A66CE78674E");end, + ["NETWORK_SET_OVERRIDE_SPECTATOR_MODE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("70DA3BF8DACD3210");end, + -- Sets some voice chat related value. + -- + -- NETWORK_SET_* + ["_0x3C5C1E2C2FF814B1"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("3C5C1E2C2FF814B1");end, + -- Sets some voice chat related value. + -- + -- NETWORK_SET_* + ["_0x9D7AFCBF21C51712"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("9D7AFCBF21C51712");end, + ["NETWORK_SET_NO_SPECTATOR_CHAT"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("F46A1E03E8755980");end, + -- Sets some voice chat related value. + -- + -- NETWORK_SET_* + ["_0x6A5D89D7769A40D8"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("6A5D89D7769A40D8");end, + -- Could possibly bypass being muted or automatically muted + ["NETWORK_OVERRIDE_CHAT_RESTRICTIONS"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("3039AE5AD2C9C0C4");end, + -- This is used alongside the native, + -- 'NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS'. Read its description for more info. + ["NETWORK_OVERRIDE_SEND_RESTRICTIONS"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("97DD4C5944CC2E6A");end, + ["NETWORK_OVERRIDE_SEND_RESTRICTIONS_ALL"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("57B192B4D4AD23D5");end, + -- R* uses this to hear all player when spectating. + -- It allows you to hear other online players when their chat is on none, crew and or friends + ["NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("DDF73E2B1FEC5AB4");end, + -- p0 is always false in scripts. + ["NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS_ALL"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("0FF2862B61A58AF9");end, + ["NETWORK_SET_VOICE_CHANNEL"]=--[[void]] function(--[[int]] channel)native_invoker.begin_call();native_invoker.push_arg_int(channel);native_invoker.end_call("EF6212C2EFEF1A23");end, + ["NETWORK_CLEAR_VOICE_CHANNEL"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E036A705F989E049");end, + ["NETWORK_APPLY_VOICE_PROXIMITY_OVERRIDE"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("DBD2056652689917");end, + ["NETWORK_CLEAR_VOICE_PROXIMITY_OVERRIDE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("F03755696450470C");end, + ["_0x5E3AA4CA2B6FB0EE"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5E3AA4CA2B6FB0EE");end, + ["_0xCA575C391FEA25CC"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("CA575C391FEA25CC");end, + ["_0xADB57E5B663CCA8B"]=--[[void]] function(--[[Player (int)]] p0,--[[float* (pointer)]] p1,--[[float* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("ADB57E5B663CCA8B");end, + -- NETWORK_SET_* + ["_0x8EF52ACAECC51D9C"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("8EF52ACAECC51D9C");end, + -- Same as _IS_TEXT_CHAT_ACTIVE, except it does not check if the text chat HUD component is initialized, and therefore may crash. + ["_NETWORK_IS_TEXT_CHAT_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5FCF4D7069B09026");return native_invoker.get_return_value_bool();end, + -- Starts a new singleplayer game (at the prologue). + ["SHUTDOWN_AND_LAUNCH_SINGLE_PLAYER_GAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("593850C16A36B692");end, + -- In singleplayer this will re-load your game. + -- + -- In FiveM / GTA:Online this disconnects you from the session, and starts loading single player, however you still remain connected to the server (only if you're the host, if you're not then you also (most likely) get disconnected from the server) and other players will not be able to join until you exit the game. + -- + -- You might need to DoScreenFadeIn and ShutdownLoadingScreen otherwise you probably won't end up loading into SP at all. + -- + -- Somewhat related note: opening the pause menu after loading into this 'singleplayer' mode crashes the game. + ["_SHUTDOWN_AND_LOAD_MOST_RECENT_SAVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("9ECA15ADFE141431");return native_invoker.get_return_value_bool();end, + ["NETWORK_SET_FRIENDLY_FIRE_OPTION"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("F808475FA571D823");end, + -- This native does absolutely nothing, just a nullsub + ["NETWORK_SET_RICH_PRESENCE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("1DCCACDCFC569362");end, + -- This native does absolutely nothing, just a nullsub + ["NETWORK_SET_RICH_PRESENCE_STRING"]=--[[void]] function(--[[int]] p0,--[[string]] textLabel)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(textLabel);native_invoker.end_call("3E200C2BCF4164EB");end, + ["NETWORK_GET_TIMEOUT_TIME"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("5ED0356A0CE3A34F");return native_invoker.get_return_value_int();end, + -- p4 and p5 are always 0 in scripts + ["_NETWORK_RESPAWN_COORDS"]=--[[void]] function(--[[Player (int)]] player,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("9769F811D1785B03");end, + ["_0xBF22E0F32968E967"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(p1);native_invoker.end_call("BF22E0F32968E967");end, + -- entity must be a valid entity; ped can be NULL + ["REMOVE_ALL_STICKY_BOMBS_FROM_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(ped);native_invoker.end_call("715135F4B82AC90D");end, + ["_0x17C9E241111A674D"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("17C9E241111A674D");end, + ["_0x2E4C123D1C8A710E"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("2E4C123D1C8A710E");return native_invoker.get_return_value_int();end, + ["NETWORK_CLAN_SERVICE_IS_VALID"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("579CCED0265D4896");return native_invoker.get_return_value_bool();end, + ["NETWORK_CLAN_PLAYER_IS_ACTIVE"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("B124B57F571D8F18");return native_invoker.get_return_value_bool();end, + -- bufferSize is 35 in the scripts. + -- + -- bufferSize is the elementCount of p0(desc), sizeof(p0) == 280 == p1*8 == 35 * 8, p2(netHandle) is obtained from NETWORK::NETWORK_HANDLE_FROM_PLAYER. And no, I can't explain why 35 * sizeof(int) == 280 and not 140, but I'll get back to you on that. + -- + -- the answer is: because p0 an int64_t* / int64_t[35]. and FYI p2 is an int64_t[13] + -- + -- pastebin.com/cSZniHak + ["NETWORK_CLAN_PLAYER_GET_DESC"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] clanDesc,--[[int]] bufferSize,--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(clanDesc);native_invoker.push_arg_int(bufferSize);native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("EEE6EACBE8874FBA");return native_invoker.get_return_value_bool();end, + -- bufferSize is 35 in the scripts. + ["NETWORK_CLAN_IS_ROCKSTAR_CLAN"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] clanDesc,--[[int]] bufferSize)native_invoker.begin_call();native_invoker.push_arg_pointer(clanDesc);native_invoker.push_arg_int(bufferSize);native_invoker.end_call("7543BB439F63792B");return native_invoker.get_return_value_bool();end, + -- bufferSize is 35 in the scripts. + ["NETWORK_CLAN_GET_UI_FORMATTED_TAG"]=--[[void]] function(--[[int* (pointer)]] clanDesc,--[[int]] bufferSize,--[[char* (pointer)]] formattedTag)native_invoker.begin_call();native_invoker.push_arg_pointer(clanDesc);native_invoker.push_arg_int(bufferSize);native_invoker.push_arg_pointer(formattedTag);native_invoker.end_call("F45352426FF3A4F0");end, + ["NETWORK_CLAN_GET_LOCAL_MEMBERSHIPS_COUNT"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("1F471B79ACC90BEF");return native_invoker.get_return_value_int();end, + ["NETWORK_CLAN_GET_MEMBERSHIP_DESC"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] memberDesc,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(memberDesc);native_invoker.push_arg_int(p1);native_invoker.end_call("48DE78AF2C8885B8");return native_invoker.get_return_value_bool();end, + ["NETWORK_CLAN_DOWNLOAD_MEMBERSHIP"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("A989044E70010ABE");return native_invoker.get_return_value_bool();end, + ["NETWORK_CLAN_DOWNLOAD_MEMBERSHIP_PENDING"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("5B9E023DC6EBEDC0");return native_invoker.get_return_value_bool();end, + ["_NETWORK_IS_CLAN_MEMBERSHIP_FINISHED_DOWNLOADING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B3F64A6A91432477");return native_invoker.get_return_value_bool();end, + ["NETWORK_CLAN_REMOTE_MEMBERSHIPS_ARE_IN_CACHE"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("BB6E6FEE99D866B2");return native_invoker.get_return_value_bool();end, + ["NETWORK_CLAN_GET_MEMBERSHIP_COUNT"]=--[[int]] function(--[[int* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("AAB11F6C4ADBC2C1");return native_invoker.get_return_value_int();end, + ["NETWORK_CLAN_GET_MEMBERSHIP_VALID"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("48A59CF88D43DF0E");return native_invoker.get_return_value_bool();end, + -- BOOL DEBUG_MEMBRESHIP(int Param) + -- { + -- int membership; + -- networkHandleMgr handle; + -- NETWORK_HANDLE_FROM_PLAYER(iSelectedPlayer, &handle.netHandle, 13); + -- + -- if (!_NETWORK_IS_CLAN_MEMBERSHIP_FINISHED_DOWNLOADING()) + -- { + -- if (NETWORK_CLAN_REMOTE_MEMBERSHIPS_ARE_IN_CACHE(&Param)) + -- { + -- if (NETWORK_CLAN_GET_MEMBERSHIP_COUNT(&Param) > 0) + -- { + -- if (NETWORK_CLAN_GET_MEMBERSHIP_VALID(&Param, 0)) + -- { + -- if (NETWORK_CLAN_GET_MEMBERSHIP(&Param, &membership, -1)) + -- { + -- _0xF633805A(&membership, 35, &handle.netHandle); + -- } + -- } + -- } + -- } + -- } + -- else + -- { + -- NETWORK_CLAN_DOWNLOAD_MEMBERSHIP(&handle.netHandle); + -- } + -- } + ["NETWORK_CLAN_GET_MEMBERSHIP"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] p0,--[[int* (pointer)]] clanMembership,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(clanMembership);native_invoker.push_arg_int(p2);native_invoker.end_call("C8BC2011F67B3411");return native_invoker.get_return_value_bool();end, + ["NETWORK_CLAN_JOIN"]=--[[BOOL (bool)]] function(--[[int]] clanDesc)native_invoker.begin_call();native_invoker.push_arg_int(clanDesc);native_invoker.end_call("9FAAA4F4FC71F87F");return native_invoker.get_return_value_bool();end, + -- Only documented... + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["_NETWORK_CLAN_ANIMATION"]=--[[BOOL (bool)]] function(--[[string]] animDict,--[[string]] animName)native_invoker.begin_call();native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.end_call("729E3401F0430686");return native_invoker.get_return_value_bool();end, + ["_0x2B51EDBEFC301339"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(p1);native_invoker.end_call("2B51EDBEFC301339");return native_invoker.get_return_value_bool();end, + ["_0xC32EA7A2F6CA7557"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("C32EA7A2F6CA7557");return native_invoker.get_return_value_int();end, + ["NETWORK_CLAN_GET_EMBLEM_TXD_NAME"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] netHandle,--[[char* (pointer)]] txdName)native_invoker.begin_call();native_invoker.push_arg_pointer(netHandle);native_invoker.push_arg_pointer(txdName);native_invoker.end_call("5835D9CD92E83184");return native_invoker.get_return_value_bool();end, + ["NETWORK_CLAN_REQUEST_EMBLEM"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("13518FF1C6B28938");return native_invoker.get_return_value_bool();end, + ["NETWORK_CLAN_IS_EMBLEM_READY"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("A134777FF7F33331");return native_invoker.get_return_value_bool();end, + ["NETWORK_CLAN_RELEASE_EMBLEM"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("113E6E3E50E286B0");end, + ["NETWORK_GET_PRIMARY_CLAN_DATA_CLEAR"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("9AA46BADAD0E27ED");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_PRIMARY_CLAN_DATA_CANCEL"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("042E4B70B93E6054");end, + ["NETWORK_GET_PRIMARY_CLAN_DATA_START"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("CE86D8191B762107");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_PRIMARY_CLAN_DATA_PENDING"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("B5074DB804E28CE7");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_PRIMARY_CLAN_DATA_SUCCESS"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("5B4F04F19376A0BA");return native_invoker.get_return_value_int();end, + ["NETWORK_GET_PRIMARY_CLAN_DATA_NEW"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("C080FF658B2E41DA");return native_invoker.get_return_value_bool();end, + -- Whether or not another player is allowed to take control of the entity + ["SET_NETWORK_ID_CAN_MIGRATE"]=--[[void]] function(--[[int]] netId,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.push_arg_bool(toggle);native_invoker.end_call("299EEB23175895FC");end, + ["SET_NETWORK_ID_EXISTS_ON_ALL_MACHINES"]=--[[void]] function(--[[int]] netId,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.push_arg_bool(toggle);native_invoker.end_call("E05E81A888FA63C8");end, + -- not tested.... + ["_SET_NETWORK_ID_SYNC_TO_PLAYER"]=--[[void]] function(--[[int]] netId,--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("A8A024587329F36A");end, + ["_0x9D724B400A7E8FFC"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("9D724B400A7E8FFC");end, + ["NETWORK_SET_ENTITY_CAN_BLEND"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D830567D88A1E873");end, + ["_0x0379DAF89BA09AA5"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("0379DAF89BA09AA5");end, + -- if set to true other network players can't see it + -- if set to false other network player can see it + -- ========================================= + -- ^^ I attempted this by grabbing an object with GET_ENTITY_PLAYER_IS_FREE_AIMING_AT and setting this naive no matter the toggle he could still see it. + -- + -- pc or last gen? + -- + -- ^^ last-gen + ["_NETWORK_SET_ENTITY_INVISIBLE_TO_NETWORK"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("F1CA12B18AEF5298");end, + ["SET_NETWORK_ID_VISIBLE_IN_CUTSCENE"]=--[[void]] function(--[[int]] netId,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("A6928482543022B4");end, + ["_0x32EBD154CB6B8B99"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("32EBD154CB6B8B99");end, + ["_0x76B3F29D3F967692"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("76B3F29D3F967692");end, + ["SET_NETWORK_CUTSCENE_ENTITIES"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("AAA553E7DD28A457");end, + ["_0x3FA36981311FA4FF"]=--[[void]] function(--[[int]] netId,--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.push_arg_bool(state);native_invoker.end_call("3FA36981311FA4FF");end, + ["IS_NETWORK_ID_OWNED_BY_PARTICIPANT"]=--[[BOOL (bool)]] function(--[[int]] netId)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.end_call("A1607996431332DF");return native_invoker.get_return_value_bool();end, + ["SET_LOCAL_PLAYER_VISIBLE_IN_CUTSCENE"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("D1065D68947E7B6E");end, + ["SET_LOCAL_PLAYER_INVISIBLE_LOCALLY"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("E5F773C1A1D9D168");end, + ["SET_LOCAL_PLAYER_VISIBLE_LOCALLY"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("7619364C82D3BF14");end, + ["SET_PLAYER_INVISIBLE_LOCALLY"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("12B37D54667DB0B8");end, + ["SET_PLAYER_VISIBLE_LOCALLY"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("FAA10F1FAFB11AF2");end, + -- Hardcoded to not work in SP. + ["FADE_OUT_LOCAL_PLAYER"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("416DBD4CD6ED8DD2");end, + -- normal - transition like when your coming out of LSC + -- slow - transition like when you walk into a mission + -- + ["NETWORK_FADE_OUT_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] normal,--[[BOOL (bool)]] slow)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(normal);native_invoker.push_arg_bool(slow);native_invoker.end_call("DE564951F95E09ED");end, + -- state - 0 does 5 fades + -- state - 1 does 6 fades + -- + -- p3: setting to 1 made vehicle fade in slower, probably "slow" as per NETWORK_FADE_OUT_ENTITY + ["NETWORK_FADE_IN_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] state,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(state);native_invoker.push_arg_int(p2);native_invoker.end_call("1F4ED342ACEFE62D");end, + ["NETWORK_IS_PLAYER_FADING"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("631DC5DFF4B110E3");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_ENTITY_FADING"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("422F32CC7E56ABAD");return native_invoker.get_return_value_bool();end, + ["IS_PLAYER_IN_CUTSCENE"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("E73092F4157CD126");return native_invoker.get_return_value_bool();end, + ["SET_ENTITY_VISIBLE_IN_CUTSCENE"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("E0031D3C8F36AB82");end, + -- Makes the provided entity visible for yourself for the current frame. + ["SET_ENTITY_LOCALLY_INVISIBLE"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("E135A9FF3F5D05D8");end, + ["SET_ENTITY_LOCALLY_VISIBLE"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("241E289B5C059EDC");end, + ["IS_DAMAGE_TRACKER_ACTIVE_ON_NETWORK_ID"]=--[[BOOL (bool)]] function(--[[int]] netID)native_invoker.begin_call();native_invoker.push_arg_int(netID);native_invoker.end_call("6E192E33AD436366");return native_invoker.get_return_value_bool();end, + ["ACTIVATE_DAMAGE_TRACKER_ON_NETWORK_ID"]=--[[void]] function(--[[int]] netID,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(netID);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D45B1FFCCD52FF19");end, + ["_IS_DAMAGE_TRACKER_ACTIVE_ON_PLAYER"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("B2092A1EAA7FD45F");return native_invoker.get_return_value_bool();end, + ["_ACTIVATE_DAMAGE_TRACKER_ON_PLAYER"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("BEC0816FF5ACBCDA");end, + ["IS_SPHERE_VISIBLE_TO_ANOTHER_MACHINE"]=--[[BOOL (bool)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("D82CF8E64C8729D8");return native_invoker.get_return_value_bool();end, + ["IS_SPHERE_VISIBLE_TO_PLAYER"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.end_call("DC3A310219E5DA62");return native_invoker.get_return_value_bool();end, + ["RESERVE_NETWORK_MISSION_OBJECTS"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("4E5C93BD0C32FBF8");end, + ["RESERVE_NETWORK_MISSION_PEDS"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("B60FEBA45333D36F");end, + ["RESERVE_NETWORK_MISSION_VEHICLES"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("76B02E21ED27A469");end, + ["_RESERVE_NETWORK_LOCAL_OBJECTS"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("797F9C5E661D920E");end, + ["_RESERVE_NETWORK_LOCAL_PEDS"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("2C8DF5D129595281");end, + ["_RESERVE_NETWORK_LOCAL_VEHICLES"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("42613035157E4208");end, + ["CAN_REGISTER_MISSION_OBJECTS"]=--[[BOOL (bool)]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("800DD4721A8B008B");return native_invoker.get_return_value_bool();end, + ["CAN_REGISTER_MISSION_PEDS"]=--[[BOOL (bool)]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("BCBF4FEF9FA5D781");return native_invoker.get_return_value_bool();end, + ["CAN_REGISTER_MISSION_VEHICLES"]=--[[BOOL (bool)]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("7277F1F2E085EE74");return native_invoker.get_return_value_bool();end, + ["_CAN_REGISTER_MISSION_PICKUPS"]=--[[BOOL (bool)]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("0A49D1CB6E34AF72");return native_invoker.get_return_value_bool();end, + ["_0xE16AA70CE9BEEDC3"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E16AA70CE9BEEDC3");return native_invoker.get_return_value_int();end, + ["CAN_REGISTER_MISSION_ENTITIES"]=--[[BOOL (bool)]] function(--[[int]] ped_amt,--[[int]] vehicle_amt,--[[int]] object_amt,--[[int]] pickup_amt)native_invoker.begin_call();native_invoker.push_arg_int(ped_amt);native_invoker.push_arg_int(vehicle_amt);native_invoker.push_arg_int(object_amt);native_invoker.push_arg_int(pickup_amt);native_invoker.end_call("69778E7564BADE6D");return native_invoker.get_return_value_bool();end, + -- p0 appears to be for MP + ["GET_NUM_RESERVED_MISSION_OBJECTS"]=--[[int]] function(--[[BOOL (bool)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("AA81B5F10BC43AC2");return native_invoker.get_return_value_int();end, + -- p0 appears to be for MP + ["GET_NUM_RESERVED_MISSION_PEDS"]=--[[int]] function(--[[BOOL (bool)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("1F13D5AE5CB17E17");return native_invoker.get_return_value_int();end, + -- p0 appears to be for MP + ["GET_NUM_RESERVED_MISSION_VEHICLES"]=--[[int]] function(--[[BOOL (bool)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("CF3A965906452031");return native_invoker.get_return_value_int();end, + ["GET_NUM_CREATED_MISSION_OBJECTS"]=--[[int]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("12B6281B6C6706C0");return native_invoker.get_return_value_int();end, + ["GET_NUM_CREATED_MISSION_PEDS"]=--[[int]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("CB215C4B56A7FAE7");return native_invoker.get_return_value_int();end, + ["GET_NUM_CREATED_MISSION_VEHICLES"]=--[[int]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("0CD9AB83489430EA");return native_invoker.get_return_value_int();end, + ["_0xE42D626EEC94E5D9"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("E42D626EEC94E5D9");end, + ["GET_MAX_NUM_NETWORK_OBJECTS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("C7BE335216B5EC7C");return native_invoker.get_return_value_int();end, + ["GET_MAX_NUM_NETWORK_PEDS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("0C1F7D49C39D2289");return native_invoker.get_return_value_int();end, + ["GET_MAX_NUM_NETWORK_VEHICLES"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("0AFCE529F69B21FF");return native_invoker.get_return_value_int();end, + ["GET_MAX_NUM_NETWORK_PICKUPS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("A72835064DD63E4C");return native_invoker.get_return_value_int();end, + ["_0xBA7F0B77D80A4EB7"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("BA7F0B77D80A4EB7");end, + ["_0x0F1A4B45B7693B95"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("0F1A4B45B7693B95");end, + ["GET_NETWORK_TIME"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("7A5487FE9FAA6B48");return native_invoker.get_return_value_int();end, + -- Returns the same value as GET_NETWORK_TIME in freemode, but as opposed to `GET_NETWORK_TIME` it always gets the most recent time, instead of once per tick. + -- Could be used for benchmarking since it can return times in ticks. + ["GET_NETWORK_TIME_ACCURATE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("89023FBBF9200E9F");return native_invoker.get_return_value_int();end, + ["HAS_NETWORK_TIME_STARTED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("46718ACEEDEAFC84");return native_invoker.get_return_value_bool();end, + -- Adds the first argument to the second. + ["GET_TIME_OFFSET"]=--[[int]] function(--[[int]] timeA,--[[int]] timeB)native_invoker.begin_call();native_invoker.push_arg_int(timeA);native_invoker.push_arg_int(timeB);native_invoker.end_call("017008CCDAD48503");return native_invoker.get_return_value_int();end, + -- Subtracts the second argument from the first, then returns whether the result is negative. + ["IS_TIME_LESS_THAN"]=--[[BOOL (bool)]] function(--[[int]] timeA,--[[int]] timeB)native_invoker.begin_call();native_invoker.push_arg_int(timeA);native_invoker.push_arg_int(timeB);native_invoker.end_call("CB2CF5148012C8D0");return native_invoker.get_return_value_bool();end, + -- Subtracts the first argument from the second, then returns whether the result is negative. + ["IS_TIME_MORE_THAN"]=--[[BOOL (bool)]] function(--[[int]] timeA,--[[int]] timeB)native_invoker.begin_call();native_invoker.push_arg_int(timeA);native_invoker.push_arg_int(timeB);native_invoker.end_call("DE350F8651E4346C");return native_invoker.get_return_value_bool();end, + -- Returns true if the two times are equal; otherwise returns false. + ["IS_TIME_EQUAL_TO"]=--[[BOOL (bool)]] function(--[[int]] timeA,--[[int]] timeB)native_invoker.begin_call();native_invoker.push_arg_int(timeA);native_invoker.push_arg_int(timeB);native_invoker.end_call("F5BC95857BD6D512");return native_invoker.get_return_value_bool();end, + -- Subtracts the second argument from the first. + ["GET_TIME_DIFFERENCE"]=--[[int]] function(--[[int]] timeA,--[[int]] timeB)native_invoker.begin_call();native_invoker.push_arg_int(timeA);native_invoker.push_arg_int(timeB);native_invoker.end_call("A2C6FC031D46FFF0");return native_invoker.get_return_value_int();end, + ["GET_TIME_AS_STRING"]=--[[string]] function(--[[int]] time)native_invoker.begin_call();native_invoker.push_arg_int(time);native_invoker.end_call("9E23B1777A927DAD");return native_invoker.get_return_value_string();end, + -- Same as GET_CLOUD_TIME_AS_INT but returns the value as a hex string (%I64X). + ["_GET_CLOUD_TIME_AS_STRING"]=--[[string]] function()native_invoker.begin_call();native_invoker.end_call("F12E6CD06C73D69E");return native_invoker.get_return_value_string();end, + -- Returns POSIX timestamp, an int representing the cloud time. + ["GET_CLOUD_TIME_AS_INT"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("9A73240B49945C76");return native_invoker.get_return_value_int();end, + -- Takes the specified time and writes it to the structure specified in the second argument. + -- + -- struct date_time + -- { + -- int year; + -- int PADDING1; + -- int month; + -- int PADDING2; + -- int day; + -- int PADDING3; + -- int hour; + -- int PADDING4; + -- int minute; + -- int PADDING5; + -- int second; + -- int PADDING6; + -- }; + ["CONVERT_POSIX_TIME"]=--[[void]] function(--[[int]] posixTime,--[[Any* (pointer)]] timeStructure)native_invoker.begin_call();native_invoker.push_arg_int(posixTime);native_invoker.push_arg_pointer(timeStructure);native_invoker.end_call("AC97AF97FA68E5D5");end, + ["NETWORK_SET_IN_SPECTATOR_MODE"]=--[[void]] function(--[[BOOL (bool)]] toggle,--[[Ped (int)]] playerPed)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(playerPed);native_invoker.end_call("423DE3854BB50894");end, + ["NETWORK_SET_IN_SPECTATOR_MODE_EXTENDED"]=--[[void]] function(--[[BOOL (bool)]] toggle,--[[Ped (int)]] playerPed,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(playerPed);native_invoker.push_arg_bool(p2);native_invoker.end_call("419594E137637120");end, + ["NETWORK_SET_IN_FREE_CAM_MODE"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("FC18DB55AE19E046");end, + ["NETWORK_SET_CHOICE_MIGRATE_OPTIONS"]=--[[void]] function(--[[BOOL (bool)]] toggle,--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(player);native_invoker.end_call("5C707A667DF8B9FA");end, + ["NETWORK_IS_IN_SPECTATOR_MODE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("048746E388762E11");return native_invoker.get_return_value_bool();end, + ["NETWORK_SET_IN_MP_CUTSCENE"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("9CA5DE655269FEC4");end, + ["NETWORK_IS_IN_MP_CUTSCENE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("6CC27C9FA2040220");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_PLAYER_IN_MP_CUTSCENE"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("63F9EE203C3619F2");return native_invoker.get_return_value_bool();end, + ["_0xFAC18E7356BD3210"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FAC18E7356BD3210");end, + ["SET_NETWORK_VEHICLE_RESPOT_TIMER"]=--[[void]] function(--[[int]] netId,--[[int]] time,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(netId);native_invoker.push_arg_int(time);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("EC51713AB6EC36E8");end, + ["SET_NETWORK_VEHICLE_AS_GHOST"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("6274C4712850841E");end, + ["_0xA2A707979FE754DC"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("A2A707979FE754DC");end, + ["_0x838DA0936A24ED4D"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("838DA0936A24ED4D");end, + ["USE_PLAYER_COLOUR_INSTEAD_OF_TEAM_COLOUR"]=--[[void]] function(--[[BOOL (bool)]] toggle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.push_arg_bool(p1);native_invoker.end_call("5FFE9B4144F9712F");end, + -- IS_* + ["_0x21D04D7BC538C146"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("21D04D7BC538C146");return native_invoker.get_return_value_bool();end, + -- SET_NETWORK_* + ["_0x13F1FCB111B820B0"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("13F1FCB111B820B0");end, + ["_0xA7C511FA1C5BDA38"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("A7C511FA1C5BDA38");end, + ["_0x658500AE6D723A7E"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("658500AE6D723A7E");end, + ["_0x17330EBF2F2124A8"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("17330EBF2F2124A8");end, + ["_0x4BA166079D658ED4"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("4BA166079D658ED4");end, + ["_0xD7B6C73CAD419BCF"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("D7B6C73CAD419BCF");end, + -- IS_* + ["_0x7EF7649B64D7FF10"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("7EF7649B64D7FF10");return native_invoker.get_return_value_bool();end, + ["_0x77758139EC9B66C7"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("77758139EC9B66C7");end, + ["NETWORK_CREATE_SYNCHRONISED_SCENE"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[int]] rotationOrder,--[[BOOL (bool)]] useOcclusionPortal,--[[BOOL (bool)]] looped,--[[float]] p9,--[[float]] animTime,--[[float]] p11)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_int(rotationOrder);native_invoker.push_arg_bool(useOcclusionPortal);native_invoker.push_arg_bool(looped);native_invoker.push_arg_float(p9);native_invoker.push_arg_float(animTime);native_invoker.push_arg_float(p11);native_invoker.end_call("7CD6BC4C2BBDD526");return native_invoker.get_return_value_int();end, + ["NETWORK_ADD_PED_TO_SYNCHRONISED_SCENE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] netScene,--[[string]] animDict,--[[string]] animnName,--[[float]] speed,--[[float]] speedMultiplier,--[[int]] duration,--[[int]] flag,--[[float]] playbackRate,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(netScene);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animnName);native_invoker.push_arg_float(speed);native_invoker.push_arg_float(speedMultiplier);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(flag);native_invoker.push_arg_float(playbackRate);native_invoker.push_arg_int(p9);native_invoker.end_call("742A637471BCECD9");end, + ["_0xA5EAFE473E45C442"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("A5EAFE473E45C442");end, + ["NETWORK_ADD_ENTITY_TO_SYNCHRONISED_SCENE"]=--[[void]] function(--[[Entity (int)]] entity,--[[int]] netScene,--[[string]] animDict,--[[string]] animName,--[[float]] speed,--[[float]] speedMulitiplier,--[[int]] flag)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(netScene);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.push_arg_float(speed);native_invoker.push_arg_float(speedMulitiplier);native_invoker.push_arg_int(flag);native_invoker.end_call("F2404D68CBC855FA");end, + -- NETWORK_A* + -- Similar structure as NETWORK_ADD_ENTITY_TO_SYNCHRONISED_SCENE but it includes this time a hash. + -- In casino_slots it is used one time in a synced scene involving a ped and the slot machine? + ["_0x45F35C0EDC33B03B"]=--[[void]] function(--[[int]] netScene,--[[Hash (int)]] modelHash,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p5,--[[string]] p6,--[[float]] p7,--[[float]] p8,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(netScene);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p5);native_invoker.push_arg_string(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_int(flags);native_invoker.end_call("45F35C0EDC33B03B");end, + ["_NETWORK_FORCE_LOCAL_USE_OF_SYNCED_SCENE_CAMERA"]=--[[void]] function(--[[int]] netScene,--[[string]] animDict,--[[string]] animName)native_invoker.begin_call();native_invoker.push_arg_int(netScene);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.end_call("CF8BD3B0BD6D42D7");end, + ["NETWORK_ATTACH_SYNCHRONISED_SCENE_TO_ENTITY"]=--[[void]] function(--[[int]] netScene,--[[Entity (int)]] entity,--[[int]] bone)native_invoker.begin_call();native_invoker.push_arg_int(netScene);native_invoker.push_arg_int(entity);native_invoker.push_arg_int(bone);native_invoker.end_call("478DCBD2A98B705A");end, + ["NETWORK_START_SYNCHRONISED_SCENE"]=--[[void]] function(--[[int]] netScene)native_invoker.begin_call();native_invoker.push_arg_int(netScene);native_invoker.end_call("9A1B3FCDB36C8697");end, + ["NETWORK_STOP_SYNCHRONISED_SCENE"]=--[[void]] function(--[[int]] netScene)native_invoker.begin_call();native_invoker.push_arg_int(netScene);native_invoker.end_call("C254481A4574CB2F");end, + -- netScene to scene + ["_NETWORK_CONVERT_SYNCHRONISED_SCENE_TO_SYNCHRONIZED_SCENE"]=--[[int]] function(--[[int]] netScene)native_invoker.begin_call();native_invoker.push_arg_int(netScene);native_invoker.end_call("02C40BF885C567B6");return native_invoker.get_return_value_int();end, + ["_0xC9B43A33D09CADA7"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("C9B43A33D09CADA7");end, + ["_0x144DA052257AE7D8"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("144DA052257AE7D8");end, + -- p0 is always 0. p1 is pointing to a global. + ["_0xFB1F9381E80FA13F"]=--[[Any (int)]] function(--[[int]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("FB1F9381E80FA13F");return native_invoker.get_return_value_int();end, + -- One of the first things it does is get the players ped. + -- Then it calls a function that is used in some tasks and ped based functions. + -- p5, p6, p7 is another coordinate (or zero), often related to `GET_BLIP_COORDS, in the decompiled scripts. + ["NETWORK_START_RESPAWN_SEARCH_FOR_PLAYER"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_int(flags);native_invoker.end_call("5A6FFA2433E2F14C");return native_invoker.get_return_value_bool();end, + -- p8, p9, p10 is another coordinate, or zero, often related to `GET_BLIP_COORDS in the decompiled scripts. + ["NETWORK_START_RESPAWN_SEARCH_IN_ANGLED_AREA_FOR_PLAYER"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] width,--[[float]] p8,--[[float]] p9,--[[float]] p10,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(width);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_float(p10);native_invoker.push_arg_int(flags);native_invoker.end_call("4BA92A18502BCA61");return native_invoker.get_return_value_bool();end, + ["NETWORK_QUERY_RESPAWN_RESULTS"]=--[[Any (int)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("3C891A251567DFCE");return native_invoker.get_return_value_int();end, + ["NETWORK_CANCEL_RESPAWN_SEARCH"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FB8F2A6F3DF08CBE");end, + -- Based on scripts such as in freemode.c how they call their vars vVar and fVar the 2nd and 3rd param it a Vector3 and Float, but the first is based on get_random_int_in_range.. + ["NETWORK_GET_RESPAWN_RESULT"]=--[[void]] function(--[[int]] randomInt,--[[Vector3* (pointer)]] coordinates,--[[float* (pointer)]] heading)native_invoker.begin_call();native_invoker.push_arg_int(randomInt);native_invoker.push_arg_pointer(coordinates);native_invoker.push_arg_pointer(heading);native_invoker.end_call("371EA43692861CF1");end, + ["NETWORK_GET_RESPAWN_RESULT_FLAGS"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6C34F1208B8923FD");return native_invoker.get_return_value_int();end, + -- * + ["NETWORK_START_SOLO_TUTORIAL_SESSION"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("17E0198B3882C2CB");end, + ["_0xFB680D403909DC70"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("FB680D403909DC70");end, + ["NETWORK_END_TUTORIAL_SESSION"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D0AFAFF5A51D72F7");end, + ["NETWORK_IS_IN_TUTORIAL_SESSION"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("ADA24309FE08DACF");return native_invoker.get_return_value_bool();end, + ["_0xB37E4E6A2388CA7B"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B37E4E6A2388CA7B");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_TUTORIAL_SESSION_CHANGE_PENDING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("35F0B98A8387274D");return native_invoker.get_return_value_bool();end, + ["NETWORK_GET_PLAYER_TUTORIAL_SESSION_INSTANCE"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("3B39236746714134");return native_invoker.get_return_value_int();end, + -- NETWORK_ARE_* + ["_NETWORK_IS_PLAYER_EQUAL_TO_INDEX"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(index);native_invoker.end_call("9DE986FC9A87C474");return native_invoker.get_return_value_bool();end, + ["NETWORK_CONCEAL_PLAYER"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_bool(p2);native_invoker.end_call("BBDF066252829606");end, + ["NETWORK_IS_PLAYER_CONCEALED"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("919B3C98ED8292F9");return native_invoker.get_return_value_bool();end, + ["_NETWORK_CONCEAL_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("1632BE0AC1E62876");end, + -- Note: This only works for vehicles, which appears to be a bug (since the setter _does_ work for every entity type and the name is 99% correct). + ["_NETWORK_IS_ENTITY_CONCEALED"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("71302EC70689052A");return native_invoker.get_return_value_bool();end, + -- Works in Singleplayer too. + -- Passing wrong data (e.g. hours above 23) will cause the game to crash. + ["NETWORK_OVERRIDE_CLOCK_TIME"]=--[[void]] function(--[[int]] hours,--[[int]] minutes,--[[int]] seconds)native_invoker.begin_call();native_invoker.push_arg_int(hours);native_invoker.push_arg_int(minutes);native_invoker.push_arg_int(seconds);native_invoker.end_call("E679E3E06E363892");end, + ["_NETWORK_OVERRIDE_CLOCK_MILLISECONDS_PER_GAME_MINUTE"]=--[[void]] function(--[[int]] ms)native_invoker.begin_call();native_invoker.push_arg_int(ms);native_invoker.end_call("42BF1D2E723B6D7E");end, + ["NETWORK_CLEAR_CLOCK_TIME_OVERRIDE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D972DF67326F966E");end, + ["NETWORK_IS_CLOCK_TIME_OVERRIDDEN"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D7C95D322FF57522");return native_invoker.get_return_value_bool();end, + ["NETWORK_ADD_ENTITY_AREA"]=--[[Any (int)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.end_call("494C8FB299290269");return native_invoker.get_return_value_int();end, + -- To remove, see: NETWORK_REMOVE_ENTITY_AREA + -- See IS_POINT_IN_ANGLED_AREA for the definition of an angled area. + ["NETWORK_ADD_ENTITY_ANGLED_AREA"]=--[[Any (int)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] width)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(width);native_invoker.end_call("376C6375BA60293A");return native_invoker.get_return_value_int();end, + ["NETWORK_ADD_ENTITY_DISPLAYED_BOUNDARIES"]=--[[Any (int)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.end_call("25B99872D588A101");return native_invoker.get_return_value_int();end, + ["_0x2B1C623823DB0D9D"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("2B1C623823DB0D9D");return native_invoker.get_return_value_int();end, + ["NETWORK_REMOVE_ENTITY_AREA"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("93CF869BAA0C4874");return native_invoker.get_return_value_bool();end, + ["NETWORK_ENTITY_AREA_DOES_EXIST"]=--[[BOOL (bool)]] function(--[[int]] areaHandle)native_invoker.begin_call();native_invoker.push_arg_int(areaHandle);native_invoker.end_call("E64A3CA08DFA37A9");return native_invoker.get_return_value_bool();end, + ["_0x4DF7CFFF471A7FB1"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("4DF7CFFF471A7FB1");return native_invoker.get_return_value_bool();end, + ["NETWORK_ENTITY_AREA_IS_OCCUPIED"]=--[[BOOL (bool)]] function(--[[int]] areaHandle)native_invoker.begin_call();native_invoker.push_arg_int(areaHandle);native_invoker.end_call("4A2D4E8BF4265B0F");return native_invoker.get_return_value_bool();end, + ["_NETWORK_SET_NETWORK_ID_DYNAMIC"]=--[[void]] function(--[[int]] netID,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(netID);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2B1813ABA29016C5");end, + ["_0xA6FCECCF4721D679"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A6FCECCF4721D679");end, + ["_0x95BAF97C82464629"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("95BAF97C82464629");end, + ["NETWORK_REQUEST_CLOUD_BACKGROUND_SCRIPTS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("924426BFFD82E915");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_CLOUD_BACKGROUND_SCRIPT_REQUEST_PENDING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("8132C0EB8B2B3293");return native_invoker.get_return_value_bool();end, + ["NETWORK_REQUEST_CLOUD_TUNABLES"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("42FB3B532D526E6C");end, + ["NETWORK_IS_TUNABLE_CLOUD_REQUEST_PENDING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("0467C11ED88B7D28");return native_invoker.get_return_value_bool();end, + -- Actually returns the version (TUNABLE_VERSION) + ["NETWORK_GET_TUNABLE_CLOUD_CRC"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("10BD227A753B0D84");return native_invoker.get_return_value_int();end, + ["NETWORK_DOES_TUNABLE_EXIST"]=--[[BOOL (bool)]] function(--[[string]] tunableContext,--[[string]] tunableName)native_invoker.begin_call();native_invoker.push_arg_string(tunableContext);native_invoker.push_arg_string(tunableName);native_invoker.end_call("85E5F8B9B898B20A");return native_invoker.get_return_value_bool();end, + ["NETWORK_ACCESS_TUNABLE_INT"]=--[[BOOL (bool)]] function(--[[string]] tunableContext,--[[string]] tunableName,--[[int* (pointer)]] value)native_invoker.begin_call();native_invoker.push_arg_string(tunableContext);native_invoker.push_arg_string(tunableName);native_invoker.push_arg_pointer(value);native_invoker.end_call("8BE1146DFD5D4468");return native_invoker.get_return_value_bool();end, + ["NETWORK_ACCESS_TUNABLE_FLOAT"]=--[[BOOL (bool)]] function(--[[string]] tunableContext,--[[string]] tunableName,--[[float* (pointer)]] value)native_invoker.begin_call();native_invoker.push_arg_string(tunableContext);native_invoker.push_arg_string(tunableName);native_invoker.push_arg_pointer(value);native_invoker.end_call("E5608CA7BC163A5F");return native_invoker.get_return_value_bool();end, + ["NETWORK_ACCESS_TUNABLE_BOOL"]=--[[BOOL (bool)]] function(--[[string]] tunableContext,--[[string]] tunableName)native_invoker.begin_call();native_invoker.push_arg_string(tunableContext);native_invoker.push_arg_string(tunableName);native_invoker.end_call("AA6A47A573ABB75A");return native_invoker.get_return_value_bool();end, + ["NETWORK_DOES_TUNABLE_EXIST_HASH"]=--[[BOOL (bool)]] function(--[[Hash (int)]] tunableContext,--[[Hash (int)]] tunableName)native_invoker.begin_call();native_invoker.push_arg_int(tunableContext);native_invoker.push_arg_int(tunableName);native_invoker.end_call("E4E53E1419D81127");return native_invoker.get_return_value_bool();end, + ["_NETWORK_ALLOCATE_TUNABLES_REGISTRATION_DATA_MAP"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("FAFC23AEE23868DB");return native_invoker.get_return_value_bool();end, + ["NETWORK_ACCESS_TUNABLE_INT_HASH"]=--[[BOOL (bool)]] function(--[[Hash (int)]] tunableContext,--[[Hash (int)]] tunableName,--[[int* (pointer)]] value)native_invoker.begin_call();native_invoker.push_arg_int(tunableContext);native_invoker.push_arg_int(tunableName);native_invoker.push_arg_pointer(value);native_invoker.end_call("40FCE03E50E8DBE8");return native_invoker.get_return_value_bool();end, + ["_NETWORK_REGISTER_TUNABLE_INT_HASH"]=--[[BOOL (bool)]] function(--[[Hash (int)]] contextHash,--[[Hash (int)]] nameHash,--[[int* (pointer)]] value)native_invoker.begin_call();native_invoker.push_arg_int(contextHash);native_invoker.push_arg_int(nameHash);native_invoker.push_arg_pointer(value);native_invoker.end_call("3A8B55FDA4C8DDEF");return native_invoker.get_return_value_bool();end, + ["NETWORK_ACCESS_TUNABLE_FLOAT_HASH"]=--[[BOOL (bool)]] function(--[[Hash (int)]] tunableContext,--[[Hash (int)]] tunableName,--[[float* (pointer)]] value)native_invoker.begin_call();native_invoker.push_arg_int(tunableContext);native_invoker.push_arg_int(tunableName);native_invoker.push_arg_pointer(value);native_invoker.end_call("972BC203BBC4C4D5");return native_invoker.get_return_value_bool();end, + ["_NETWORK_REGISTER_TUNABLE_FLOAT_HASH"]=--[[BOOL (bool)]] function(--[[Hash (int)]] contextHash,--[[Hash (int)]] nameHash,--[[float* (pointer)]] value)native_invoker.begin_call();native_invoker.push_arg_int(contextHash);native_invoker.push_arg_int(nameHash);native_invoker.push_arg_pointer(value);native_invoker.end_call("1950DAE9848A4739");return native_invoker.get_return_value_bool();end, + ["NETWORK_ACCESS_TUNABLE_BOOL_HASH"]=--[[BOOL (bool)]] function(--[[Hash (int)]] tunableContext,--[[Hash (int)]] tunableName)native_invoker.begin_call();native_invoker.push_arg_int(tunableContext);native_invoker.push_arg_int(tunableName);native_invoker.end_call("EA16B69D93D71A45");return native_invoker.get_return_value_bool();end, + ["_NETWORK_REGISTER_TUNABLE_BOOL_HASH"]=--[[BOOL (bool)]] function(--[[Hash (int)]] contextHash,--[[Hash (int)]] nameHash,--[[BOOL* (pointer)]] value)native_invoker.begin_call();native_invoker.push_arg_int(contextHash);native_invoker.push_arg_int(nameHash);native_invoker.push_arg_pointer(value);native_invoker.end_call("697F508861875B42");return native_invoker.get_return_value_bool();end, + -- Returns defaultValue if the tunable doesn't exist. + ["NETWORK_TRY_ACCESS_TUNABLE_BOOL_HASH"]=--[[BOOL (bool)]] function(--[[Hash (int)]] tunableContext,--[[Hash (int)]] tunableName,--[[BOOL (bool)]] defaultValue)native_invoker.begin_call();native_invoker.push_arg_int(tunableContext);native_invoker.push_arg_int(tunableName);native_invoker.push_arg_bool(defaultValue);native_invoker.end_call("C7420099936CE286");return native_invoker.get_return_value_bool();end, + -- Return the content modifier id (the tunables context if you want) of a specific content. + -- + -- It takes the content hash (which is the mission id hash), and return the content modifier id, used as the tunables context. + -- + -- The mission id can be found on the Social club, for example, 'socialclub.rockstargames.com/games/gtav/jobs/job/A8M6Bz8MLEC5xngvDCzGwA' + -- + -- 'A8M6Bz8MLEC5xngvDCzGwA' is the mission id, so the game hash this and use it as the parameter for this native. + -- + ["NETWORK_GET_CONTENT_MODIFIER_LIST_ID"]=--[[int]] function(--[[Hash (int)]] contentHash)native_invoker.begin_call();native_invoker.push_arg_int(contentHash);native_invoker.end_call("187382F8A3E0A6C3");return native_invoker.get_return_value_int();end, + ["_0x7DB53B37A2F211A0"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("7DB53B37A2F211A0");return native_invoker.get_return_value_int();end, + ["NETWORK_RESET_BODY_TRACKER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("72433699B4E6DD64");end, + ["_NETWORK_GET_NUM_BODY_TRACKERS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("D38C4A6D047C019D");return native_invoker.get_return_value_int();end, + ["_0x2E0BF682CC778D49"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2E0BF682CC778D49");return native_invoker.get_return_value_bool();end, + ["_0x0EDE326D47CD0F3E"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(player);native_invoker.end_call("0EDE326D47CD0F3E");return native_invoker.get_return_value_bool();end, + -- Allows vehicle wheels to be destructible even when the vehicle entity is invincible. + ["_NETWORK_SET_VEHICLE_WHEELS_DESTRUCTIBLE"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("890E2C5ABED7236D");end, + ["_0x38B7C51AB1EDC7D8"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("38B7C51AB1EDC7D8");end, + -- nullsub, doesn't do anything + ["_0x3FC795691834481D"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("3FC795691834481D");end, + -- In the console script dumps, this is only referenced once. + -- NETWORK::NETWORK_EXPLODE_VEHICLE(vehicle, 1, 0, 0); + -- + -- ^^^^^ That must be PC script dumps? In X360 Script Dumps it is reference a few times with 2 differences in the parameters. + -- Which as you see below is 1, 0, 0 + 1, 1, 0 + 1, 0, and a *param? + -- + -- am_plane_takedown.c + -- network_explode_vehicle(net_to_veh(Local_40.imm_2), 1, 1, 0); + -- + -- armenian2.c + -- network_explode_vehicle(Local_80[6 <2>], 1, 0, 0); + -- + -- fm_horde_controler.c + -- network_explode_vehicle(net_to_veh(*uParam0), 1, 0, *uParam0); + -- + -- fm_mission_controller.c, has 6 hits so not going to list them. + -- + -- Side note, setting the first parameter to 0 seems to mute sound or so? + -- + -- Seems it's like ADD_EXPLOSION, etc. the first 2 params. The 3rd atm no need to worry since it always seems to be 0. + -- + ["NETWORK_EXPLODE_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] isAudible,--[[BOOL (bool)]] isInvisible,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(isAudible);native_invoker.push_arg_bool(isInvisible);native_invoker.push_arg_bool(p3);native_invoker.end_call("301A42153C9AD707");end, + ["_0x2A5E0621DD815A9A"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("2A5E0621DD815A9A");end, + ["_0xCD71A4ECAB22709E"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("CD71A4ECAB22709E");end, + ["NETWORK_OVERRIDE_COORDS_AND_HEADING"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.end_call("A7E30DE9272B6D49");end, + ["_0xE6717E652B8C8D8A"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("E6717E652B8C8D8A");end, + ["NETWORK_DISABLE_PROXIMITY_MIGRATION"]=--[[void]] function(--[[int]] netID)native_invoker.begin_call();native_invoker.push_arg_int(netID);native_invoker.end_call("407091CF6037118E");end, + -- value must be < 255 + ["NETWORK_SET_PROPERTY_ID"]=--[[void]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("1775961C2FBBCB5C");end, + ["NETWORK_CLEAR_PROPERTY_ID"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C2B82527CA77053E");end, + ["_0x367EF5E2F439B4C6"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("367EF5E2F439B4C6");end, + ["_0x94538037EE44F5CF"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("94538037EE44F5CF");end, + ["NETWORK_CACHE_LOCAL_PLAYER_HEAD_BLEND_DATA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("BD0BE0BFC927EAC1");end, + ["NETWORK_HAS_CACHED_PLAYER_HEAD_BLEND_DATA"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("237D5336A9A54108");return native_invoker.get_return_value_bool();end, + ["NETWORK_APPLY_CACHED_PLAYER_HEAD_BLEND_DATA"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(player);native_invoker.end_call("99B72C7ABDE5C910");return native_invoker.get_return_value_bool();end, + ["GET_NUM_COMMERCE_ITEMS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("F2EAC213D5EA0623");return native_invoker.get_return_value_int();end, + ["IS_COMMERCE_DATA_VALID"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("EA14EEF5B7CD2C30");return native_invoker.get_return_value_bool();end, + -- Does nothing (it's a nullsub). + ["_0xB606E6CC59664972"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("B606E6CC59664972");end, + -- IS_COMMERCE_* + ["_0x1D4DC17C38FEAFF0"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("1D4DC17C38FEAFF0");return native_invoker.get_return_value_bool();end, + ["GET_COMMERCE_ITEM_ID"]=--[[string]] function(--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.end_call("662635855957C411");return native_invoker.get_return_value_string();end, + ["GET_COMMERCE_ITEM_NAME"]=--[[string]] function(--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.end_call("B4271092CA7EDF48");return native_invoker.get_return_value_string();end, + ["GET_COMMERCE_PRODUCT_PRICE"]=--[[string]] function(--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.end_call("CA94551B50B4932C");return native_invoker.get_return_value_string();end, + ["GET_COMMERCE_ITEM_NUM_CATS"]=--[[int]] function(--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.end_call("2A7776C709904AB0");return native_invoker.get_return_value_int();end, + -- index2 is unused + ["GET_COMMERCE_ITEM_CAT"]=--[[string]] function(--[[int]] index,--[[int]] index2)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_int(index2);native_invoker.end_call("6F44CBF56D79FAC0");return native_invoker.get_return_value_string();end, + ["OPEN_COMMERCE_STORE"]=--[[void]] function(--[[string]] p0,--[[string]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_string(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("58C21165F6545892");end, + ["IS_COMMERCE_STORE_OPEN"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("2EAC52B4019E2782");return native_invoker.get_return_value_bool();end, + -- Access to the store for shark cards etc... + ["SET_STORE_ENABLED"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("9641A9FF718E9C5E");end, + ["REQUEST_COMMERCE_ITEM_IMAGE"]=--[[BOOL (bool)]] function(--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.end_call("A2F952104FC6DD4B");return native_invoker.get_return_value_bool();end, + ["RELEASE_ALL_COMMERCE_ITEM_IMAGES"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("72D0706CD6CCDB58");end, + ["GET_COMMERCE_ITEM_TEXTURENAME"]=--[[string]] function(--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.end_call("722F5D28B61C5EA8");return native_invoker.get_return_value_string();end, + ["IS_STORE_AVAILABLE_TO_USER"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("883D79C4071E18B3");return native_invoker.get_return_value_bool();end, + ["_0x265635150FB0D82E"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("265635150FB0D82E");end, + -- RESET_* + -- + -- sfink: related to: NETWORK_BAIL + -- NETWORK_BAIL_TRANSITION + -- NETWORK_JOIN_GROUP_ACTIVITY + -- NETWORK_JOIN_TRANSITION + -- NETWORK_LAUNCH_TRANSITION + -- NETWORK_SESSION_HOST + -- NETWORK_SESSION_HOST_CLOSED + -- NETWORK_SESSION_HOST_FRIENDS_ONLY + -- NETWORK_SESSION_HOST_SINGLE_PLAYER + -- NETWORK_SESSION_VOICE_LEAVE + ["_0x444C4525ECE0A4B9"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("444C4525ECE0A4B9");end, + -- IS_* + ["_0x59328EB08C5CEB2B"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("59328EB08C5CEB2B");return native_invoker.get_return_value_bool();end, + ["_0xFAE628F1E9ADB239"]=--[[void]] function(--[[Hash (int)]] p0,--[[int]] p1,--[[Hash (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("FAE628F1E9ADB239");end, + -- Checks some commerce stuff + ["_0x754615490A029508"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("754615490A029508");return native_invoker.get_return_value_int();end, + -- Checks some commerce stuff + ["_0x155467ACA0F55705"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("155467ACA0F55705");return native_invoker.get_return_value_int();end, + ["CLOUD_DELETE_MEMBER_FILE"]=--[[int]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("C64DED7EF0D2FE37");return native_invoker.get_return_value_int();end, + ["CLOUD_HAS_REQUEST_COMPLETED"]=--[[BOOL (bool)]] function(--[[int]] handle)native_invoker.begin_call();native_invoker.push_arg_int(handle);native_invoker.end_call("4C61B39930D045DA");return native_invoker.get_return_value_bool();end, + ["CLOUD_DID_REQUEST_SUCCEED"]=--[[BOOL (bool)]] function(--[[int]] handle)native_invoker.begin_call();native_invoker.push_arg_int(handle);native_invoker.end_call("3A3D5568AF297CD5");return native_invoker.get_return_value_bool();end, + -- Downloads prod.cloud.rockstargames.com/titles/gta5/[platform]/check.json + ["CLOUD_CHECK_AVAILABILITY"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("4F18196C8D38768D");end, + ["CLOUD_IS_CHECKING_AVAILABILITY"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C7ABAC5DE675EE3B");return native_invoker.get_return_value_bool();end, + ["CLOUD_GET_AVAILABILITY_CHECK_RESULT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("0B0CC10720653F3B");return native_invoker.get_return_value_bool();end, + -- MulleDK19: This function is hard-coded to always return 0. + ["_0x8B0C2964BA471961"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("8B0C2964BA471961");return native_invoker.get_return_value_int();end, + -- MulleDK19: This function is hard-coded to always return 0. + ["_0x88B588B41FF7868E"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("88B588B41FF7868E");return native_invoker.get_return_value_int();end, + -- MulleDK19: This function is hard-coded to always return 0. + ["_0x67FC09BC554A75E5"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("67FC09BC554A75E5");return native_invoker.get_return_value_int();end, + -- This native does absolutely nothing, just a nullsub + ["_CLEAR_LAUNCH_PARAMS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("966DD84FB6A46017");end, + ["UGC_COPY_CONTENT"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("152D90E4C1B4738A");return native_invoker.get_return_value_bool();end, + ["_0x9FEDF86898F100E9"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("9FEDF86898F100E9");return native_invoker.get_return_value_int();end, + ["UGC_HAS_CREATE_FINISHED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5E24341A7F92A74B");return native_invoker.get_return_value_bool();end, + ["_0x24E4E51FC16305F9"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("24E4E51FC16305F9");return native_invoker.get_return_value_int();end, + ["UGC_GET_CREATE_RESULT"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("FBC5E768C7A77A6A");return native_invoker.get_return_value_int();end, + ["UGC_GET_CREATE_CONTENT_ID"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("C55A0B40FFB1ED23");return native_invoker.get_return_value_int();end, + ["UGC_CLEAR_CREATE_RESULT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("17440AA15D1D3739");end, + ["UGC_QUERY_MY_CONTENT"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any* (pointer)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("9BF438815F5D96EA");return native_invoker.get_return_value_bool();end, + ["_0x692D58DF40657E8C"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any* (pointer)]] p3,--[[Any (int)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_pointer(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("692D58DF40657E8C");return native_invoker.get_return_value_bool();end, + ["UGC_QUERY_BY_CONTENT_ID"]=--[[BOOL (bool)]] function(--[[string]] contentId,--[[BOOL (bool)]] latestVersion,--[[string]] contentTypeName)native_invoker.begin_call();native_invoker.push_arg_string(contentId);native_invoker.push_arg_bool(latestVersion);native_invoker.push_arg_string(contentTypeName);native_invoker.end_call("158EC424F35EC469");return native_invoker.get_return_value_bool();end, + ["UGC_QUERY_BY_CONTENT_IDS"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] data,--[[int]] count,--[[BOOL (bool)]] latestVersion,--[[string]] contentTypeName)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.push_arg_int(count);native_invoker.push_arg_bool(latestVersion);native_invoker.push_arg_string(contentTypeName);native_invoker.end_call("C7397A83F7A2A462");return native_invoker.get_return_value_bool();end, + ["_UGC_QUERY_RECENTLY_CREATED_CONTENT"]=--[[BOOL (bool)]] function(--[[int]] offset,--[[int]] count,--[[string]] contentTypeName,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(offset);native_invoker.push_arg_int(count);native_invoker.push_arg_string(contentTypeName);native_invoker.push_arg_int(p3);native_invoker.end_call("6D4CB481FAC835E8");return native_invoker.get_return_value_bool();end, + ["UGC_GET_BOOKMARKED_CONTENT"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("D5A4B59980401588");return native_invoker.get_return_value_bool();end, + ["UGC_GET_MY_CONTENT"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("3195F8DD0D531052");return native_invoker.get_return_value_bool();end, + ["UGC_GET_FRIEND_CONTENT"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("F9E1CCAE8BA4C281");return native_invoker.get_return_value_bool();end, + ["UGC_GET_CREW_CONTENT"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any* (pointer)]] p3,--[[Any* (pointer)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_pointer(p3);native_invoker.push_arg_pointer(p4);native_invoker.end_call("9F6E2821885CAEE2");return native_invoker.get_return_value_bool();end, + ["UGC_GET_GET_BY_CATEGORY"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any* (pointer)]] p3,--[[Any* (pointer)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_pointer(p3);native_invoker.push_arg_pointer(p4);native_invoker.end_call("678BB03C1A3BD51E");return native_invoker.get_return_value_bool();end, + ["SET_BALANCE_ADD_MACHINE"]=--[[BOOL (bool)]] function(--[[string]] contentId,--[[string]] contentTypeName)native_invoker.begin_call();native_invoker.push_arg_string(contentId);native_invoker.push_arg_string(contentTypeName);native_invoker.end_call("815E5E3073DA1D67");return native_invoker.get_return_value_bool();end, + ["SET_BALANCE_ADD_MACHINES"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] data,--[[int]] dataCount,--[[string]] contentTypeName)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.push_arg_int(dataCount);native_invoker.push_arg_string(contentTypeName);native_invoker.end_call("B8322EEB38BE7C26");return native_invoker.get_return_value_bool();end, + ["_0xA7862BC5ED1DFD7E"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("A7862BC5ED1DFD7E");return native_invoker.get_return_value_bool();end, + ["_0x97A770BEEF227E2B"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("97A770BEEF227E2B");return native_invoker.get_return_value_bool();end, + ["_0x5324A0E3E4CE3570"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("5324A0E3E4CE3570");return native_invoker.get_return_value_bool();end, + ["UGC_CANCEL_QUERY"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E9B99B6853181409");end, + ["UGC_IS_GETTING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D53ACDBEF24A46E8");return native_invoker.get_return_value_bool();end, + ["UGC_HAS_GET_FINISHED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("02ADA21EA2F6918F");return native_invoker.get_return_value_bool();end, + ["_0x941E5306BCD7C2C7"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("941E5306BCD7C2C7");return native_invoker.get_return_value_int();end, + ["_0xC87E740D9F3872CC"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("C87E740D9F3872CC");return native_invoker.get_return_value_int();end, + ["UGC_GET_QUERY_RESULT"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("EDF7F927136C224B");return native_invoker.get_return_value_int();end, + ["UGC_GET_CONTENT_NUM"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("E0A6138401BCB837");return native_invoker.get_return_value_int();end, + ["UGC_GET_CONTENT_TOTAL"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("769951E2455E2EB5");return native_invoker.get_return_value_int();end, + ["UGC_GET_CONTENT_HASH"]=--[[Hash (int)]] function()native_invoker.begin_call();native_invoker.end_call("3A17A27D75C74887");return native_invoker.get_return_value_int();end, + ["UGC_CLEAR_QUERY_RESULTS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("BA96394A0EECFA65");end, + ["UGC_GET_CONTENT_USER_ID"]=--[[string]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("CD67AD041A394C9C");return native_invoker.get_return_value_string();end, + ["_0x584770794D758C18"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("584770794D758C18");return native_invoker.get_return_value_bool();end, + ["_0x8C8D2739BA44AF0F"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8C8D2739BA44AF0F");return native_invoker.get_return_value_bool();end, + ["UGC_GET_CONTENT_USER_NAME"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("703F12425ECA8BF5");return native_invoker.get_return_value_int();end, + ["_0xAEAB987727C5A8A4"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("AEAB987727C5A8A4");return native_invoker.get_return_value_bool();end, + ["UGC_GET_CONTENT_CATEGORY"]=--[[int]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A7BAB11E7C9C6C5A");return native_invoker.get_return_value_int();end, + -- Return the mission id of a job. + ["UGC_GET_CONTENT_ID"]=--[[string]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("55AA95F481D694D2");return native_invoker.get_return_value_string();end, + -- Return the root content id of a job. + ["UGC_GET_ROOT_CONTENT_ID"]=--[[string]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("C0173D6BFF4E0348");return native_invoker.get_return_value_string();end, + ["UGC_GET_CONTENT_NAME"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("BF09786A7FCAB582");return native_invoker.get_return_value_int();end, + ["UGC_GET_CONTENT_DESCRIPTION_HASH"]=--[[int]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7CF0448787B23758");return native_invoker.get_return_value_int();end, + ["UGC_GET_CONTENT_PATH"]=--[[string]] function(--[[int]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("BAF6BABF9E7CCC13");return native_invoker.get_return_value_string();end, + ["UGC_GET_CONTENT_UPDATED_DATE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("CFD115B373C0DF63");end, + ["UGC_GET_CONTENT_FILE_VERSION"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("37025B27D9B658B1");return native_invoker.get_return_value_int();end, + ["_0x1D610EB0FEA716D9"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("1D610EB0FEA716D9");return native_invoker.get_return_value_bool();end, + ["_0x7FCC39C46C3C03BD"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7FCC39C46C3C03BD");return native_invoker.get_return_value_bool();end, + ["UGC_GET_CONTENT_LANGUAGE"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("32DD916F3F7C9672");return native_invoker.get_return_value_int();end, + ["UGC_GET_CONTENT_IS_PUBLISHED"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("3054F114121C21EA");return native_invoker.get_return_value_bool();end, + ["UGC_GET_CONTENT_IS_VERIFIED"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A9240A96C74CCA13");return native_invoker.get_return_value_bool();end, + ["UGC_GET_CONTENT_RATING"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("1ACCFBA3D8DAB2EE");return native_invoker.get_return_value_int();end, + ["UGC_GET_CONTENT_RATING_COUNT"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("759299C5BB31D2A9");return native_invoker.get_return_value_int();end, + ["UGC_GET_CONTENT_RATING_POSITIVE_COUNT"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("87E5C46C187FE0AE");return native_invoker.get_return_value_int();end, + ["UGC_GET_CONTENT_RATING_NEGATIVE_COUNT"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("4E548C0D7AE39FF9");return native_invoker.get_return_value_int();end, + ["UGC_GET_CONTENT_HAS_PLAYER_RECORD"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("70EA8DA57840F9BE");return native_invoker.get_return_value_bool();end, + ["UGC_GET_CONTENT_HAS_PLAYER_BOOKMARKED"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("993CBE59D350D225");return native_invoker.get_return_value_bool();end, + ["UGC_REQUEST_CONTENT_DATA_FROM_INDEX"]=--[[int]] function(--[[int]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("171DF6A0C07FB3DC");return native_invoker.get_return_value_int();end, + ["UGC_REQUEST_CONTENT_DATA_FROM_PARAMS"]=--[[int]] function(--[[string]] contentTypeName,--[[string]] contentId,--[[int]] p2,--[[int]] p3,--[[int]] p4)native_invoker.begin_call();native_invoker.push_arg_string(contentTypeName);native_invoker.push_arg_string(contentId);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("7FD2990AF016795E");return native_invoker.get_return_value_int();end, + ["UGC_REQUEST_CACHED_DESCRIPTION"]=--[[int]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5E0165278F6339EE");return native_invoker.get_return_value_int();end, + ["_0x2D5DC831176D0114"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2D5DC831176D0114");return native_invoker.get_return_value_bool();end, + ["_0xEBFA8D50ADDC54C4"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("EBFA8D50ADDC54C4");return native_invoker.get_return_value_bool();end, + ["_0x162C23CA83ED0A62"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("162C23CA83ED0A62");return native_invoker.get_return_value_bool();end, + ["UGC_GET_CACHED_DESCRIPTION"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("40F7E66472DF3E5C");return native_invoker.get_return_value_int();end, + ["_0x5A34CD9C3C5BEC44"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5A34CD9C3C5BEC44");return native_invoker.get_return_value_bool();end, + ["_0x68103E2247887242"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("68103E2247887242");end, + ["UGC_PUBLISH"]=--[[BOOL (bool)]] function(--[[string]] contentId,--[[string]] baseContentId,--[[string]] contentTypeName)native_invoker.begin_call();native_invoker.push_arg_string(contentId);native_invoker.push_arg_string(baseContentId);native_invoker.push_arg_string(contentTypeName);native_invoker.end_call("1DE0F5F50D723CAA");return native_invoker.get_return_value_bool();end, + ["UGC_SET_BOOKMARKED"]=--[[BOOL (bool)]] function(--[[string]] contentId,--[[BOOL (bool)]] bookmarked,--[[string]] contentTypeName)native_invoker.begin_call();native_invoker.push_arg_string(contentId);native_invoker.push_arg_bool(bookmarked);native_invoker.push_arg_string(contentTypeName);native_invoker.end_call("274A1519DFC1094F");return native_invoker.get_return_value_bool();end, + ["UGC_SET_DELETED"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[BOOL (bool)]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("D05D1A6C74DA3498");return native_invoker.get_return_value_bool();end, + ["_0x45E816772E93A9DB"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("45E816772E93A9DB");return native_invoker.get_return_value_int();end, + ["UGC_HAS_MODIFY_FINISHED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("299EF3C576773506");return native_invoker.get_return_value_bool();end, + ["_0x793FF272D5B365F4"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("793FF272D5B365F4");return native_invoker.get_return_value_int();end, + ["UGC_GET_MODIFY_RESULT"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("5A0A3D1A186A5508");return native_invoker.get_return_value_int();end, + ["UGC_CLEAR_MODIFY_RESULT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A1E5E0204A6FCC70");end, + ["_0xB746D20B17F2A229"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("B746D20B17F2A229");return native_invoker.get_return_value_bool();end, + ["_0x63B406D7884BFA95"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("63B406D7884BFA95");return native_invoker.get_return_value_int();end, + ["_0x4D02279C83BE69FE"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("4D02279C83BE69FE");return native_invoker.get_return_value_int();end, + ["UGC_GET_CREATOR_NUM"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("597F8DBA9B206FC7");return native_invoker.get_return_value_int();end, + ["UGC_POLICIES_MAKE_PRIVATE"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5CAE833B0EE0C500");return native_invoker.get_return_value_bool();end, + ["UGC_CLEAR_OFFLINE_QUERY"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("61A885D3F7CFEE9A");end, + ["_0xF98DDE0A8ED09323"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("F98DDE0A8ED09323");end, + ["_0xFD75DABC0957BF33"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("FD75DABC0957BF33");end, + ["UGC_IS_LANGUAGE_SUPPORTED"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F53E48461B71EECB");return native_invoker.get_return_value_bool();end, + ["_FACEBOOK_SET_HEIST_COMPLETE"]=--[[BOOL (bool)]] function(--[[string]] heistName,--[[int]] cashEarned,--[[int]] xpEarned)native_invoker.begin_call();native_invoker.push_arg_string(heistName);native_invoker.push_arg_int(cashEarned);native_invoker.push_arg_int(xpEarned);native_invoker.end_call("098AB65B9ED9A9EC");return native_invoker.get_return_value_bool();end, + ["_FACEBOOK_SET_CREATE_CHARACTER_COMPLETE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("DC48473142545431");return native_invoker.get_return_value_bool();end, + ["_FACEBOOK_SET_MILESTONE_COMPLETE"]=--[[BOOL (bool)]] function(--[[int]] milestoneId)native_invoker.begin_call();native_invoker.push_arg_int(milestoneId);native_invoker.end_call("0AE1F1653B554AB9");return native_invoker.get_return_value_bool();end, + ["_FACEBOOK_IS_SENDING_DATA"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("62B9FEC9A11F10EF");return native_invoker.get_return_value_bool();end, + ["_FACEBOOK_DO_UNK_CHECK"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A75E2B6733DA5142");return native_invoker.get_return_value_bool();end, + ["_FACEBOOK_IS_AVAILABLE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("43865688AE10F0D7");return native_invoker.get_return_value_bool();end, + ["TEXTURE_DOWNLOAD_REQUEST"]=--[[int]] function(--[[int* (pointer)]] PlayerHandle,--[[string]] FilePath,--[[string]] Name,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(PlayerHandle);native_invoker.push_arg_string(FilePath);native_invoker.push_arg_string(Name);native_invoker.push_arg_bool(p3);native_invoker.end_call("16160DA74A8E74A2");return native_invoker.get_return_value_int();end, + ["TITLE_TEXTURE_DOWNLOAD_REQUEST"]=--[[int]] function(--[[string]] FilePath,--[[string]] Name,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_string(FilePath);native_invoker.push_arg_string(Name);native_invoker.push_arg_bool(p2);native_invoker.end_call("0B203B4AFDE53A4F");return native_invoker.get_return_value_int();end, + ["UGC_TEXTURE_DOWNLOAD_REQUEST"]=--[[Any (int)]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any* (pointer)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_pointer(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("308F96458B7087CC");return native_invoker.get_return_value_int();end, + ["TEXTURE_DOWNLOAD_RELEASE"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("487EB90B98E9FB19");end, + ["TEXTURE_DOWNLOAD_HAS_FAILED"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5776ED562C134687");return native_invoker.get_return_value_bool();end, + ["TEXTURE_DOWNLOAD_GET_NAME"]=--[[string]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("3448505B6E35262D");return native_invoker.get_return_value_string();end, + -- 0 = succeeded + -- 1 = pending + -- 2 = failed + ["GET_STATUS_OF_TEXTURE_DOWNLOAD"]=--[[int]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8BD6C6DEA20E82C6");return native_invoker.get_return_value_int();end, + -- Returns true if profile setting 901 is set to true and sets it to false. + -- + -- NETWORK_C* + ["_0x60EDD13EB3AC1FF3"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("60EDD13EB3AC1FF3");return native_invoker.get_return_value_bool();end, + -- Returns true if the NAT type is Strict (3) and a certain number of connections have failed. + ["_NETWORK_SHOULD_SHOW_CONNECTIVITY_TROUBLESHOOTING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("82A2B386716608F1");return native_invoker.get_return_value_bool();end, + ["NETWORK_IS_CABLE_CONNECTED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("EFFB25453D8600F9");return native_invoker.get_return_value_bool();end, + ["_NETWORK_GET_ROS_PRIVILEGE_9"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("66B59CFFD78467AF");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAVE_ROS_SOCIAL_CLUB_PRIV"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("606E4D3E3CCCF3EB");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAVE_ROS_BANNED_PRIV"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("8020A73847E0CA7D");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAVE_ROS_CREATE_TICKET_PRIV"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A0AD7E2AF5349F61");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAVE_ROS_MULTIPLAYER_PRIV"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5F91D5D0B36AA310");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAVE_ROS_LEADERBOARD_WRITE_PRIV"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("422D396F80A96547");return native_invoker.get_return_value_bool();end, + -- index is always 18 in scripts + ["NETWORK_HAS_ROS_PRIVILEGE"]=--[[BOOL (bool)]] function(--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.end_call("A699957E60D80214");return native_invoker.get_return_value_bool();end, + ["NETWORK_HAS_ROS_PRIVILEGE_END_DATE"]=--[[BOOL (bool)]] function(--[[int]] privilege,--[[int* (pointer)]] banType,--[[Any* (pointer)]] timeData)native_invoker.begin_call();native_invoker.push_arg_int(privilege);native_invoker.push_arg_pointer(banType);native_invoker.push_arg_pointer(timeData);native_invoker.end_call("C22912B1D85F26B1");return native_invoker.get_return_value_bool();end, + ["_NETWORK_GET_ROS_PRIVILEGE_24"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("593570C289A77688");return native_invoker.get_return_value_bool();end, + ["_NETWORK_GET_ROS_PRIVILEGE_25"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("91B87C55093DE351");return native_invoker.get_return_value_bool();end, + ["_0x36391F397731595D"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("36391F397731595D");return native_invoker.get_return_value_int();end, + ["_0xDEB2B99A1AF1A2A6"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DEB2B99A1AF1A2A6");return native_invoker.get_return_value_int();end, + ["_0x9465E683B12D3F6B"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9465E683B12D3F6B");end, + -- NETWORK_S* + ["_0xCA59CCAE5D01E4CE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("CA59CCAE5D01E4CE");end, + -- Returns true if dinput8.dll is present in the game directory. + -- You will get following error message if that is true: "You are attempting to access GTA Online servers with an altered version of the game." + ["_NETWORK_HAS_GAME_BEEN_ALTERED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("659CF2EF7F550C4F");return native_invoker.get_return_value_bool();end, + ["_NETWORK_UPDATE_PLAYER_SCARS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B7C7F6AD6424304B");end, + -- NETWORK_D* + -- + -- Probably NETWORK_DISABLE_* + ["_0xC505036A35AFD01B"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("C505036A35AFD01B");end, + ["_NETWORK_ALLOW_LOCAL_ENTITY_ATTACHMENT"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("267C78C60E806B9A");end, + -- Does nothing (it's a nullsub). + ["_0x6BFF5F84102DF80A"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("6BFF5F84102DF80A");end, + -- This native does absolutely nothing, just a nullsub + ["_0x5C497525F803486B"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5C497525F803486B");end, + -- MulleDK19: This function is hard-coded to always return 0. + ["_0x6FB7BB3607D27FA2"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("6FB7BB3607D27FA2");return native_invoker.get_return_value_int();end, + ["_0x45A83257ED02D9BC"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("45A83257ED02D9BC");end, + -- NETWORK_IS_* + ["_0x16D3D49902F697BB"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("16D3D49902F697BB");return native_invoker.get_return_value_bool();end, + ["_0xD414BE129BB81B32"]=--[[float]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("D414BE129BB81B32");return native_invoker.get_return_value_float();end, + -- alias 0xD414BE129BB81B32 + ["_0x0E3A041ED6AC2B45"]=--[[float]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("0E3A041ED6AC2B45");return native_invoker.get_return_value_float();end, + -- NETWORK_GET_* + ["_0x350C23949E43686C"]=--[[float]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("350C23949E43686C");return native_invoker.get_return_value_float();end, + ["_NETWORK_GET_NUM_UNACKED_FOR_PLAYER"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("FF8FCF9FFC458A1C");return native_invoker.get_return_value_int();end, + ["_NETWORK_GET_UNRELIABLE_RESEND_COUNT_FOR_PLAYER"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("3765C3A3E8192E10");return native_invoker.get_return_value_int();end, + -- NETWORK_GET_* + ["_NETWORK_GET_OLDEST_RESEND_COUNT_FOR_PLAYER"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("52C1EADAF7B10302");return native_invoker.get_return_value_int();end, + ["_NETWORK_REPORT_MYSELF"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5626D9D6810730D5");end, + -- NETWORK_GET_* + ["_0x64D779659BC37B19"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("64D779659BC37B19");return native_invoker.get_return_value_vector3();end, + -- Returns the coordinates of another player. + -- Does not work if you enter your own player id as p0 (will return `(0.0, 0.0, 0.0)` in that case). + ["_NETWORK_GET_PLAYER_COORDS"]=--[[Vector3 (vector3)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("125E6D638B8605D4");return native_invoker.get_return_value_vector3();end, + -- NETWORK_GET_* + ["_0x33DE49EDF4DDE77A"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("33DE49EDF4DDE77A");return native_invoker.get_return_value_vector3();end, + -- NETWORK_GET_P* + ["_0xAA5FAFCD2C5F5E47"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("AA5FAFCD2C5F5E47");return native_invoker.get_return_value_vector3();end, + -- Does nothing (it's a nullsub). + ["_0xAEDF1BC1C133D6E3"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("AEDF1BC1C133D6E3");return native_invoker.get_return_value_int();end, + -- Does nothing (it's a nullsub). + ["_0x2555CF7DA5473794"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("2555CF7DA5473794");return native_invoker.get_return_value_int();end, + -- Does nothing (it's a nullsub). + ["_0x6FD992C4A1C1B986"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("6FD992C4A1C1B986");return native_invoker.get_return_value_int();end, + ["_0xDB663CC9FF3407A9"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("DB663CC9FF3407A9");return native_invoker.get_return_value_int();end, +} +OBJECT={ + ["CREATE_OBJECT"]=--[[Object (int)]] function(--[[Hash (int)]] modelHash,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] isNetwork,--[[BOOL (bool)]] netMissionEntity,--[[BOOL (bool)]] dynamic)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(isNetwork);native_invoker.push_arg_bool(netMissionEntity);native_invoker.push_arg_bool(dynamic);native_invoker.end_call("509D5878EB39E842");return native_invoker.get_return_value_int();end, + ["CREATE_OBJECT_NO_OFFSET"]=--[[Object (int)]] function(--[[Hash (int)]] modelHash,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] isNetwork,--[[BOOL (bool)]] netMissionEntity,--[[BOOL (bool)]] dynamic)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(isNetwork);native_invoker.push_arg_bool(netMissionEntity);native_invoker.push_arg_bool(dynamic);native_invoker.end_call("9A294B2138ABB884");return native_invoker.get_return_value_int();end, + -- Deletes the specified object, then sets the handle pointed to by the pointer to NULL. + ["DELETE_OBJECT"]=--[[void]] function(--[[Object* (pointer)]] object)native_invoker.begin_call();native_invoker.push_arg_pointer(object);native_invoker.end_call("539E0AE3E6634B9F");end, + ["PLACE_OBJECT_ON_GROUND_PROPERLY"]=--[[BOOL (bool)]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("58A850EAEE20FAA3");return native_invoker.get_return_value_bool();end, + ["_PLACE_OBJECT_ON_GROUND_PROPERLY_2"]=--[[BOOL (bool)]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("D76EEEF746057FD6");return native_invoker.get_return_value_bool();end, + ["_0xAFE24E4D29249E4A"]=--[[BOOL (bool)]] function(--[[Object (int)]] object,--[[float]] p1,--[[float]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("AFE24E4D29249E4A");return native_invoker.get_return_value_bool();end, + -- Returns true if the object has finished moving. + -- + -- If false, moves the object towards the specified X, Y and Z coordinates with the specified X, Y and Z speed. + -- + -- See also: https://gtagmodding.com/opcode-database/opcode/034E/ + -- Has to be looped until it returns true. + ["SLIDE_OBJECT"]=--[[BOOL (bool)]] function(--[[Object (int)]] object,--[[float]] toX,--[[float]] toY,--[[float]] toZ,--[[float]] speedX,--[[float]] speedY,--[[float]] speedZ,--[[BOOL (bool)]] collision)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_float(toX);native_invoker.push_arg_float(toY);native_invoker.push_arg_float(toZ);native_invoker.push_arg_float(speedX);native_invoker.push_arg_float(speedY);native_invoker.push_arg_float(speedZ);native_invoker.push_arg_bool(collision);native_invoker.end_call("2FDFF4107B8C1147");return native_invoker.get_return_value_bool();end, + ["SET_OBJECT_TARGETTABLE"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] targettable)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(targettable);native_invoker.end_call("8A7391690F5AFD81");end, + ["_SET_OBJECT_SOMETHING"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(p1);native_invoker.end_call("77F33F2CCF64B3AA");end, + -- Has 8 params in the latest patches. + -- + -- isMission - if true doesn't return mission objects + ["GET_CLOSEST_OBJECT_OF_TYPE"]=--[[Object (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] modelHash,--[[BOOL (bool)]] isMission,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_bool(isMission);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.end_call("E143FA2249364369");return native_invoker.get_return_value_int();end, + ["HAS_OBJECT_BEEN_BROKEN"]=--[[BOOL (bool)]] function(--[[Object (int)]] object,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_int(p1);native_invoker.end_call("8ABFB70C49CC43E2");return native_invoker.get_return_value_bool();end, + ["HAS_CLOSEST_OBJECT_OF_TYPE_BEEN_BROKEN"]=--[[BOOL (bool)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[Hash (int)]] modelHash,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_int(p5);native_invoker.end_call("761B0E69AC4D007E");return native_invoker.get_return_value_bool();end, + ["HAS_CLOSEST_OBJECT_OF_TYPE_BEEN_COMPLETELY_DESTROYED"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] modelHash,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_bool(p5);native_invoker.end_call("46494A2475701343");return native_invoker.get_return_value_bool();end, + ["_0x2542269291C6AC84"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2542269291C6AC84");return native_invoker.get_return_value_int();end, + ["_GET_OBJECT_OFFSET_FROM_COORDS"]=--[[Vector3 (vector3)]] function(--[[float]] xPos,--[[float]] yPos,--[[float]] zPos,--[[float]] heading,--[[float]] xOffset,--[[float]] yOffset,--[[float]] zOffset)native_invoker.begin_call();native_invoker.push_arg_float(xPos);native_invoker.push_arg_float(yPos);native_invoker.push_arg_float(zPos);native_invoker.push_arg_float(heading);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(zOffset);native_invoker.end_call("163E252DE035A133");return native_invoker.get_return_value_vector3();end, + ["GET_COORDS_AND_ROTATION_OF_CLOSEST_OBJECT_OF_TYPE"]=--[[Any (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] modelHash,--[[Vector3* (pointer)]] outPosition,--[[Vector3* (pointer)]] outRotation,--[[int]] rotationOrder)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_pointer(outPosition);native_invoker.push_arg_pointer(outRotation);native_invoker.push_arg_int(rotationOrder);native_invoker.end_call("163F8B586BC95F2A");return native_invoker.get_return_value_int();end, + -- Hardcoded to not work in multiplayer. + -- + -- + -- Used to lock/unlock doors to interior areas of the game. + -- + -- (Possible) Door Types: + -- + -- pastebin.com/9S2m3qA4 + -- + -- Heading is either 1, 0 or -1 in the scripts. Means default closed(0) or opened either into(1) or out(-1) of the interior. + -- Locked means that the heading is locked. + -- p6 is always 0. + -- + -- 225 door types, model names and coords found in stripclub.c4: + -- pastebin.com/gywnbzsH + -- + -- get door info: pastebin.com/i14rbekD + ["SET_STATE_OF_CLOSEST_DOOR_OF_TYPE"]=--[[void]] function(--[[Hash (int)]] type,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] locked,--[[float]] heading,--[[BOOL (bool)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(type);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(locked);native_invoker.push_arg_float(heading);native_invoker.push_arg_bool(p6);native_invoker.end_call("F82D8F1926A02C3D");end, + -- locked is 0 if no door is found + -- locked is 0 if door is unlocked + -- locked is 1 if door is found and unlocked. + -- + -- ------------- + -- the locked bool is either 0(unlocked)(false) or 1(locked)(true) + ["GET_STATE_OF_CLOSEST_DOOR_OF_TYPE"]=--[[void]] function(--[[Hash (int)]] type,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL* (pointer)]] locked,--[[float* (pointer)]] heading)native_invoker.begin_call();native_invoker.push_arg_int(type);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_pointer(locked);native_invoker.push_arg_pointer(heading);native_invoker.end_call("EDC1A5B84AEF33FF");end, + -- Hardcoded not to work in multiplayer environments. + -- When you set locked to 0 the door open and to 1 the door close + -- OBJECT::_9B12F9A24FABEDB0(${prop_gate_prison_01}, 1845.0, 2605.0, 45.0, 0, 0.0, 50.0, 0); //door open + -- + -- OBJECT::_9B12F9A24FABEDB0(${prop_gate_prison_01}, 1845.0, 2605.0, 45.0, 1, 0.0, 50.0, 0); //door close + ["_DOOR_CONTROL"]=--[[void]] function(--[[Hash (int)]] modelHash,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] locked,--[[float]] xRotMult,--[[float]] yRotMult,--[[float]] zRotMult)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(locked);native_invoker.push_arg_float(xRotMult);native_invoker.push_arg_float(yRotMult);native_invoker.push_arg_float(zRotMult);native_invoker.end_call("9B12F9A24FABEDB0");end, + ["_0x006E4B040ED37EC3"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("006E4B040ED37EC3");end, + -- doorHash has to be unique. scriptDoor false; relies upon getNetworkGameScriptHandler. isLocal On true disables the creation CRequestDoorEvent's in DOOR_SYSTEM_SET_DOOR_STATE. + -- p5 only set to true in single player native scripts. + -- If scriptDoor is true, register the door on the script handler host (note: there's a hardcap on the number of script IDs that can be added to the system at a given time). If scriptDoor and isLocal are both false, the door is considered to be in a "Persists w/o netobj" state. + -- + -- door hashes normally look like PROP_[int]_DOOR_[int] for interior doors and PROP_BUILDING_[int]_DOOR_[int] exterior doors but you can just make up your own hash if you want + -- All doors need to be registered with ADD_DOOR_TO_SYSTEM before they can be manipulated with the door natives and the easiest way to get door models is just find the door in codewalker. + -- + -- Example: AddDoorToSystem("PROP_43_DOOR_0", "hei_v_ilev_fh_heistdoor2", -1456.818, -520.5037, 69.67043, 0, 0, 0) + ["ADD_DOOR_TO_SYSTEM"]=--[[void]] function(--[[Hash (int)]] doorHash,--[[Hash (int)]] modelHash,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] scriptDoor,--[[BOOL (bool)]] isLocal)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(scriptDoor);native_invoker.push_arg_bool(isLocal);native_invoker.end_call("6F8838D03D1DC226");end, + -- CDoor and CDoorSystemData still internally allocated (and their associations between doorHash, modelHash, and coordinates). + -- Only its NetObj removed and flag ``*(v2 + 192) |= 8u`` (1604 retail) toggled. + ["REMOVE_DOOR_FROM_SYSTEM"]=--[[void]] function(--[[Hash (int)]] doorHash)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.end_call("464D8E1427156FE4");end, + -- Lockstates not applied and CNetObjDoor's not created until DOOR_SYSTEM_GET_IS_PHYSICS_LOADED returns true. + -- `requestDoor` on true, and when door system is configured to, i.e., "persists w/o netobj", generate a CRequestDoorEvent. + -- `forceUpdate` on true, forces an update on the door system (same path as netObjDoor_applyDoorStuff) + -- Door lock states: + -- 0: UNLOCKED + -- 1: LOCKED + -- 2: DOORSTATE_FORCE_LOCKED_UNTIL_OUT_OF_AREA + -- 3: DOORSTATE_FORCE_UNLOCKED_THIS_FRAME + -- 4: DOORSTATE_FORCE_LOCKED_THIS_FRAME + -- 5: DOORSTATE_FORCE_OPEN_THIS_FRAME + -- 6: DOORSTATE_FORCE_CLOSED_THIS_FRAME + ["DOOR_SYSTEM_SET_DOOR_STATE"]=--[[void]] function(--[[Hash (int)]] doorHash,--[[int]] state,--[[BOOL (bool)]] requestDoor,--[[BOOL (bool)]] forceUpdate)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.push_arg_int(state);native_invoker.push_arg_bool(requestDoor);native_invoker.push_arg_bool(forceUpdate);native_invoker.end_call("6BAB9442830C7F53");end, + ["DOOR_SYSTEM_GET_DOOR_STATE"]=--[[int]] function(--[[Hash (int)]] doorHash)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.end_call("160AA1B32F6139B8");return native_invoker.get_return_value_int();end, + ["DOOR_SYSTEM_GET_DOOR_PENDING_STATE"]=--[[int]] function(--[[Hash (int)]] doorHash)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.end_call("4BC2854478F3A749");return native_invoker.get_return_value_int();end, + -- Includes networking check: ownership vs. or the door itself **isn't** networked. + -- `forceUpdate` on true invokes DOOR_SYSTEM_SET_DOOR_STATE otherwise requestDoor is unused. + ["DOOR_SYSTEM_SET_AUTOMATIC_RATE"]=--[[void]] function(--[[Hash (int)]] doorHash,--[[float]] rate,--[[BOOL (bool)]] requestDoor,--[[BOOL (bool)]] forceUpdate)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.push_arg_float(rate);native_invoker.push_arg_bool(requestDoor);native_invoker.push_arg_bool(forceUpdate);native_invoker.end_call("03C27E13B42A0E82");end, + -- `forceUpdate` on true invokes DOOR_SYSTEM_SET_DOOR_STATE otherwise requestDoor is unused. + ["DOOR_SYSTEM_SET_AUTOMATIC_DISTANCE"]=--[[void]] function(--[[Hash (int)]] doorHash,--[[float]] distance,--[[BOOL (bool)]] requestDoor,--[[BOOL (bool)]] forceUpdate)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.push_arg_float(distance);native_invoker.push_arg_bool(requestDoor);native_invoker.push_arg_bool(forceUpdate);native_invoker.end_call("9BA001CB45CBF627");end, + -- Sets the ajar angle of a door. + -- Ranges from -1.0 to 1.0, and 0.0 is closed / default. + -- `forceUpdate` on true invokes DOOR_SYSTEM_SET_DOOR_STATE otherwise requestDoor is unused. + ["DOOR_SYSTEM_SET_OPEN_RATIO"]=--[[void]] function(--[[Hash (int)]] doorHash,--[[float]] ajar,--[[BOOL (bool)]] requestDoor,--[[BOOL (bool)]] forceUpdate)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.push_arg_float(ajar);native_invoker.push_arg_bool(requestDoor);native_invoker.push_arg_bool(forceUpdate);native_invoker.end_call("B6E6FBA95C7324AC");end, + ["_0xE851471AEFC3374F"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E851471AEFC3374F");return native_invoker.get_return_value_int();end, + ["DOOR_SYSTEM_GET_OPEN_RATIO"]=--[[float]] function(--[[Hash (int)]] doorHash)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.end_call("65499865FCA6E5EC");return native_invoker.get_return_value_float();end, + -- Includes networking check: ownership vs. or the door itself **isn't** networked. + -- `forceUpdate` on true invokes DOOR_SYSTEM_SET_DOOR_STATE otherwise requestDoor is unused. + ["DOOR_SYSTEM_SET_SPRING_REMOVED"]=--[[void]] function(--[[Hash (int)]] doorHash,--[[BOOL (bool)]] removed,--[[BOOL (bool)]] requestDoor,--[[BOOL (bool)]] forceUpdate)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.push_arg_bool(removed);native_invoker.push_arg_bool(requestDoor);native_invoker.push_arg_bool(forceUpdate);native_invoker.end_call("C485E07E4F0B7958");end, + -- Includes networking check: ownership vs. or the door itself **isn't** networked. + ["DOOR_SYSTEM_SET_HOLD_OPEN"]=--[[void]] function(--[[Hash (int)]] doorHash,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D9B71952F78A2640");end, + -- Some property related to gates. Native name between ``DOOR_SYSTEM_SET_AUTOMATIC_RATE`` and ``DOOR_SYSTEM_SET_DOOR_STATE``. + ["_0xA85A21582451E951"]=--[[void]] function(--[[Hash (int)]] doorHash,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.push_arg_bool(p1);native_invoker.end_call("A85A21582451E951");end, + -- if (OBJECT::IS_DOOR_REGISTERED_WITH_SYSTEM(doorHash)) + -- { + -- OBJECT::REMOVE_DOOR_FROM_SYSTEM(doorHash); + -- } + ["IS_DOOR_REGISTERED_WITH_SYSTEM"]=--[[BOOL (bool)]] function(--[[Hash (int)]] doorHash)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.end_call("C153C43EA202C8C1");return native_invoker.get_return_value_bool();end, + ["IS_DOOR_CLOSED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] doorHash)native_invoker.begin_call();native_invoker.push_arg_int(doorHash);native_invoker.end_call("C531EE8A1145A149");return native_invoker.get_return_value_bool();end, + ["_0xC7F29CA00F46350E"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("C7F29CA00F46350E");end, + -- Clears the fields sets by 0xC7F29CA00F46350E (1604 retail: 0x1424A7A10, 0x1424A7A11) and iterates over the global CDoor's bucket-list. + -- Related to its "Pre-networked state"? + ["_0x701FDA1E82076BA4"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("701FDA1E82076BA4");end, + ["DOOR_SYSTEM_GET_IS_PHYSICS_LOADED"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DF97CDD4FC08FD34");return native_invoker.get_return_value_bool();end, + -- Search radius: 0.5 + ["DOOR_SYSTEM_FIND_EXISTING_DOOR"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[Hash (int)]] modelHash,--[[Hash* (pointer)]] outDoorHash)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_pointer(outDoorHash);native_invoker.end_call("589F80B325CC82C5");return native_invoker.get_return_value_bool();end, + ["IS_GARAGE_EMPTY"]=--[[BOOL (bool)]] function(--[[Hash (int)]] garageHash,--[[BOOL (bool)]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(garageHash);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("90E47239EA1980B8");return native_invoker.get_return_value_bool();end, + ["IS_PLAYER_ENTIRELY_INSIDE_GARAGE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] garageHash,--[[Player (int)]] player,--[[float]] p2,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(garageHash);native_invoker.push_arg_int(player);native_invoker.push_arg_float(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("024A60DEB0EA69F0");return native_invoker.get_return_value_bool();end, + ["IS_PLAYER_PARTIALLY_INSIDE_GARAGE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] garageHash,--[[Player (int)]] player,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(garageHash);native_invoker.push_arg_int(player);native_invoker.push_arg_int(p2);native_invoker.end_call("1761DC5D8471CBAA");return native_invoker.get_return_value_bool();end, + ["ARE_ENTITIES_ENTIRELY_INSIDE_GARAGE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] garageHash,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(garageHash);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("85B6C850546FDDE2");return native_invoker.get_return_value_bool();end, + ["IS_ANY_ENTITY_ENTIRELY_INSIDE_GARAGE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] garageHash,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(garageHash);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("673ED815D6E323B7");return native_invoker.get_return_value_bool();end, + -- Despite the name, it does work for any entity type. + ["IS_OBJECT_ENTIRELY_INSIDE_GARAGE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] garageHash,--[[Entity (int)]] entity,--[[float]] p2,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(garageHash);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("372EF6699146A1E4");return native_invoker.get_return_value_bool();end, + -- Despite the name, it does work for any entity type. + ["IS_OBJECT_PARTIALLY_INSIDE_GARAGE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] garageHash,--[[Entity (int)]] entity,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(garageHash);native_invoker.push_arg_int(entity);native_invoker.push_arg_int(p2);native_invoker.end_call("F0EED5A6BC7B237A");return native_invoker.get_return_value_bool();end, + -- CLEAR_* + ["_CLEAR_GARAGE_AREA"]=--[[void]] function(--[[Hash (int)]] garageHash,--[[BOOL (bool)]] isNetwork)native_invoker.begin_call();native_invoker.push_arg_int(garageHash);native_invoker.push_arg_bool(isNetwork);native_invoker.end_call("DA05194260CDCDF9");end, + -- CLEAR_* + ["_0x190428512B240692"]=--[[void]] function(--[[Hash (int)]] garageHash,--[[BOOL (bool)]] vehicles,--[[BOOL (bool)]] peds,--[[BOOL (bool)]] objects,--[[BOOL (bool)]] isNetwork)native_invoker.begin_call();native_invoker.push_arg_int(garageHash);native_invoker.push_arg_bool(vehicles);native_invoker.push_arg_bool(peds);native_invoker.push_arg_bool(objects);native_invoker.push_arg_bool(isNetwork);native_invoker.end_call("190428512B240692");end, + -- Sets a flag. A valid id is 0x157DC10D + -- SET_FLAG_?? + ["_0x659F9D71F52843F8"]=--[[void]] function(--[[int]] id,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.push_arg_bool(toggle);native_invoker.end_call("659F9D71F52843F8");end, + ["ENABLE_SAVING_IN_GARAGE"]=--[[void]] function(--[[Hash (int)]] garageHash,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(garageHash);native_invoker.push_arg_bool(toggle);native_invoker.end_call("F2E1A7133DD356A6");end, + ["_0x66A49D021870FE88"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("66A49D021870FE88");end, + -- p5 is usually 0. + ["DOES_OBJECT_OF_TYPE_EXIST_AT_COORDS"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] hash,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(hash);native_invoker.push_arg_bool(p5);native_invoker.end_call("BFA48E2FF417213F");return native_invoker.get_return_value_bool();end, + -- An angled area is an X-Z oriented rectangle with three parameters: + -- 1. origin: the mid-point along a base edge of the rectangle; + -- 2. extent: the mid-point of opposite base edge on the other Z; + -- 3. width: the length of the base edge; (named derived from logging strings ``CNetworkRoadNodeWorldStateData``). + -- + -- The oriented rectangle can then be derived from the direction of the two points (``norm(origin - extent)``), its orthonormal, and the width, e.g: + -- 1. golf_mp https://i.imgur.com/JhsQAK9.png + -- 2. am_taxi https://i.imgur.com/TJWCZaT.jpg + ["IS_POINT_IN_ANGLED_AREA"]=--[[BOOL (bool)]] function(--[[float]] xPos,--[[float]] yPos,--[[float]] zPos,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] width,--[[BOOL (bool)]] debug,--[[BOOL (bool)]] includeZ)native_invoker.begin_call();native_invoker.push_arg_float(xPos);native_invoker.push_arg_float(yPos);native_invoker.push_arg_float(zPos);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(width);native_invoker.push_arg_bool(debug);native_invoker.push_arg_bool(includeZ);native_invoker.end_call("2A70BAE8883E4C81");return native_invoker.get_return_value_bool();end, + -- Overrides the climbing/blocking flags of the object, used in the native scripts mostly for "prop_dock_bouy_*" + ["_SET_OBJECT_CAN_CLIMB_ON"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.end_call("4D89D607CB3DD1D2");end, + -- Adjust the physics parameters of a prop, or otherwise known as "object". This is useful for simulated gravity. + -- + -- Other parameters seem to be unknown. + -- + -- p2: seems to be weight and gravity related. Higher value makes the obj fall faster. Very sensitive? + -- p3: seems similar to p2 + -- p4: makes obj fall slower the higher the value + -- p5: similar to p4 + ["SET_OBJECT_PHYSICS_PARAMS"]=--[[void]] function(--[[Object (int)]] object,--[[float]] weight,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] gravity,--[[float]] p7,--[[float]] p8,--[[float]] p9,--[[float]] p10,--[[float]] buoyancy)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_float(weight);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(gravity);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_float(p10);native_invoker.push_arg_float(buoyancy);native_invoker.end_call("F6DF6E90DE7DF90F");end, + ["GET_OBJECT_FRAGMENT_DAMAGE_HEALTH"]=--[[float]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("B6FBFD079B8D0596");return native_invoker.get_return_value_float();end, + ["SET_ACTIVATE_OBJECT_PHYSICS_AS_SOON_AS_IT_IS_UNFROZEN"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.end_call("406137F8EF90EAF5");end, + ["IS_ANY_OBJECT_NEAR_POINT"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] range,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(range);native_invoker.push_arg_bool(p4);native_invoker.end_call("397DC58FF00298D1");return native_invoker.get_return_value_bool();end, + ["IS_OBJECT_NEAR_POINT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] objectHash,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] range)native_invoker.begin_call();native_invoker.push_arg_int(objectHash);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(range);native_invoker.end_call("8C90FE4B381BA60A");return native_invoker.get_return_value_bool();end, + ["REMOVE_OBJECT_HIGH_DETAIL_MODEL"]=--[[void]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("4A39DB43E47CF3AA");end, + ["_0xE7E4C198B0185900"]=--[[void]] function(--[[Object (int)]] p0,--[[Any (int)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("E7E4C198B0185900");end, + ["_0xE05F6AEEFEB0BB02"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("E05F6AEEFEB0BB02");end, + ["_0xF9C1681347C8BD15"]=--[[void]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("F9C1681347C8BD15");end, + ["TRACK_OBJECT_VISIBILITY"]=--[[void]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("B252BC036B525623");end, + ["IS_OBJECT_VISIBLE"]=--[[BOOL (bool)]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("8B32ACE6326A7546");return native_invoker.get_return_value_bool();end, + ["_0xC6033D32241F6FB5"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C6033D32241F6FB5");end, + ["_0xEB6F1A9B5510A5D2"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("EB6F1A9B5510A5D2");end, + ["_SET_UNK_GLOBAL_BOOL_RELATED_TO_DAMAGE"]=--[[void]] function(--[[BOOL (bool)]] value)native_invoker.begin_call();native_invoker.push_arg_bool(value);native_invoker.end_call("ABDABF4E1EDECBFA");end, + -- Requires a component_at_*_flsh to be attached to the weapon object + ["_SET_CREATE_WEAPON_OBJECT_LIGHT_SOURCE"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.end_call("BCE595371A5FBAAF");end, + -- Example: + -- OBJECT::GET_RAYFIRE_MAP_OBJECT(-809.9619750976562, 170.919, 75.7406997680664, 3.0, "des_tvsmash"); + ["GET_RAYFIRE_MAP_OBJECT"]=--[[Object (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_string(name);native_invoker.end_call("B48FCED898292E52");return native_invoker.get_return_value_int();end, + -- Defines the state of a destructible object. + -- Use the GET_RAYFIRE_MAP_OBJECT native to find an object's handle with its name / coords. + -- State 2 == object just spawned + -- State 4 == Beginning of the animation + -- State 6 == Start animation + -- State 9 == End of the animation + ["SET_STATE_OF_RAYFIRE_MAP_OBJECT"]=--[[void]] function(--[[Object (int)]] object,--[[int]] state)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_int(state);native_invoker.end_call("5C29F698D404C5E1");end, + -- Get a destructible object's state. + -- Substract 1 to get the real state. + -- See SET_STATE_OF_RAYFIRE_MAP_OBJECT to see the different states + -- For example, if the object just spawned (state 2), the native will return 3. + ["GET_STATE_OF_RAYFIRE_MAP_OBJECT"]=--[[int]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("899BA936634A322E");return native_invoker.get_return_value_int();end, + -- Returns true if a destructible object with this handle exists, false otherwise. + ["DOES_RAYFIRE_MAP_OBJECT_EXIST"]=--[[BOOL (bool)]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("52AF537A0C5B8AAD");return native_invoker.get_return_value_bool();end, + -- `object`: The des-object handle to get the animation progress from. + -- Return value is a float between 0.0 and 1.0, 0.0 is the beginning of the animation, 1.0 is the end. Value resets to 0.0 instantly after reaching 1.0. + ["GET_RAYFIRE_MAP_OBJECT_ANIM_PHASE"]=--[[float]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("260EE4FDBDF4DB01");return native_invoker.get_return_value_float();end, + -- Pickup hashes: pastebin.com/8EuSv2r1 + -- + -- Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + ["CREATE_PICKUP"]=--[[Pickup (int)]] function(--[[Hash (int)]] pickupHash,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[int]] p4,--[[int]] value,--[[BOOL (bool)]] p6,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(pickupHash);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(value);native_invoker.push_arg_bool(p6);native_invoker.push_arg_int(modelHash);native_invoker.end_call("FBA08C503DD5FA58");return native_invoker.get_return_value_int();end, + -- Pickup hashes: pastebin.com/8EuSv2r1 + -- + -- flags: + -- 8 (1 << 3): place on ground + -- 512 (1 << 9): spin around + -- + -- Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + ["CREATE_PICKUP_ROTATE"]=--[[Pickup (int)]] function(--[[Hash (int)]] pickupHash,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[int]] flag,--[[int]] amount,--[[Any (int)]] p9,--[[BOOL (bool)]] p10,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(pickupHash);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_int(flag);native_invoker.push_arg_int(amount);native_invoker.push_arg_int(p9);native_invoker.push_arg_bool(p10);native_invoker.push_arg_int(modelHash);native_invoker.end_call("891804727E0A98B7");return native_invoker.get_return_value_int();end, + ["_0x394CD08E31313C28"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("394CD08E31313C28");end, + ["_0x826D1EE4D1CAFC78"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("826D1EE4D1CAFC78");end, + -- Used for doing money drop + -- Pickup hashes: pastebin.com/8EuSv2r1 + -- + -- Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + ["CREATE_AMBIENT_PICKUP"]=--[[Pickup (int)]] function(--[[Hash (int)]] pickupHash,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[int]] flags,--[[int]] value,--[[Hash (int)]] modelHash,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(pickupHash);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_int(flags);native_invoker.push_arg_int(value);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.end_call("673966A0C0FD7171");return native_invoker.get_return_value_int();end, + ["_0x1E3F1B1B891A2AAA"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("1E3F1B1B891A2AAA");end, + -- Pickup hashes: pastebin.com/8EuSv2r1 + -- + -- Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + ["CREATE_PORTABLE_PICKUP"]=--[[Object (int)]] function(--[[Hash (int)]] pickupHash,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] placeOnGround,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(pickupHash);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(placeOnGround);native_invoker.push_arg_int(modelHash);native_invoker.end_call("2EAF1FDB2FB55698");return native_invoker.get_return_value_int();end, + -- CREATE_* + -- + -- Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + ["_CREATE_PORTABLE_PICKUP_2"]=--[[Object (int)]] function(--[[Hash (int)]] pickupHash,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] placeOnGround,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(pickupHash);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(placeOnGround);native_invoker.push_arg_int(modelHash);native_invoker.end_call("125494B98A21AAF7");return native_invoker.get_return_value_int();end, + ["ATTACH_PORTABLE_PICKUP_TO_PED"]=--[[void]] function(--[[Object (int)]] pickupObject,--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(pickupObject);native_invoker.push_arg_int(ped);native_invoker.end_call("8DC39368BDD57755");end, + ["DETACH_PORTABLE_PICKUP_FROM_PED"]=--[[void]] function(--[[Object (int)]] pickupObject)native_invoker.begin_call();native_invoker.push_arg_int(pickupObject);native_invoker.end_call("CF463D1E9A0AECB1");end, + ["_HIDE_PICKUP"]=--[[void]] function(--[[Object (int)]] pickupObject,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(pickupObject);native_invoker.push_arg_bool(toggle);native_invoker.end_call("867458251D47CCB2");end, + ["_0x0BF3B3BD47D79C08"]=--[[void]] function(--[[Hash (int)]] modelHash,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.push_arg_int(p1);native_invoker.end_call("0BF3B3BD47D79C08");end, + ["_0x78857FC65CADB909"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("78857FC65CADB909");end, + ["GET_SAFE_PICKUP_COORDS"]=--[[Vector3 (vector3)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p3,--[[float]] p4)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.end_call("6E16BC2503FF1FF0");return native_invoker.get_return_value_vector3();end, + -- Adds an area that seems to be related to pickup physics behavior. + -- Max amount of areas is 10. Only works in multiplayer. + -- + -- ADD_* + ["_0xD4A7A435B3710D05"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("D4A7A435B3710D05");end, + -- Clears all areas created by 0xD4A7A435B3710D05 + -- + -- CLEAR_* + ["_0xB7C6D80FB371659A"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B7C6D80FB371659A");end, + ["GET_PICKUP_COORDS"]=--[[Vector3 (vector3)]] function(--[[Pickup (int)]] pickup)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.end_call("225B8B35C88029B3");return native_invoker.get_return_value_vector3();end, + ["_0x8DCA505A5C196F05"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("8DCA505A5C196F05");end, + -- Pickup hashes: pastebin.com/8EuSv2r1 + -- + -- Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + ["REMOVE_ALL_PICKUPS_OF_TYPE"]=--[[void]] function(--[[Hash (int)]] pickupHash)native_invoker.begin_call();native_invoker.push_arg_int(pickupHash);native_invoker.end_call("27F9D613092159CF");end, + ["HAS_PICKUP_BEEN_COLLECTED"]=--[[BOOL (bool)]] function(--[[Pickup (int)]] pickup)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.end_call("80EC48E6679313F9");return native_invoker.get_return_value_bool();end, + ["REMOVE_PICKUP"]=--[[void]] function(--[[Pickup (int)]] pickup)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.end_call("3288D8ACAECD2AB2");end, + -- Spawns one or more money pickups. + -- + -- x: The X-component of the world position to spawn the money pickups at. + -- y: The Y-component of the world position to spawn the money pickups at. + -- z: The Z-component of the world position to spawn the money pickups at. + -- value: The combined value of the pickups (in dollars). + -- amount: The number of pickups to spawn. + -- model: The model to use, or 0 for default money model. + -- + -- Example: + -- CREATE_MONEY_PICKUPS(x, y, z, 1000, 3, 0x684a97ae); + -- + -- Spawns 3 spray cans that'll collectively give $1000 when picked up. (Three spray cans, each giving $334, $334, $332 = $1000). + -- + -- ============================================== + -- + -- Max is 2000 in MP. So if you put the amount to 20, but the value to $400,000 eg. They will only be able to pickup 20 - $2,000 bags. So, $40,000 + ["CREATE_MONEY_PICKUPS"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] value,--[[int]] amount,--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(value);native_invoker.push_arg_int(amount);native_invoker.push_arg_int(model);native_invoker.end_call("0589B5E791CE9B2B");end, + ["DOES_PICKUP_EXIST"]=--[[BOOL (bool)]] function(--[[Pickup (int)]] pickup)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.end_call("AFC1CA75AD4074D1");return native_invoker.get_return_value_bool();end, + ["DOES_PICKUP_OBJECT_EXIST"]=--[[BOOL (bool)]] function(--[[Object (int)]] pickupObject)native_invoker.begin_call();native_invoker.push_arg_int(pickupObject);native_invoker.end_call("D9EFB6DBF7DAAEA3");return native_invoker.get_return_value_bool();end, + ["GET_PICKUP_OBJECT"]=--[[Object (int)]] function(--[[Pickup (int)]] pickup)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.end_call("5099BC55630B25AE");return native_invoker.get_return_value_int();end, + ["IS_OBJECT_A_PORTABLE_PICKUP"]=--[[BOOL (bool)]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("FC481C641EBBD27D");return native_invoker.get_return_value_bool();end, + ["IS_OBJECT_A_PICKUP"]=--[[BOOL (bool)]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("0378C08504160D0D");return native_invoker.get_return_value_bool();end, + -- Pickup hashes: pastebin.com/8EuSv2r1 + -- + -- Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + ["DOES_PICKUP_OF_TYPE_EXIST_IN_AREA"]=--[[BOOL (bool)]] function(--[[Hash (int)]] pickupHash,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_int(pickupHash);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("F9C36251F6E48E33");return native_invoker.get_return_value_bool();end, + ["SET_PICKUP_REGENERATION_TIME"]=--[[void]] function(--[[Pickup (int)]] pickup,--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.push_arg_int(duration);native_invoker.end_call("78015C9B4B3ECC9D");end, + ["FORCE_PICKUP_REGENERATE"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("758A5C1B3B1E1990");end, + -- Disabling/enabling a player from getting pickups. From the scripts: + -- + -- OBJECT::_616093EC6B139DD9(PLAYER::PLAYER_ID(), ${pickup_portable_package}, 0); + -- OBJECT::_616093EC6B139DD9(PLAYER::PLAYER_ID(), ${pickup_portable_package}, 0); + -- OBJECT::_616093EC6B139DD9(PLAYER::PLAYER_ID(), ${pickup_portable_package}, 1); + -- OBJECT::_616093EC6B139DD9(PLAYER::PLAYER_ID(), ${pickup_portable_package}, 0); + -- OBJECT::_616093EC6B139DD9(PLAYER::PLAYER_ID(), ${pickup_armour_standard}, 0); + -- OBJECT::_616093EC6B139DD9(PLAYER::PLAYER_ID(), ${pickup_armour_standard}, 1); + -- + -- SET_PLAYER_* + -- + -- Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + ["_TOGGLE_USE_PICKUPS_FOR_PLAYER"]=--[[void]] function(--[[Player (int)]] player,--[[Hash (int)]] pickupHash,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(pickupHash);native_invoker.push_arg_bool(toggle);native_invoker.end_call("616093EC6B139DD9");end, + -- Maximum amount of pickup models that can be disallowed is 30. + -- + -- SET_LOCAL_PLAYER_* + ["_SET_LOCAL_PLAYER_CAN_USE_PICKUPS_WITH_THIS_MODEL"]=--[[void]] function(--[[Hash (int)]] modelHash,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.push_arg_bool(toggle);native_invoker.end_call("88EAEC617CD26926");end, + -- A* + -- + -- Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + ["_0xFDC07C58E8AAB715"]=--[[void]] function(--[[Hash (int)]] pickupHash)native_invoker.begin_call();native_invoker.push_arg_int(pickupHash);native_invoker.end_call("FDC07C58E8AAB715");end, + ["SET_TEAM_PICKUP_OBJECT"]=--[[void]] function(--[[Object (int)]] object,--[[Any (int)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("53E0DF1A2A3CF0CA");end, + ["_0x92AEFB5F6E294023"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("92AEFB5F6E294023");end, + ["_0x0596843B34B95CE5"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("0596843B34B95CE5");end, + ["_0xA08FE5E49BDC39DD"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("A08FE5E49BDC39DD");end, + ["_0x62454A641B41F3C5"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("62454A641B41F3C5");end, + ["_0x39A5FB7EAF150840"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("39A5FB7EAF150840");end, + ["_0xDB41D07A45A6D4B7"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DB41D07A45A6D4B7");return native_invoker.get_return_value_int();end, + ["SET_PICKUP_GENERATION_RANGE_MULTIPLIER"]=--[[void]] function(--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_float(multiplier);native_invoker.end_call("318516E02DE3ECE2");end, + ["_GET_PICKUP_GENERATION_RANGE_MULTIPLIER"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("B3ECA65C7317F174");return native_invoker.get_return_value_float();end, + ["_0x31F924B53EADDF65"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("31F924B53EADDF65");end, + ["SET_PICKUP_UNCOLLECTABLE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("1C1B69FAE509BA97");end, + ["_0x858EC9FD25DE04AA"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("858EC9FD25DE04AA");end, + ["SET_PICKUP_HIDDEN_WHEN_UNCOLLECTABLE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("3ED2B83AB2E82799");end, + ["_0x8881C98A31117998"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("8881C98A31117998");end, + ["_0x8CFF648FBD7330F1"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8CFF648FBD7330F1");end, + ["_0x46F3ADD1E2D5BAF2"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("46F3ADD1E2D5BAF2");end, + ["_0x641F272B52E2F0F8"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("641F272B52E2F0F8");end, + -- Sets some bit of pickup + -- SET_PICKUP_* + ["_0x4C134B4DF76025D0"]=--[[void]] function(--[[Pickup (int)]] pickup,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.push_arg_bool(toggle);native_invoker.end_call("4C134B4DF76025D0");end, + -- Sets some value of pickup + -- SET_PICKUP_* + ["_0xAA059C615DE9DD03"]=--[[void]] function(--[[Pickup (int)]] pickup,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.push_arg_bool(toggle);native_invoker.end_call("AA059C615DE9DD03");end, + ["_0xF92099527DB8E2A7"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("F92099527DB8E2A7");end, + -- CLEAR_* + ["_0xA2C1F5E92AFE49ED"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("A2C1F5E92AFE49ED");end, + ["_0x762DB2D380B48D04"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("762DB2D380B48D04");end, + -- draws circular marker at pos + -- -1 = none + -- 0 = red + -- 1 = green + -- 2 = blue + -- 3 = green larger + -- 4 = nothing + -- 5 = green small + ["_HIGHLIGHT_PLACEMENT_COORDS"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] colorIndex)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(colorIndex);native_invoker.end_call("3430676B11CDF21D");end, + -- SET_PICKUP_* + ["_0x7813E8B8C4AE4799"]=--[[void]] function(--[[Pickup (int)]] pickup)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.end_call("7813E8B8C4AE4799");end, + -- Sets some pickup flag? + -- SET_PICKUP_* + ["_0xBFFE53AE7E67FCDC"]=--[[void]] function(--[[Pickup (int)]] pickup,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(pickup);native_invoker.push_arg_bool(toggle);native_invoker.end_call("BFFE53AE7E67FCDC");end, + -- Sets entity+38 to C (when false) or 0xFF3f (when true) + -- SET_ENTITY_?? + ["_0xD05A3241B9A86F19"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D05A3241B9A86F19");end, + ["_0xB2D0BDE54F0E8E5A"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B2D0BDE54F0E8E5A");end, + -- Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + ["GET_WEAPON_TYPE_FROM_PICKUP_TYPE"]=--[[Hash (int)]] function(--[[Hash (int)]] pickupHash)native_invoker.begin_call();native_invoker.push_arg_int(pickupHash);native_invoker.end_call("08F96CA6C551AD51");return native_invoker.get_return_value_int();end, + -- Returns the pickup hash for the given weapon hash + ["_GET_PICKUP_HASH_FROM_WEAPON"]=--[[Hash (int)]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("D6429A016084F1A5");return native_invoker.get_return_value_int();end, + ["IS_PICKUP_WEAPON_OBJECT_VALID"]=--[[BOOL (bool)]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("11D1E53A726891FE");return native_invoker.get_return_value_bool();end, + ["_GET_OBJECT_TEXTURE_VARIATION"]=--[[int]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("E84EB93729C5F36A");return native_invoker.get_return_value_int();end, + -- enum ObjectPaintVariants + -- { + -- Pacific = 0, + -- Azure = 1, + -- Nautical = 2, + -- Continental = 3, + -- Battleship = 4, + -- Intrepid = 5, + -- Uniform = 6, + -- Classico = 7, + -- Mediterranean = 8, + -- Command = 9, + -- Mariner = 10, + -- Ruby = 11, + -- Vintage = 12, + -- Pristine = 13, + -- Merchant = 14, + -- Voyager = 15 + -- }; + ["_SET_OBJECT_TEXTURE_VARIATION"]=--[[void]] function(--[[Object (int)]] object,--[[int]] textureVariation)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_int(textureVariation);native_invoker.end_call("971DA0055324D033");end, + ["_SET_TEXTURE_VARIATION_OF_CLOSEST_OBJECT_OF_TYPE"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] modelHash,--[[int]] textureVariation)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_int(textureVariation);native_invoker.end_call("F12E33034D887F66");return native_invoker.get_return_value_bool();end, + ["_0x31574B1B41268673"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("31574B1B41268673");end, + ["_SET_OBJECT_LIGHT_COLOR"]=--[[Any (int)]] function(--[[Object (int)]] object,--[[BOOL (bool)]] p1,--[[int]] r,--[[int]] g,--[[int]] b)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.end_call("5F048334B4A4E774");return native_invoker.get_return_value_int();end, + -- GET_OBJECT_?? + ["_0xADF084FB8F075D06"]=--[[BOOL (bool)]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("ADF084FB8F075D06");return native_invoker.get_return_value_bool();end, + -- SET_OBJECT_* + ["_0x3B2FD68DB5F8331C"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.end_call("3B2FD68DB5F8331C");end, + ["_SET_OBJECT_STUNT_PROP_SPEEDUP"]=--[[void]] function(--[[Object (int)]] object,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_int(p1);native_invoker.end_call("96EE0EBA0163DF80");end, + ["_SET_OBJECT_STUNT_PROP_DURATION"]=--[[void]] function(--[[Object (int)]] object,--[[float]] duration)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_float(duration);native_invoker.end_call("DF6CA0330F2E737B");end, + -- returns pickup hash. + -- + -- Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + ["_GET_PICKUP_HASH"]=--[[Hash (int)]] function(--[[Hash (int)]] pickupHash)native_invoker.begin_call();native_invoker.push_arg_int(pickupHash);native_invoker.end_call("5EAAD83F8CFB4575");return native_invoker.get_return_value_int();end, + ["SET_FORCE_OBJECT_THIS_FRAME"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p3);native_invoker.end_call("F538081986E49E9D");end, + -- is this like setting is as no longer needed? + ["_MARK_OBJECT_FOR_DELETION"]=--[[void]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("ADBE4809F19F927A");end, + ["_0x8CAAB2BD3EA58BD4"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8CAAB2BD3EA58BD4");end, + ["_0x63ECF581BC70E363"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("63ECF581BC70E363");end, + -- Activate the physics to: "xs_prop_arena_{flipper,wall,bollard,turntable,pit}" + ["_SET_ENABLE_ARENA_PROP_PHYSICS"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(p2);native_invoker.end_call("911024442F4898F0");end, + ["_SET_ENABLE_ARENA_PROP_PHYSICS_ON_PED"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle,--[[int]] p2,--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(ped);native_invoker.end_call("B20834A7DD3D8896");end, + -- Sets some bit of object + -- SET_OBJECT_* + ["_0x734E1714D077DA9A"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.end_call("734E1714D077DA9A");end, + -- Sets some bit of object + -- SET_OBJECT_* + ["_0x1A6CBB06E2D0D79D"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(p1);native_invoker.end_call("1A6CBB06E2D0D79D");end, + ["_GET_IS_ARENA_PROP_PHYSICS_DISABLED"]=--[[BOOL (bool)]] function(--[[Object (int)]] object,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_int(p1);native_invoker.end_call("43C677F1E1158005");return native_invoker.get_return_value_bool();end, + ["_0x3BD770D281982DB5"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("3BD770D281982DB5");return native_invoker.get_return_value_int();end, + -- Sets some flag of object + -- SET_OBJECT_* + ["_0x1C57C94A6446492A"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.end_call("1C57C94A6446492A");end, + -- Sets some bit of object + -- SET_OBJECT_* + ["_0xB5B7742424BD4445"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B5B7742424BD4445");end, +} +PAD={ + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["IS_CONTROL_ENABLED"]=--[[BOOL (bool)]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("1CEA6BFDF248E5D9");return native_invoker.get_return_value_bool();end, + -- Returns whether a control is currently pressed. + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["IS_CONTROL_PRESSED"]=--[[BOOL (bool)]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("F3A21BCD95725A4A");return native_invoker.get_return_value_bool();end, + -- Returns whether a control is currently _not_ pressed. + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["IS_CONTROL_RELEASED"]=--[[BOOL (bool)]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("648EE3E7F38877DD");return native_invoker.get_return_value_bool();end, + -- Returns whether a control was newly pressed since the last check. + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["IS_CONTROL_JUST_PRESSED"]=--[[BOOL (bool)]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("580417101DDB492F");return native_invoker.get_return_value_bool();end, + -- Returns whether a control was newly released since the last check. + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["IS_CONTROL_JUST_RELEASED"]=--[[BOOL (bool)]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("50F940259D3841E6");return native_invoker.get_return_value_bool();end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["GET_CONTROL_VALUE"]=--[[int]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("D95E79E8686D2C27");return native_invoker.get_return_value_int();end, + -- Returns the value of GET_CONTROL_VALUE normalized (i.e. a real number value between -1 and 1) + -- + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["GET_CONTROL_NORMAL"]=--[[float]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("EC3C9B8D5327B563");return native_invoker.get_return_value_float();end, + ["_0x5B73C77D9EB66E24"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("5B73C77D9EB66E24");end, + -- Seems to return values between -1 and 1 for controls like gas and steering. + -- + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["GET_CONTROL_UNBOUND_NORMAL"]=--[[float]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("5B84D09CEC5209C5");return native_invoker.get_return_value_float();end, + -- This is for simulating player input. + -- amount is a float value from 0 - 1 + -- + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["_SET_CONTROL_NORMAL"]=--[[BOOL (bool)]] function(--[[int]] padIndex,--[[int]] control,--[[float]] amount)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.push_arg_float(amount);native_invoker.end_call("E8A25867FBA3B05E");return native_invoker.get_return_value_bool();end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["IS_DISABLED_CONTROL_PRESSED"]=--[[BOOL (bool)]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("E2587F8CBBD87B1D");return native_invoker.get_return_value_bool();end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["IS_DISABLED_CONTROL_RELEASED"]=--[[BOOL (bool)]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("FB6C4072E9A32E92");return native_invoker.get_return_value_bool();end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["IS_DISABLED_CONTROL_JUST_PRESSED"]=--[[BOOL (bool)]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("91AEF906BCA88877");return native_invoker.get_return_value_bool();end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["IS_DISABLED_CONTROL_JUST_RELEASED"]=--[[BOOL (bool)]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("305C8DCD79DA8B0F");return native_invoker.get_return_value_bool();end, + -- control - c# works with (int)GTA.Control.CursorY / (int)GTA.Control.CursorX and returns the mouse movement (additive). + -- + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["GET_DISABLED_CONTROL_NORMAL"]=--[[float]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("11E65974A982637C");return native_invoker.get_return_value_float();end, + -- The "disabled" variant of _0x5B84D09CEC5209C5. + -- + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["GET_DISABLED_CONTROL_UNBOUND_NORMAL"]=--[[float]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("4F8A26A890FD62FB");return native_invoker.get_return_value_float();end, + ["_0xD7D22F5592AED8BA"]=--[[int]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("D7D22F5592AED8BA");return native_invoker.get_return_value_int();end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + -- + -- Used to be known as _GET_LAST_INPUT_METHOD & _IS_INPUT_DISABLED + ["_IS_USING_KEYBOARD"]=--[[BOOL (bool)]] function(--[[int]] padIndex)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.end_call("A571D46727E2B718");return native_invoker.get_return_value_bool();end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + -- + -- Used to be known as _IS_INPUT_JUST_DISABLED + ["_IS_USING_KEYBOARD_2"]=--[[BOOL (bool)]] function(--[[int]] padIndex)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.end_call("13337B38DB572509");return native_invoker.get_return_value_bool();end, + ["_SET_CURSOR_LOCATION"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.end_call("FC695459D4D0E219");return native_invoker.get_return_value_bool();end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + -- + -- Hardcoded to return false. + ["_0x23F09EADC01449D6"]=--[[BOOL (bool)]] function(--[[int]] padIndex)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.end_call("23F09EADC01449D6");return native_invoker.get_return_value_bool();end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["_0x6CD79468A1E595C6"]=--[[BOOL (bool)]] function(--[[int]] padIndex)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.end_call("6CD79468A1E595C6");return native_invoker.get_return_value_bool();end, + -- formerly called _GET_CONTROL_ACTION_NAME incorrectly + -- + -- p2 appears to always be true. + -- p2 is unused variable in function. + -- + -- EG: + -- GET_CONTROL_INSTRUCTIONAL_BUTTON (2, 201, 1) /*INPUT_FRONTEND_ACCEPT (e.g. Enter button)*/ + -- GET_CONTROL_INSTRUCTIONAL_BUTTON (2, 202, 1) /*INPUT_FRONTEND_CANCEL (e.g. ESC button)*/ + -- GET_CONTROL_INSTRUCTIONAL_BUTTON (2, 51, 1) /*INPUT_CONTEXT (e.g. E button)*/ + -- + -- gtaforums.com/topic/819070-c-draw-instructional-buttons-scaleform-movie/#entry1068197378 + -- + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["GET_CONTROL_INSTRUCTIONAL_BUTTON"]=--[[string]] function(--[[int]] padIndex,--[[int]] control,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.push_arg_bool(p2);native_invoker.end_call("0499D7B09FC9B407");return native_invoker.get_return_value_string();end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["GET_CONTROL_GROUP_INSTRUCTIONAL_BUTTON"]=--[[string]] function(--[[int]] padIndex,--[[int]] controlGroup,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(controlGroup);native_invoker.push_arg_bool(p2);native_invoker.end_call("80C2FD58D720C801");return native_invoker.get_return_value_string();end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["_SET_CONTROL_GROUP_COLOR"]=--[[void]] function(--[[int]] padIndex,--[[int]] red,--[[int]] green,--[[int]] blue)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(red);native_invoker.push_arg_int(green);native_invoker.push_arg_int(blue);native_invoker.end_call("8290252FFF36ACB5");end, + ["_0xCB0360EFEFB2580D"]=--[[void]] function(--[[int]] padIndex)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.end_call("CB0360EFEFB2580D");end, + -- padIndex always seems to be 0 + -- duration in milliseconds + -- frequency should range from about 10 (slow vibration) to 255 (very fast) + -- appears to be a hash collision, though it does do what it says + -- + -- example: + -- SET_PAD_SHAKE(0, 100, 200); + ["SET_PAD_SHAKE"]=--[[void]] function(--[[int]] padIndex,--[[int]] duration,--[[int]] frequency)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(frequency);native_invoker.end_call("48B3886C1358D0D5");end, + -- Does nothing (it's a nullsub). + ["_0x14D29BB12D47F68C"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("14D29BB12D47F68C");end, + ["STOP_PAD_SHAKE"]=--[[void]] function(--[[int]] padIndex)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.end_call("38C16A305E8CDC8D");end, + ["_0xF239400E16C23E08"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("F239400E16C23E08");end, + ["_0xA0CEFCEA390AAB9B"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A0CEFCEA390AAB9B");end, + ["IS_LOOK_INVERTED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("77B612531280010D");return native_invoker.get_return_value_bool();end, + -- Used with IS_LOOK_INVERTED() and negates its affect. + -- + -- -- + -- + -- Not sure how the person above got that description, but here's an actual example: + -- + -- if (PAD::_GET_LAST_INPUT_METHOD(2)) { + -- if (a_5) { + -- if (PAD::IS_LOOK_INVERTED()) { + -- a_3 *= -1; + -- } + -- if (PAD::_E1615EC03B3BB4FD()) { + -- a_3 *= -1; + -- } + -- } + -- } + ["_0xE1615EC03B3BB4FD"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("E1615EC03B3BB4FD");return native_invoker.get_return_value_bool();end, + -- Returns the local player's targeting mode. See PLAYER::SET_PLAYER_TARGETING_MODE. + ["GET_LOCAL_PLAYER_AIM_STATE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("BB41AFBBBC0A0287");return native_invoker.get_return_value_int();end, + -- Same behavior as GET_LOCAL_PLAYER_AIM_STATE but only used on the PC version. + ["_GET_LOCAL_PLAYER_AIM_STATE_2"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("59B9A7AF4C95133C");return native_invoker.get_return_value_int();end, + ["_0x25AAA32BDC98F2A3"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("25AAA32BDC98F2A3");return native_invoker.get_return_value_int();end, + -- Returns profile setting 225. + ["GET_IS_USING_ALTERNATE_DRIVEBY"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("0F70731BACCFBB96");return native_invoker.get_return_value_bool();end, + -- Returns profile setting 17. + ["GET_ALLOW_MOVEMENT_WHILE_ZOOMED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("FC859E2374407556");return native_invoker.get_return_value_bool();end, + ["SET_PLAYERPAD_SHAKES_WHEN_CONTROLLER_DISABLED"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("798FDEB5B1575088");end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["SET_INPUT_EXCLUSIVE"]=--[[void]] function(--[[int]] padIndex,--[[int]] control)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.end_call("EDE476E5EE29EDB1");end, + -- control values and meaning: github.com/crosire/scripthookvdotnet/blob/dev_v3/source/scripting/Controls.cs + -- + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + -- + -- Control values from the decompiled scripts: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27, + -- 28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,5 + -- 4,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78, + -- 79,80,81,82,85,86,87,88,89,90,91,92,93,95,96,97,98,99,100,101,102,103,105, + -- 107,108,109,110,111,112,113,114,115,116,117,118,119,123,126,129,130,131,132, + -- 133,134,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152, + -- 153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172 + -- ,177,187,188,189,190,195,196,199,200,201,202,203,205,207,208,209,211,212,213, 217,219,220,221,225,226,230,234,235,236,237,238,239,240,241,242,243,244,257, + -- 261,262,263,264,265,270,271,272,273,274,278,279,280,281,282,283,284,285,286, + -- 287,288,289,337. + -- + -- Example: PAD::DISABLE_CONTROL_ACTION(2, 19, true) disables the switching UI from appearing both when using a keyboard and Xbox 360 controller. Needs to be executed each frame. + -- + -- Control group 1 and 0 gives the same results as 2. Same results for all players. + ["DISABLE_CONTROL_ACTION"]=--[[void]] function(--[[int]] padIndex,--[[int]] control,--[[BOOL (bool)]] disable)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.push_arg_bool(disable);native_invoker.end_call("FE99B66D079CF6BC");end, + -- control values and meaning: github.com/crosire/scripthookvdotnet/blob/dev/source/scripting/Controls.hpp + -- + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + -- + -- Control values from the decompiled scripts: + -- 0,1,2,3,4,5,6,8,9,10,11,14,15,16,17,19,21,22,24,25,26,30,31,32,33,34,35,36, + -- 37,44,46,47,59,60,65,68,69,70,71,72,73,74,75,76,79,80,81,82,86,95,98,99,100 + -- ,101,114,140,141,143,172,173,174,175,176,177,178,179,180,181,187,188,189,19 + -- 0,195,196,197,198,199,201,202,203,204,205,206,207,208,209,210,217,218,219,2 + -- 20,221,225,228,229,230,231,234,235,236,237,238,239,240,241,242,245,246,257, + -- 261,262,263,264,286,287,288,289,337,338,339,340,341,342,343 + -- + -- INPUTGROUP_MOVE + -- INPUTGROUP_LOOK + -- INPUTGROUP_WHEEL + -- INPUTGROUP_CELLPHONE_NAVIGATE + -- INPUTGROUP_CELLPHONE_NAVIGATE_UD + -- INPUTGROUP_CELLPHONE_NAVIGATE_LR + -- INPUTGROUP_FRONTEND_DPAD_ALL + -- INPUTGROUP_FRONTEND_DPAD_UD + -- INPUTGROUP_FRONTEND_DPAD_LR + -- INPUTGROUP_FRONTEND_LSTICK_ALL + -- INPUTGROUP_FRONTEND_RSTICK_ALL + -- INPUTGROUP_FRONTEND_GENERIC_UD + -- INPUTGROUP_FRONTEND_GENERIC_LR + -- INPUTGROUP_FRONTEND_GENERIC_ALL + -- INPUTGROUP_FRONTEND_BUMPERS + -- INPUTGROUP_FRONTEND_TRIGGERS + -- INPUTGROUP_FRONTEND_STICKS + -- INPUTGROUP_SCRIPT_DPAD_ALL + -- INPUTGROUP_SCRIPT_DPAD_UD + -- INPUTGROUP_SCRIPT_DPAD_LR + -- INPUTGROUP_SCRIPT_LSTICK_ALL + -- INPUTGROUP_SCRIPT_RSTICK_ALL + -- INPUTGROUP_SCRIPT_BUMPERS + -- INPUTGROUP_SCRIPT_TRIGGERS + -- INPUTGROUP_WEAPON_WHEEL_CYCLE + -- INPUTGROUP_FLY + -- INPUTGROUP_SUB + -- INPUTGROUP_VEH_MOVE_ALL + -- INPUTGROUP_CURSOR + -- INPUTGROUP_CURSOR_SCROLL + -- INPUTGROUP_SNIPER_ZOOM_SECONDARY + -- INPUTGROUP_VEH_HYDRAULICS_CONTROL + -- + -- + -- Took those in IDA Pro.Not sure in which order they go + ["ENABLE_CONTROL_ACTION"]=--[[void]] function(--[[int]] padIndex,--[[int]] control,--[[BOOL (bool)]] enable)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.push_arg_int(control);native_invoker.push_arg_bool(enable);native_invoker.end_call("351220255D64C155");end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["DISABLE_ALL_CONTROL_ACTIONS"]=--[[void]] function(--[[int]] padIndex)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.end_call("5F4B6931816E599B");end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + ["ENABLE_ALL_CONTROL_ACTIONS"]=--[[void]] function(--[[int]] padIndex)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.end_call("A5FFE9B05F199DE7");end, + -- Used in carsteal3 script with p0 = "Carsteal4_spycar". + -- + -- S* + ["_SWITCH_TO_INPUT_MAPPING_SCHEME"]=--[[BOOL (bool)]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("3D42B92563939375");return native_invoker.get_return_value_bool();end, + -- Same as 0x3D42B92563939375 + -- + -- S* + ["_SWITCH_TO_INPUT_MAPPING_SCHEME_2"]=--[[BOOL (bool)]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("4683149ED1DDE7A1");return native_invoker.get_return_value_bool();end, + -- S* + ["_RESET_INPUT_MAPPING_SCHEME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("643ED62D5EA3BEBD");end, + -- padIndex: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts. + -- + -- A* + ["_0x7F4724035FDCA1DD"]=--[[void]] function(--[[int]] padIndex)native_invoker.begin_call();native_invoker.push_arg_int(padIndex);native_invoker.end_call("7F4724035FDCA1DD");end, +} +PATHFIND={ + -- When nodeEnabled is set to false, all nodes in the area get disabled. + -- `GET_VEHICLE_NODE_IS_SWITCHED_OFF` returns true afterwards. + -- If it's true, `GET_VEHICLE_NODE_IS_SWITCHED_OFF` returns false. + ["SET_ROADS_IN_AREA"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[BOOL (bool)]] nodeEnabled,--[[BOOL (bool)]] unknown2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_bool(nodeEnabled);native_invoker.push_arg_bool(unknown2);native_invoker.end_call("BF1A602B5BA52FEE");end, + -- unknown3 is related to `SEND_SCRIPT_WORLD_STATE_EVENT > CNetworkRoadNodeWorldStateData` in networked environments. + -- See IS_POINT_IN_ANGLED_AREA for the definition of an angled area. + ["SET_ROADS_IN_ANGLED_AREA"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] width,--[[BOOL (bool)]] unknown1,--[[BOOL (bool)]] unknown2,--[[BOOL (bool)]] unknown3)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(width);native_invoker.push_arg_bool(unknown1);native_invoker.push_arg_bool(unknown2);native_invoker.push_arg_bool(unknown3);native_invoker.end_call("1A5AA1208AF5DB59");end, + ["SET_PED_PATHS_IN_AREA"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[BOOL (bool)]] unknown,--[[Any (int)]] p7)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_bool(unknown);native_invoker.push_arg_int(p7);native_invoker.end_call("34F060F4BF92E018");end, + -- Flags are: + -- 1 = 1 = B02_IsFootpath + -- 2 = 4 = !B15_InteractionUnk + -- 4 = 0x20 = !B14_IsInterior + -- 8 = 0x40 = !B07_IsWater + -- 16 = 0x200 = B17_IsFlatGround + -- When onGround == true outPosition is a position located on the nearest pavement. + -- + -- When a safe coord could not be found the result of a function is false and outPosition == Vector3.Zero. + -- + -- In the scripts these flags are used: 0, 14, 12, 16, 20, 21, 28. 0 is most commonly used, then 16. + -- + -- 16 works for me, 0 crashed the script. + ["GET_SAFE_COORD_FOR_PED"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] onGround,--[[Vector3* (pointer)]] outPosition,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(onGround);native_invoker.push_arg_pointer(outPosition);native_invoker.push_arg_int(flags);native_invoker.end_call("B61C8E878A4199CA");return native_invoker.get_return_value_bool();end, + -- FYI: When falling through the map (or however you got under it) you will respawn when your player ped's height is <= -200.0 meters (I think you all know this) and when in a vehicle you will actually respawn at the closest vehicle node. + -- + -- ---------- + -- + -- Vector3 nodePos; + -- GET_CLOSEST_VEHICLE_NODE(x,y,z,&nodePos,...) + -- + -- p4 is either 0, 1 or 8. 1 means any path/road. 0 means node in the middle of the closest main (asphalt) road. + -- p5, p6 are always the same: + -- 0x40400000 (3.0), 0 + -- p5 can also be 100.0 and p6 can be 2.5: + -- PATHFIND::GET_CLOSEST_VEHICLE_NODE(a_0, &v_5, v_9, 100.0, 2.5) + -- + -- Known node types: simple path/asphalt road, only asphalt road, water, under the map at always the same coords. + -- + -- The node types follows a pattern. For example, every fourth node is of the type water i.e. 3, 7, 11, 15, 19, 23, 27, 31, 35, 39... 239. Could not see any difference between nodes within certain types. + -- Starting at 2, every fourth node is under the map, always same coords. + -- Same with only asphalt road (0, 4, 8, etc) and simple path/asphalt road (1, 5, 9, etc). + -- + -- gtaforums.com/topic/843561-pathfind-node-types + ["GET_CLOSEST_VEHICLE_NODE"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[Vector3* (pointer)]] outPosition,--[[int]] nodeType,--[[float]] p5,--[[float]] p6)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_pointer(outPosition);native_invoker.push_arg_int(nodeType);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.end_call("240A18690AE96513");return native_invoker.get_return_value_bool();end, + -- Get the closest vehicle node to a given position, unknown1 = 3.0, unknown2 = 0 + ["GET_CLOSEST_MAJOR_VEHICLE_NODE"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[Vector3* (pointer)]] outPosition,--[[float]] unknown1,--[[int]] unknown2)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_pointer(outPosition);native_invoker.push_arg_float(unknown1);native_invoker.push_arg_int(unknown2);native_invoker.end_call("2EABE3B06F58C1BE");return native_invoker.get_return_value_bool();end, + -- p5, p6 and p7 seems to be about the same as p4, p5 and p6 for GET_CLOSEST_VEHICLE_NODE. p6 and/or p7 has something to do with finding a node on the same path/road and same direction(at least for this native, something to do with the heading maybe). Edit this when you find out more. + -- + -- p5 is either 1 or 12. 1 means any path/road. 12, 8, 0 means node in the middle of the closest main (asphalt) road. + -- p6 is always 3.0 + -- p7 is always 0. + -- + -- Known node types: simple path/asphalt road, only asphalt road, water, under the map at always the same coords. + -- + -- The node types follows a pattern. For example, every fourth node is of the type water i.e. 3, 7, 11, 15, 19, 23, 27, 31, 35, 39... 239. Could not see any difference between nodes within certain types. + -- Starting at 2, every fourth node is under the map, always same coords. + -- Same with only asphalt road (0, 4, 8, etc) and simple path/asphalt road (1, 5, 9, etc). + -- + -- gtaforums.com/topic/843561-pathfind-node-types + -- + -- Example of usage, moving vehicle to closest path/road: + -- Vector3 coords = ENTITY::GET_ENTITY_COORDS(playerVeh, true); + -- Vector3 closestVehicleNodeCoords; + -- float roadHeading; + -- PATHFIND::GET_CLOSEST_VEHICLE_NODE_WITH_HEADING(coords.x, coords.y, coords.z, &closestVehicleNodeCoords, &roadHeading, 1, 3, 0); + -- ENTITY::SET_ENTITY_HEADING(playerVeh, roadHeading); + -- ENTITY::SET_ENTITY_COORDS(playerVeh, closestVehicleNodeCoords.x, closestVehicleNodeCoords.y, closestVehicleNodeCoords.z, 1, 0, 0, 1); + -- VEHICLE::SET_VEHICLE_ON_GROUND_PROPERLY(playerVeh); + -- + -- ------------------------------------------------------------------ + -- C# Example (ins1de) : pastebin.com/fxtMWAHD + ["GET_CLOSEST_VEHICLE_NODE_WITH_HEADING"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[Vector3* (pointer)]] outPosition,--[[float* (pointer)]] outHeading,--[[int]] nodeType,--[[float]] p6,--[[int]] p7)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_pointer(outPosition);native_invoker.push_arg_pointer(outHeading);native_invoker.push_arg_int(nodeType);native_invoker.push_arg_float(p6);native_invoker.push_arg_int(p7);native_invoker.end_call("FF071FB798B803B0");return native_invoker.get_return_value_bool();end, + ["GET_NTH_CLOSEST_VEHICLE_NODE"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] nthClosest,--[[Vector3* (pointer)]] outPosition,--[[Any (int)]] unknown1,--[[Any (int)]] unknown2,--[[Any (int)]] unknown3)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(nthClosest);native_invoker.push_arg_pointer(outPosition);native_invoker.push_arg_int(unknown1);native_invoker.push_arg_int(unknown2);native_invoker.push_arg_int(unknown3);native_invoker.end_call("E50E52416CCF948B");return native_invoker.get_return_value_bool();end, + -- Returns the id. + ["GET_NTH_CLOSEST_VEHICLE_NODE_ID"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] nth,--[[int]] nodetype,--[[float]] p5,--[[float]] p6)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(nth);native_invoker.push_arg_int(nodetype);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.end_call("22D7275A79FE8215");return native_invoker.get_return_value_int();end, + -- Get the nth closest vehicle node and its heading. (unknown2 = 9, unknown3 = 3.0, unknown4 = 2.5) + ["GET_NTH_CLOSEST_VEHICLE_NODE_WITH_HEADING"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] nthClosest,--[[Vector3* (pointer)]] outPosition,--[[float* (pointer)]] outHeading,--[[Any* (pointer)]] unknown1,--[[int]] unknown2,--[[float]] unknown3,--[[float]] unknown4)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(nthClosest);native_invoker.push_arg_pointer(outPosition);native_invoker.push_arg_pointer(outHeading);native_invoker.push_arg_pointer(unknown1);native_invoker.push_arg_int(unknown2);native_invoker.push_arg_float(unknown3);native_invoker.push_arg_float(unknown4);native_invoker.end_call("80CA6A8B6C094CC4");return native_invoker.get_return_value_bool();end, + ["GET_NTH_CLOSEST_VEHICLE_NODE_ID_WITH_HEADING"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] nthClosest,--[[Vector3* (pointer)]] outPosition,--[[float* (pointer)]] outHeading,--[[Any (int)]] p6,--[[float]] p7,--[[float]] p8)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(nthClosest);native_invoker.push_arg_pointer(outPosition);native_invoker.push_arg_pointer(outHeading);native_invoker.push_arg_int(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.end_call("6448050E9C2A7207");return native_invoker.get_return_value_int();end, + -- See gtaforums.com/topic/843561-pathfind-node-types for node type info. 0 = paved road only, 1 = any road, 3 = water + -- + -- p10 always equals 3.0 + -- p11 always equals 0 + ["GET_NTH_CLOSEST_VEHICLE_NODE_FAVOUR_DIRECTION"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] desiredX,--[[float]] desiredY,--[[float]] desiredZ,--[[int]] nthClosest,--[[Vector3* (pointer)]] outPosition,--[[float* (pointer)]] outHeading,--[[int]] nodetype,--[[float]] p10,--[[Any (int)]] p11)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(desiredX);native_invoker.push_arg_float(desiredY);native_invoker.push_arg_float(desiredZ);native_invoker.push_arg_int(nthClosest);native_invoker.push_arg_pointer(outPosition);native_invoker.push_arg_pointer(outHeading);native_invoker.push_arg_int(nodetype);native_invoker.push_arg_float(p10);native_invoker.push_arg_int(p11);native_invoker.end_call("45905BE8654AE067");return native_invoker.get_return_value_bool();end, + -- MulleDK19: Gets the density and flags of the closest node to the specified position. + -- Density is a value between 0 and 15, indicating how busy the road is. + -- Flags is a bit field. + ["GET_VEHICLE_NODE_PROPERTIES"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int* (pointer)]] density,--[[int* (pointer)]] flags)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_pointer(density);native_invoker.push_arg_pointer(flags);native_invoker.end_call("0568566ACBB5DEDC");return native_invoker.get_return_value_bool();end, + -- Returns true if the id is non zero. + ["IS_VEHICLE_NODE_ID_VALID"]=--[[BOOL (bool)]] function(--[[int]] vehicleNodeId)native_invoker.begin_call();native_invoker.push_arg_int(vehicleNodeId);native_invoker.end_call("1EAF30FCFBF5AF74");return native_invoker.get_return_value_bool();end, + -- Calling this with an invalid node id, will crash the game. + -- Note that IS_VEHICLE_NODE_ID_VALID simply checks if nodeId is not zero. It does not actually ensure that the id is valid. + -- Eg. IS_VEHICLE_NODE_ID_VALID(1) will return true, but will crash when calling GET_VEHICLE_NODE_POSITION(). + ["GET_VEHICLE_NODE_POSITION"]=--[[void]] function(--[[int]] nodeId,--[[Vector3* (pointer)]] outPosition)native_invoker.begin_call();native_invoker.push_arg_int(nodeId);native_invoker.push_arg_pointer(outPosition);native_invoker.end_call("703123E5E7D429C2");end, + -- Returns false for nodes that aren't used for GPS routes. + -- Example: + -- Nodes in Fort Zancudo and LSIA are false + ["GET_VEHICLE_NODE_IS_GPS_ALLOWED"]=--[[BOOL (bool)]] function(--[[int]] nodeID)native_invoker.begin_call();native_invoker.push_arg_int(nodeID);native_invoker.end_call("A2AE5C478B96E3B6");return native_invoker.get_return_value_bool();end, + -- Returns true when the node is Offroad. Alleys, some dirt roads, and carparks return true. + -- Normal roads where plenty of Peds spawn will return false + ["GET_VEHICLE_NODE_IS_SWITCHED_OFF"]=--[[BOOL (bool)]] function(--[[int]] nodeID)native_invoker.begin_call();native_invoker.push_arg_int(nodeID);native_invoker.end_call("4F5070AA58F69279");return native_invoker.get_return_value_bool();end, + -- p1 seems to be always 1.0f in the scripts + ["GET_CLOSEST_ROAD"]=--[[Any (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p3,--[[int]] p4,--[[Vector3* (pointer)]] p5,--[[Vector3* (pointer)]] p6,--[[Any* (pointer)]] p7,--[[Any* (pointer)]] p8,--[[float* (pointer)]] p9,--[[BOOL (bool)]] p10)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_pointer(p5);native_invoker.push_arg_pointer(p6);native_invoker.push_arg_pointer(p7);native_invoker.push_arg_pointer(p8);native_invoker.push_arg_pointer(p9);native_invoker.push_arg_bool(p10);native_invoker.end_call("132F52BBA570FE92");return native_invoker.get_return_value_int();end, + -- Toggles a global boolean, name is probably a hash collision but describes its functionality. + ["_SET_ALL_PATHS_CACHE_BOUNDINGSTRUCT"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("228E5C6AD4D74BFD");end, + -- Activates Cayo Perico path nodes if passed `1`. GPS navigation will start working, maybe more stuff will change, not sure. It seems if you try to unload (pass `0`) when close to the island, your game might crash. + ["_SET_AI_GLOBAL_PATH_NODES_TYPE"]=--[[void]] function(--[[int]] type)native_invoker.begin_call();native_invoker.push_arg_int(type);native_invoker.end_call("F74B1FFA4A15FBEA");end, + -- ARE_* + ["_ARE_PATH_NODES_LOADED_IN_AREA"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] x2,--[[float]] y2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.end_call("F7B79A50B905A30D");return native_invoker.get_return_value_bool();end, + -- Used internally for long range tasks + ["_REQUEST_PATHS_PREFER_ACCURATE_BOUNDINGSTRUCT"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] x2,--[[float]] y2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.end_call("07FB139B592FA687");return native_invoker.get_return_value_bool();end, + -- missing a last parameter int p6 + ["SET_ROADS_BACK_TO_ORIGINAL"]=--[[void]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("1EE7063B80FFC77C");end, + -- See IS_POINT_IN_ANGLED_AREA for the definition of an angled area. + -- bool p7 - always 1 + ["SET_ROADS_BACK_TO_ORIGINAL_IN_ANGLED_AREA"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] width,--[[Any (int)]] p7)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(width);native_invoker.push_arg_int(p7);native_invoker.end_call("0027501B9F3B407E");end, + ["SET_AMBIENT_PED_RANGE_MULTIPLIER_THIS_FRAME"]=--[[void]] function(--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_float(multiplier);native_invoker.end_call("0B919E1FB47CC4E0");end, + ["_0xAA76052DDA9BFC3E"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("AA76052DDA9BFC3E");end, + ["SET_PED_PATHS_BACK_TO_ORIGINAL"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("E04B48F2CC926253");end, + ["GET_RANDOM_VEHICLE_NODE"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] p6,--[[Vector3* (pointer)]] outPosition,--[[int* (pointer)]] nodeId)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_pointer(outPosition);native_invoker.push_arg_pointer(nodeId);native_invoker.end_call("93E0DB8440B73A7D");return native_invoker.get_return_value_bool();end, + -- Determines the name of the street which is the closest to the given coordinates. + -- + -- x,y,z - the coordinates of the street + -- streetName - returns a hash to the name of the street the coords are on + -- crossingRoad - if the coordinates are on an intersection, a hash to the name of the crossing road + -- + -- Note: the names are returned as hashes, the strings can be returned using the function HUD::GET_STREET_NAME_FROM_HASH_KEY. + ["GET_STREET_NAME_AT_COORD"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[Hash* (pointer)]] streetName,--[[Hash* (pointer)]] crossingRoad)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_pointer(streetName);native_invoker.push_arg_pointer(crossingRoad);native_invoker.end_call("2EB41072B4C1E4C0");end, + -- p3 is 0 in the only game script occurrence (trevor3) but 1 doesn't seem to make a difference + -- + -- distToNxJunction seems to be the distance in metres * 10.0f + -- + -- direction: + -- 0 = This happens randomly during the drive for seemingly no reason but if you consider that this native is only used in trevor3, it seems to mean "Next frame, stop whatever's being said and tell the player the direction." + -- 1 = Route is being calculated or the player is going in the wrong direction + -- 2 = Please Proceed the Highlighted Route + -- 3 = In (distToNxJunction) Turn Left + -- 4 = In (distToNxJunction) Turn Right + -- 5 = In (distToNxJunction) Keep Straight + -- 6 = In (distToNxJunction) Turn Sharply To The Left + -- 7 = In (distToNxJunction) Turn Sharply To The Right + -- 8 = Route is being recalculated or the navmesh is confusing. This happens randomly during the drive but consistently at {2044.0358, 2996.6116, 44.9717} if you face towards the bar and the route needs you to turn right. In that particular case, it could be a bug with how the turn appears to be 270 deg. CCW instead of "right." Either way, this seems to be the engine saying "I don't know the route right now." + -- + -- return value set to 0 always + ["GENERATE_DIRECTIONS_TO_COORD"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] p3,--[[int* (pointer)]] direction,--[[float* (pointer)]] p5,--[[float* (pointer)]] distToNxJunction)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(p3);native_invoker.push_arg_pointer(direction);native_invoker.push_arg_pointer(p5);native_invoker.push_arg_pointer(distToNxJunction);native_invoker.end_call("F90125F1F79ECDF8");return native_invoker.get_return_value_int();end, + ["SET_IGNORE_NO_GPS_FLAG"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("72751156E7678833");end, + -- See: SET_BLIP_ROUTE + ["_SET_IGNORE_SECONDARY_ROUTE_NODES"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("1FC289A0C3FF470F");end, + ["SET_GPS_DISABLED_ZONE"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z3)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z3);native_invoker.end_call("DC20483CD3DD5201");end, + ["GET_GPS_BLIP_ROUTE_LENGTH"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("BBB45C3CF5C8AA85");return native_invoker.get_return_value_int();end, + ["_0xF3162836C28F9DA5"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("F3162836C28F9DA5");return native_invoker.get_return_value_int();end, + ["GET_GPS_BLIP_ROUTE_FOUND"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("869DAACBBE9FA006");return native_invoker.get_return_value_bool();end, + ["_GET_ROAD_SIDE_POINT_WITH_HEADING"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading,--[[Vector3* (pointer)]] outPosition)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.push_arg_pointer(outPosition);native_invoker.end_call("A0F8A7517A273C05");return native_invoker.get_return_value_bool();end, + ["_GET_POINT_ON_ROAD_SIDE"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] p3,--[[Vector3* (pointer)]] outPosition)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(p3);native_invoker.push_arg_pointer(outPosition);native_invoker.end_call("16F46FB18C8009E4");return native_invoker.get_return_value_bool();end, + -- Gets a value indicating whether the specified position is on a road. + -- The vehicle parameter is not implemented (ignored). + -- + -- -MulleDK19 + ["IS_POINT_ON_ROAD"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(vehicle);native_invoker.end_call("125BF4ABFC536B09");return native_invoker.get_return_value_bool();end, + -- Gets the next zone that has been disabled using SET_GPS_DISABLED_ZONE_AT_INDEX. + ["GET_NEXT_GPS_DISABLED_ZONE_INDEX"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("D3A6A0EF48823A8C");return native_invoker.get_return_value_int();end, + -- Disables the GPS route displayed on the minimap while within a certain zone (area). When in a disabled zone and creating a waypoint, the GPS route is not shown on the minimap until you are outside of the zone. When disabled, the direct distance is shown on minimap opposed to distance to travel. Seems to only work before setting a waypoint. + -- You can clear the disabled zone with CLEAR_GPS_DISABLED_ZONE_AT_INDEX. + -- + -- **Setting a waypoint at the same coordinate:** + -- Disabled Zone: https://i.imgur.com/P9VUuxM.png + -- Enabled Zone (normal): https://i.imgur.com/BPi24aw.png + ["SET_GPS_DISABLED_ZONE_AT_INDEX"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(index);native_invoker.end_call("D0BC1C6FB18EE154");end, + -- Clears a disabled GPS route area from a certain index previously set using `SET_GPS_DISABLED_ZONE_AT_INDEX`. + ["CLEAR_GPS_DISABLED_ZONE_AT_INDEX"]=--[[void]] function(--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.end_call("2801D0012266DF07");end, + ["ADD_NAVMESH_REQUIRED_REGION"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(radius);native_invoker.end_call("387EAD7EE42F6685");end, + ["REMOVE_NAVMESH_REQUIRED_REGIONS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("916F0A3CDEC3445E");end, + -- IS_* + ["_IS_NAVMESH_REQUIRED_REGION_OWNED_BY_ANY_THREAD"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("705A844002B39DC0");return native_invoker.get_return_value_bool();end, + ["DISABLE_NAVMESH_IN_AREA"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("4C8872D8CDBE1B8B");end, + ["ARE_ALL_NAVMESH_REGIONS_LOADED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("8415D95B194A3AEA");return native_invoker.get_return_value_bool();end, + -- Returns whether navmesh for the region is loaded. The region is a rectangular prism defined by it's top left deepest corner to it's bottom right shallowest corner. + -- + -- If you can re-word this so it makes more sense, please do. I'm horrible with words sometimes... + ["IS_NAVMESH_LOADED_IN_AREA"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.end_call("F813C7E63F9062A5");return native_invoker.get_return_value_bool();end, + ["_0x01708E8DD3FF8C65"]=--[[Any (int)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.end_call("01708E8DD3FF8C65");return native_invoker.get_return_value_int();end, + ["ADD_NAVMESH_BLOCKING_OBJECT"]=--[[Any (int)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[BOOL (bool)]] p7,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_bool(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("FCD5C8E06E502F5A");return native_invoker.get_return_value_int();end, + ["UPDATE_NAVMESH_BLOCKING_OBJECT"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("109E99373F290687");end, + ["REMOVE_NAVMESH_BLOCKING_OBJECT"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("46399A7895957C0E");end, + ["DOES_NAVMESH_BLOCKING_OBJECT_EXIST"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("0EAEB0DB4B132399");return native_invoker.get_return_value_bool();end, + -- Returns CGameWorldHeightMap's maximum Z value at specified point (grid node). + ["_GET_HEIGHTMAP_TOP_Z_FOR_POSITION"]=--[[float]] function(--[[float]] x,--[[float]] y)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.end_call("29C24BFBED8AB8FB");return native_invoker.get_return_value_float();end, + -- Returns CGameWorldHeightMap's maximum Z among all grid nodes that intersect with the specified rectangle. + ["_GET_HEIGHTMAP_TOP_Z_FOR_AREA"]=--[[float]] function(--[[float]] x1,--[[float]] y1,--[[float]] x2,--[[float]] y2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.end_call("8ABE8608576D9CE3");return native_invoker.get_return_value_float();end, + -- Returns CGameWorldHeightMap's minimum Z value at specified point (grid node). + ["_GET_HEIGHTMAP_BOTTOM_Z_FOR_POSITION"]=--[[float]] function(--[[float]] x,--[[float]] y)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.end_call("336511A34F2E5185");return native_invoker.get_return_value_float();end, + -- Returns CGameWorldHeightMap's minimum Z among all grid nodes that intersect with the specified rectangle. + ["_GET_HEIGHTMAP_BOTTOM_Z_FOR_AREA"]=--[[float]] function(--[[float]] x1,--[[float]] y1,--[[float]] x2,--[[float]] y2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.end_call("3599D741C9AC6310");return native_invoker.get_return_value_float();end, + -- Calculates the travel distance between a set of points. + -- + -- Doesn't seem to correlate with distance on gps sometimes. + -- This function returns the value 100000.0 over long distances, seems to be a failure mode result, potentially occurring when not all path nodes are loaded into pathfind. + ["CALCULATE_TRAVEL_DISTANCE_BETWEEN_POINTS"]=--[[float]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.end_call("ADD95C7005C4A197");return native_invoker.get_return_value_float();end, +} +PED={ + -- https://alloc8or.re/gta5/doc/enums/ePedType.txt + -- + -- Full list of peds by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/peds.json + ["CREATE_PED"]=--[[Ped (int)]] function(--[[int]] pedType,--[[Hash (int)]] modelHash,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading,--[[BOOL (bool)]] isNetwork,--[[BOOL (bool)]] netMissionEntity)native_invoker.begin_call();native_invoker.push_arg_int(pedType);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.push_arg_bool(isNetwork);native_invoker.push_arg_bool(netMissionEntity);native_invoker.end_call("D49F9B0955C367DE");return native_invoker.get_return_value_int();end, + -- Deletes the specified ped, then sets the handle pointed to by the pointer to NULL. + ["DELETE_PED"]=--[[void]] function(--[[Ped* (pointer)]] ped)native_invoker.begin_call();native_invoker.push_arg_pointer(ped);native_invoker.end_call("9614299DCB53E54B");end, + -- Example of Cloning Your Player: + -- CLONE_PED(PLAYER_PED_ID(), GET_ENTITY_HEADING(PLAYER_PED_ID()), 0, 1); + ["CLONE_PED"]=--[[Ped (int)]] function(--[[Ped (int)]] ped,--[[float]] heading,--[[BOOL (bool)]] isNetwork,--[[BOOL (bool)]] netMissionEntity)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(heading);native_invoker.push_arg_bool(isNetwork);native_invoker.push_arg_bool(netMissionEntity);native_invoker.end_call("EF29A16337FACADB");return native_invoker.get_return_value_int();end, + -- Used one time in fmmc_launcher.c instead of CLONE_PED because ? + ["_CLONE_PED_EX"]=--[[Ped (int)]] function(--[[Ped (int)]] ped,--[[float]] heading,--[[BOOL (bool)]] isNetwork,--[[BOOL (bool)]] netMissionEntity,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(heading);native_invoker.push_arg_bool(isNetwork);native_invoker.push_arg_bool(netMissionEntity);native_invoker.push_arg_int(p4);native_invoker.end_call("668FD40BCBA5DE48");return native_invoker.get_return_value_int();end, + -- Copies ped's components and props to targetPed. + ["CLONE_PED_TO_TARGET"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] targetPed)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(targetPed);native_invoker.end_call("E952D6431689AD9A");end, + ["_CLONE_PED_TO_TARGET_EX"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] targetPed,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(targetPed);native_invoker.push_arg_int(p2);native_invoker.end_call("148B08C2D2ACB884");end, + -- Gets a value indicating whether the specified ped is in the specified vehicle. + -- + -- If 'atGetIn' is false, the function will not return true until the ped is sitting in the vehicle and is about to close the door. If it's true, the function returns true the moment the ped starts to get onto the seat (after opening the door). Eg. if false, and the ped is getting into a submersible, the function will not return true until the ped has descended down into the submersible and gotten into the seat, while if it's true, it'll return true the moment the hatch has been opened and the ped is about to descend into the submersible. + ["IS_PED_IN_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] atGetIn)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(atGetIn);native_invoker.end_call("A3EE4A07279BB9DB");return native_invoker.get_return_value_bool();end, + ["IS_PED_IN_MODEL"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(modelHash);native_invoker.end_call("796D90EFB19AA332");return native_invoker.get_return_value_bool();end, + -- Gets a value indicating whether the specified ped is in any vehicle. + -- + -- If 'atGetIn' is false, the function will not return true until the ped is sitting in the vehicle and is about to close the door. If it's true, the function returns true the moment the ped starts to get onto the seat (after opening the door). Eg. if false, and the ped is getting into a submersible, the function will not return true until the ped has descended down into the submersible and gotten into the seat, while if it's true, it'll return true the moment the hatch has been opened and the ped is about to descend into the submersible. + ["IS_PED_IN_ANY_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] atGetIn)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(atGetIn);native_invoker.end_call("997ABD671D25CA0B");return native_invoker.get_return_value_bool();end, + -- xyz - relative to the world origin. + ["IS_COP_PED_IN_AREA_3D"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.end_call("16EC4839969F9F5E");return native_invoker.get_return_value_bool();end, + -- Gets a value indicating whether this ped's health is below its injured threshold. + -- + -- The default threshold is 100. + ["IS_PED_INJURED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("84A2DD9AC37C35C1");return native_invoker.get_return_value_bool();end, + -- Returns whether the specified ped is hurt. + ["IS_PED_HURT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("5983BB449D7FDB12");return native_invoker.get_return_value_bool();end, + -- Gets a value indicating whether this ped's health is below its fatally injured threshold. The default threshold is 100. + -- If the handle is invalid, the function returns true. + ["IS_PED_FATALLY_INJURED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("D839450756ED5A80");return native_invoker.get_return_value_bool();end, + -- Seems to consistently return true if the ped is dead. + -- + -- p1 is always passed 1 in the scripts. + -- + -- I suggest to remove "OR_DYING" part, because it does not detect dying phase. + -- + -- That's what the devs call it, cry about it. + -- + -- lol + ["IS_PED_DEAD_OR_DYING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("3317DEDB88C95038");return native_invoker.get_return_value_bool();end, + ["IS_CONVERSATION_PED_DEAD"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("E0A0AEC214B1FABA");return native_invoker.get_return_value_bool();end, + ["IS_PED_AIMING_FROM_COVER"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("3998B1276A3300E5");return native_invoker.get_return_value_bool();end, + -- Returns whether the specified ped is reloading. + ["IS_PED_RELOADING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("24B100C68C645951");return native_invoker.get_return_value_bool();end, + -- Returns true if the given ped has a valid pointer to CPlayerInfo in its CPed class. That's all. + ["IS_PED_A_PLAYER"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("12534C348C6CB68B");return native_invoker.get_return_value_bool();end, + -- pedType: see CREATE_PED + -- + -- Full list of peds by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/peds.json + ["CREATE_PED_INSIDE_VEHICLE"]=--[[Ped (int)]] function(--[[Vehicle (int)]] vehicle,--[[int]] pedType,--[[Hash (int)]] modelHash,--[[int]] seat,--[[BOOL (bool)]] isNetwork,--[[BOOL (bool)]] netMissionEntity)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(pedType);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_int(seat);native_invoker.push_arg_bool(isNetwork);native_invoker.push_arg_bool(netMissionEntity);native_invoker.end_call("7DD959874C1FD534");return native_invoker.get_return_value_int();end, + ["SET_PED_DESIRED_HEADING"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] heading)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(heading);native_invoker.end_call("AA5A7ECE2AA8FE70");end, + ["_FREEZE_PED_CAMERA_ROTATION"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("FF287323B0E2C69A");end, + -- angle is ped's view cone + ["IS_PED_FACING_PED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Ped (int)]] otherPed,--[[float]] angle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(otherPed);native_invoker.push_arg_float(angle);native_invoker.end_call("D71649DB0A545AA3");return native_invoker.get_return_value_bool();end, + -- Notes: The function only returns true while the ped is: + -- A.) Swinging a random melee attack (including pistol-whipping) + -- + -- B.) Reacting to being hit by a melee attack (including pistol-whipping) + -- + -- C.) Is locked-on to an enemy (arms up, strafing/skipping in the default fighting-stance, ready to dodge+counter). + -- + -- You don't have to be holding the melee-targetting button to be in this stance; you stay in it by default for a few seconds after swinging at someone. If you do a sprinting punch, it returns true for the duration of the punch animation and then returns false again, even if you've punched and made-angry many peds + ["IS_PED_IN_MELEE_COMBAT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("4E209B2C1EAD5159");return native_invoker.get_return_value_bool();end, + -- Returns true if the ped doesn't do any movement. If the ped is being pushed forwards by using APPLY_FORCE_TO_ENTITY for example, the function returns false. + ["IS_PED_STOPPED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("530944F6F4B8A214");return native_invoker.get_return_value_bool();end, + ["IS_PED_SHOOTING_IN_AREA"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.end_call("7E9DFE24AC1E58EF");return native_invoker.get_return_value_bool();end, + ["IS_ANY_PED_SHOOTING_IN_AREA"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.end_call("A0D3D71EA1086C55");return native_invoker.get_return_value_bool();end, + -- Returns whether the specified ped is shooting. + ["IS_PED_SHOOTING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("34616828CD07F1A1");return native_invoker.get_return_value_bool();end, + -- accuracy = 0-100, 100 being perfectly accurate + ["SET_PED_ACCURACY"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] accuracy)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(accuracy);native_invoker.end_call("7AEFB85C1D49DEB6");end, + ["GET_PED_ACCURACY"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("37F4AD56ECBC0CD6");return native_invoker.get_return_value_int();end, + -- SET_A* + ["_0x87DDEB611B329A9C"]=--[[void]] function(--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_float(multiplier);native_invoker.end_call("87DDEB611B329A9C");end, + ["IS_PED_MODEL"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(modelHash);native_invoker.end_call("C9D55B1A358A5BF7");return native_invoker.get_return_value_bool();end, + -- Forces the ped to fall back and kills it. + -- + -- It doesn't really explode the ped's head but it kills the ped + ["EXPLODE_PED_HEAD"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.end_call("2D05CED3A38D0F3A");end, + -- Judging purely from a quick disassembly, if the ped is in a vehicle, the ped will be deleted immediately. If not, it'll be marked as no longer needed. - very elegant.. + ["REMOVE_PED_ELEGANTLY"]=--[[void]] function(--[[Ped* (pointer)]] ped)native_invoker.begin_call();native_invoker.push_arg_pointer(ped);native_invoker.end_call("AC6D445B994DF95E");end, + -- Same as SET_PED_ARMOUR, but ADDS 'amount' to the armor the Ped already has. + ["ADD_ARMOUR_TO_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(amount);native_invoker.end_call("5BA652A0CD14DF2F");end, + -- Sets the armor of the specified ped. + -- + -- ped: The Ped to set the armor of. + -- amount: A value between 0 and 100 indicating the value to set the Ped's armor to. + ["SET_PED_ARMOUR"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(amount);native_invoker.end_call("CEA04D83135264CC");end, + -- Ped: The ped to warp. + -- vehicle: The vehicle to warp the ped into. + -- Seat_Index: [-1 is driver seat, -2 first free passenger seat] + -- + -- Moreinfo of Seat Index + -- DriverSeat = -1 + -- Passenger = 0 + -- Left Rear = 1 + -- RightRear = 2 + ["SET_PED_INTO_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[int]] seatIndex)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(seatIndex);native_invoker.end_call("F75B0D629E1C063D");end, + ["SET_PED_ALLOW_VEHICLES_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("3C028C636A414ED9");end, + ["CAN_CREATE_RANDOM_PED"]=--[[BOOL (bool)]] function(--[[BOOL (bool)]] unk)native_invoker.begin_call();native_invoker.push_arg_bool(unk);native_invoker.end_call("3E8349C08E4B82E4");return native_invoker.get_return_value_bool();end, + -- vb.net + -- Dim ped_handle As Integer + -- With Game.Player.Character + -- Dim pos As Vector3 = .Position + .ForwardVector * 3 + -- ped_handle = Native.Function.Call(Of Integer)(Hash.CREATE_RANDOM_PED, pos.X, pos.Y, pos.Z) + -- End With + -- + -- Creates a Ped at the specified location, returns the Ped Handle. + -- Ped will not act until SET_PED_AS_NO_LONGER_NEEDED is called. + ["CREATE_RANDOM_PED"]=--[[Ped (int)]] function(--[[float]] posX,--[[float]] posY,--[[float]] posZ)native_invoker.begin_call();native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.end_call("B4AC7D0CF06BFE8F");return native_invoker.get_return_value_int();end, + ["CREATE_RANDOM_PED_AS_DRIVER"]=--[[Ped (int)]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] returnHandle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(returnHandle);native_invoker.end_call("9B62392B474F44A0");return native_invoker.get_return_value_int();end, + ["CAN_CREATE_RANDOM_DRIVER"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B8EB95E5B4E56978");return native_invoker.get_return_value_bool();end, + ["CAN_CREATE_RANDOM_BIKE_RIDER"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("EACEEDA81751915C");return native_invoker.get_return_value_bool();end, + ["SET_PED_MOVE_ANIMS_BLEND_OUT"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("9E8C908F41584ECD");end, + ["SET_PED_CAN_BE_DRAGGED_OUT"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C1670E958EEE24E5");end, + -- SET_PED_ALLOW* + -- + -- toggle was always false except in one instance (b678). + -- + -- The one time this is set to true seems to do with when you fail the mission. + ["_0xF2BEBCDFAFDAA19E"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("F2BEBCDFAFDAA19E");end, + -- Returns true/false if the ped is/isn't male. + ["IS_PED_MALE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("6D9F5FAA7488BA46");return native_invoker.get_return_value_bool();end, + -- Returns true/false if the ped is/isn't humanoid. + ["IS_PED_HUMAN"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("B980061DA992779D");return native_invoker.get_return_value_bool();end, + -- Gets the vehicle the specified Ped is in. Returns 0 if the ped is/was not in a vehicle. + -- If the Ped is not in a vehicle and includeLastVehicle is true, the vehicle they were last in is returned. + ["GET_VEHICLE_PED_IS_IN"]=--[[Vehicle (int)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] includeLastVehicle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(includeLastVehicle);native_invoker.end_call("9A9112A0FE9A4713");return native_invoker.get_return_value_int();end, + -- Resets the value for the last vehicle driven by the Ped. + ["RESET_PED_LAST_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("BB8DE8CF6A8DD8BB");end, + ["SET_PED_DENSITY_MULTIPLIER_THIS_FRAME"]=--[[void]] function(--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_float(multiplier);native_invoker.end_call("95E3D6257B166CF2");end, + ["SET_SCENARIO_PED_DENSITY_MULTIPLIER_THIS_FRAME"]=--[[void]] function(--[[float]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("7A556143A1C03898");end, + ["_0x5A7F62FDA59759BD"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5A7F62FDA59759BD");end, + ["SET_SCRIPTED_CONVERSION_COORD_THIS_FRAME"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("5086C7843552CF85");end, + -- The distance between these points, is the diagonal of a box (remember it's 3D). + ["SET_PED_NON_CREATION_AREA"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.end_call("EE01041D559983EA");end, + ["CLEAR_PED_NON_CREATION_AREA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("2E05208086BA0651");end, + -- Something regarding ped population. + ["_0x4759CC730F947C81"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("4759CC730F947C81");end, + -- Same function call as PED::GET_MOUNT, aka just returns 0 + ["IS_PED_ON_MOUNT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("460BC76A0E10655E");return native_invoker.get_return_value_bool();end, + -- + -- Function just returns 0 + -- void __fastcall ped__get_mount(NativeContext *a1) + -- { + -- NativeContext *v1; // rbx@1 + -- + -- v1 = a1; + -- GetAddressOfPedFromScriptHandle(a1->Args->Arg1); + -- v1->Returns->Item1= 0; + -- } + ["GET_MOUNT"]=--[[Ped (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("E7E11B8DCBED1058");return native_invoker.get_return_value_int();end, + -- Gets a value indicating whether the specified ped is on top of any vehicle. + -- + -- Return 1 when ped is on vehicle. + -- Return 0 when ped is not on a vehicle. + -- + ["IS_PED_ON_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("67722AEB798E5FAB");return native_invoker.get_return_value_bool();end, + ["IS_PED_ON_SPECIFIC_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.end_call("EC5F66E459AF3BB2");return native_invoker.get_return_value_bool();end, + -- Maximum possible amount of money on MP is 2000. ~JX + -- + -- ----------------------------------------------------------------------------- + -- + -- Maximum amount that a ped can theoretically have is 65535 (0xFFFF) since the amount is stored as an unsigned short (uint16_t) value. + ["SET_PED_MONEY"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(amount);native_invoker.end_call("A9C8960E8684C1B5");end, + ["GET_PED_MONEY"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("3F69145BBA87BAE7");return native_invoker.get_return_value_int();end, + ["_0xFF4803BC019852D9"]=--[[void]] function(--[[float]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("FF4803BC019852D9");end, + ["_0x6B0E6172C9A4D902"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("6B0E6172C9A4D902");end, + ["_0x9911F4A24485F653"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("9911F4A24485F653");end, + -- Ped no longer takes critical damage modifiers if set to FALSE. + -- Example: Headshotting a player no longer one shots them. Instead they will take the same damage as a torso shot. + ["SET_PED_SUFFERS_CRITICAL_HITS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("EBD76F2359F190AC");end, + -- SET_PED_* + ["_0xAFC976FD0580C7B3"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("AFC976FD0580C7B3");end, + -- Detect if ped is sitting in the specified vehicle + -- [True/False] + ["IS_PED_SITTING_IN_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.end_call("A808AA1D79230FC2");return native_invoker.get_return_value_bool();end, + -- Detect if ped is in any vehicle + -- [True/False] + ["IS_PED_SITTING_IN_ANY_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("826AA586EDB9FEF8");return native_invoker.get_return_value_bool();end, + ["IS_PED_ON_FOOT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("01FEE67DB37F59B2");return native_invoker.get_return_value_bool();end, + ["IS_PED_ON_ANY_BIKE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("94495889E22C6479");return native_invoker.get_return_value_bool();end, + ["IS_PED_PLANTING_BOMB"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("C70B5FAE151982D8");return native_invoker.get_return_value_bool();end, + ["GET_DEAD_PED_PICKUP_COORDS"]=--[[Vector3 (vector3)]] function(--[[Ped (int)]] ped,--[[float]] p1,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.end_call("CD5003B097200F36");return native_invoker.get_return_value_vector3();end, + ["IS_PED_IN_ANY_BOAT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("2E0E1C2B4F6CB339");return native_invoker.get_return_value_bool();end, + ["IS_PED_IN_ANY_SUB"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("FBFC01CCFB35D99E");return native_invoker.get_return_value_bool();end, + ["IS_PED_IN_ANY_HELI"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("298B91AE825E5705");return native_invoker.get_return_value_bool();end, + ["IS_PED_IN_ANY_PLANE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("5FFF4CFC74D8FB80");return native_invoker.get_return_value_bool();end, + ["IS_PED_IN_FLYING_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("9134873537FA419C");return native_invoker.get_return_value_bool();end, + ["SET_PED_DIES_IN_WATER"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("56CEF0AC79073BDE");end, + ["SET_PED_DIES_IN_SINKING_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D718A22995E2B4BC");end, + ["GET_PED_ARMOUR"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("9483AF821605B1D8");return native_invoker.get_return_value_int();end, + ["SET_PED_STAY_IN_VEHICLE_WHEN_JACKED"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("EDF4079F9D54C9A1");end, + ["SET_PED_CAN_BE_SHOT_IN_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C7EF1BA83230BA07");end, + ["GET_PED_LAST_DAMAGE_BONE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int* (pointer)]] outBone)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(outBone);native_invoker.end_call("D75960F6BD9EA49C");return native_invoker.get_return_value_bool();end, + ["CLEAR_PED_LAST_DAMAGE_BONE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("8EF6B7AC68E2F01B");end, + ["SET_AI_WEAPON_DAMAGE_MODIFIER"]=--[[void]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("1B1E2A40A65B8521");end, + ["RESET_AI_WEAPON_DAMAGE_MODIFIER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EA16670E7BA4743C");end, + ["SET_AI_MELEE_WEAPON_DAMAGE_MODIFIER"]=--[[void]] function(--[[float]] modifier)native_invoker.begin_call();native_invoker.push_arg_float(modifier);native_invoker.end_call("66460DEDDD417254");end, + ["RESET_AI_MELEE_WEAPON_DAMAGE_MODIFIER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("46E56A7CD1D63C3F");end, + ["_0x2F3C3D9F50681DE4"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("2F3C3D9F50681DE4");end, + ["SET_PED_CAN_BE_TARGETTED"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("63F58F7C80513AAD");end, + ["SET_PED_CAN_BE_TARGETTED_BY_TEAM"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] team,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(team);native_invoker.push_arg_bool(toggle);native_invoker.end_call("BF1CA77833E58F2C");end, + ["SET_PED_CAN_BE_TARGETTED_BY_PLAYER"]=--[[void]] function(--[[Ped (int)]] ped,--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("66B57B72E0836A76");end, + ["_0x061CB768363D6424"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("061CB768363D6424");end, + ["_0xFD325494792302D7"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("FD325494792302D7");end, + ["IS_PED_IN_ANY_POLICE_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("0BD04E29640C9C12");return native_invoker.get_return_value_bool();end, + ["FORCE_PED_TO_OPEN_PARACHUTE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("16E42E800B472221");end, + ["IS_PED_IN_PARACHUTE_FREE_FALL"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("7DCE8BDA0F1C1200");return native_invoker.get_return_value_bool();end, + ["IS_PED_FALLING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("FB92A102F1C4DFA3");return native_invoker.get_return_value_bool();end, + ["IS_PED_JUMPING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("CEDABC5900A0BF97");return native_invoker.get_return_value_bool();end, + ["_0x412F1364FA066CFB"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("412F1364FA066CFB");return native_invoker.get_return_value_int();end, + ["_0x451D05012CCEC234"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("451D05012CCEC234");return native_invoker.get_return_value_int();end, + ["IS_PED_CLIMBING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("53E8CB4F48BFE623");return native_invoker.get_return_value_bool();end, + ["IS_PED_VAULTING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("117C70D1F5730B5E");return native_invoker.get_return_value_bool();end, + ["IS_PED_DIVING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("5527B8246FEF9B11");return native_invoker.get_return_value_bool();end, + ["IS_PED_JUMPING_OUT_OF_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("433DDFFE2044B636");return native_invoker.get_return_value_bool();end, + -- IS_PED_* + -- + -- Returns true if the ped is currently opening a door (CTaskOpenDoor). + ["_IS_PED_OPENING_A_DOOR"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("26AF0E8E30BD2A2C");return native_invoker.get_return_value_bool();end, + -- Returns: + -- + -- -1: Normal + -- 0: Wearing parachute on back + -- 1: Parachute opening + -- 2: Parachute open + -- 3: Falling to doom (e.g. after exiting parachute) + -- + -- Normal means no parachute? + ["GET_PED_PARACHUTE_STATE"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("79CFD9827CC979B6");return native_invoker.get_return_value_int();end, + -- -1: no landing + -- 0: landing on both feet + -- 1: stumbling + -- 2: rolling + -- 3: ragdoll + ["GET_PED_PARACHUTE_LANDING_TYPE"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("8B9F1FC6AE8166C0");return native_invoker.get_return_value_int();end, + ["SET_PED_PARACHUTE_TINT_INDEX"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] tintIndex)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(tintIndex);native_invoker.end_call("333FC8DB079B7186");end, + ["GET_PED_PARACHUTE_TINT_INDEX"]=--[[void]] function(--[[Ped (int)]] ped,--[[int* (pointer)]] outTintIndex)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(outTintIndex);native_invoker.end_call("EAF5F7E5AE7C6C9D");end, + ["SET_PED_RESERVE_PARACHUTE_TINT_INDEX"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("E88DA0751C22A2AD");end, + ["CREATE_PARACHUTE_BAG_OBJECT"]=--[[Object (int)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("8C4F3BF23B6237DB");return native_invoker.get_return_value_int();end, + -- This is the SET_CHAR_DUCKING from GTA IV, that makes Peds duck. This function does nothing in GTA V. It cannot set the ped as ducking in vehicles, and IS_PED_DUCKING will always return false. + ["SET_PED_DUCKING"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("030983CA930B692D");end, + ["IS_PED_DUCKING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("D125AE748725C6BC");return native_invoker.get_return_value_bool();end, + ["IS_PED_IN_ANY_TAXI"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("6E575D6A898AB852");return native_invoker.get_return_value_bool();end, + ["SET_PED_ID_RANGE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(value);native_invoker.end_call("F107E836A70DCE05");end, + ["SET_PED_HIGHLY_PERCEPTIVE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("52D59AB61DDC05DD");end, + ["_0x2F074C904D85129E"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("2F074C904D85129E");end, + -- SET_PED_* + -- + -- Has most likely to do with some shooting attributes as it sets the float which is in the same range as shootRate. + ["_0xEC4B4B3B9908052A"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] unk)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(unk);native_invoker.end_call("EC4B4B3B9908052A");end, + ["_0x733C87D4CE22BEA2"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("733C87D4CE22BEA2");end, + ["SET_PED_SEEING_RANGE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(value);native_invoker.end_call("F29CF591C4BF6CEE");end, + ["SET_PED_HEARING_RANGE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(value);native_invoker.end_call("33A8F7F7D5F7F33C");end, + ["SET_PED_VISUAL_FIELD_MIN_ANGLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(value);native_invoker.end_call("2DB492222FB21E26");end, + ["SET_PED_VISUAL_FIELD_MAX_ANGLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(value);native_invoker.end_call("70793BDCA1E854D4");end, + -- This native refers to the field of vision the ped has below them, starting at 0 degrees. The angle value should be negative. + -- -90f should let the ped see 90 degrees below them, for example. + ["SET_PED_VISUAL_FIELD_MIN_ELEVATION_ANGLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] angle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(angle);native_invoker.end_call("7A276EB2C224D70F");end, + -- This native refers to the field of vision the ped has above them, starting at 0 degrees. 90f would let the ped see enemies directly above of them. + ["SET_PED_VISUAL_FIELD_MAX_ELEVATION_ANGLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] angle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(angle);native_invoker.end_call("78D0B67629D75856");end, + ["SET_PED_VISUAL_FIELD_PERIPHERAL_RANGE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] range)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(range);native_invoker.end_call("9C74B0BC831B753A");end, + ["SET_PED_VISUAL_FIELD_CENTER_ANGLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] angle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(angle);native_invoker.end_call("3B6405E8AB34A907");end, + ["_GET_PED_VISUAL_FIELD_CENTER_ANGLE"]=--[[float]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("EF2C71A32CAD5FBD");return native_invoker.get_return_value_float();end, + -- p1 is usually 0 in the scripts. action is either 0 or a pointer to "DEFAULT_ACTION". + ["SET_PED_STEALTH_MOVEMENT"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[string]] action)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_string(action);native_invoker.end_call("88CBB5CEB96B7BD2");end, + -- Returns whether the entity is in stealth mode + ["GET_PED_STEALTH_MOVEMENT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("7C2AC9CA66575FBF");return native_invoker.get_return_value_bool();end, + -- Creates a new ped group. + -- Groups can contain up to 8 peds. + -- + -- The parameter is unused. + -- + -- Returns a handle to the created group, or 0 if a group couldn't be created. + ["CREATE_GROUP"]=--[[int]] function(--[[int]] unused)native_invoker.begin_call();native_invoker.push_arg_int(unused);native_invoker.end_call("90370EBE0FEE1A3D");return native_invoker.get_return_value_int();end, + ["SET_PED_AS_GROUP_LEADER"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] groupId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(groupId);native_invoker.end_call("2A7819605465FBCE");end, + ["SET_PED_AS_GROUP_MEMBER"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] groupId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(groupId);native_invoker.end_call("9F3480FE65DB31B5");end, + -- This only will teleport the ped to the group leader if the group leader teleports (sets coords). + -- + -- Only works in singleplayer + ["SET_PED_CAN_TELEPORT_TO_GROUP_LEADER"]=--[[void]] function(--[[Ped (int)]] pedHandle,--[[int]] groupHandle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(pedHandle);native_invoker.push_arg_int(groupHandle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2E2F4240B3F24647");end, + ["REMOVE_GROUP"]=--[[void]] function(--[[int]] groupId)native_invoker.begin_call();native_invoker.push_arg_int(groupId);native_invoker.end_call("8EB2F69076AF7053");end, + ["REMOVE_PED_FROM_GROUP"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("ED74007FFB146BC2");end, + ["IS_PED_GROUP_MEMBER"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] groupId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(groupId);native_invoker.end_call("9BB01E3834671191");return native_invoker.get_return_value_bool();end, + ["IS_PED_HANGING_ON_TO_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("1C86D8AEF8254B78");return native_invoker.get_return_value_bool();end, + -- Sets the range at which members will automatically leave the group. + ["SET_GROUP_SEPARATION_RANGE"]=--[[void]] function(--[[int]] groupHandle,--[[float]] separationRange)native_invoker.begin_call();native_invoker.push_arg_int(groupHandle);native_invoker.push_arg_float(separationRange);native_invoker.end_call("4102C7858CFEE4E4");end, + -- Ped will stay on the ground after being stunned for at lest ms time. (in milliseconds) + ["SET_PED_MIN_GROUND_TIME_FOR_STUNGUN"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] ms)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(ms);native_invoker.end_call("FA0675AB151073FA");end, + ["IS_PED_PRONE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("D6A86331A537A7B9");return native_invoker.get_return_value_bool();end, + -- Checks to see if ped and target are in combat with eachother. Only goes one-way: if target is engaged in combat with ped but ped has not yet reacted, the function will return false until ped starts fighting back. + -- + -- p1 is usually 0 in the scripts because it gets the ped id during the task sequence. For instance: PED::IS_PED_IN_COMBAT(l_42E[4/*14*/], PLAYER::PLAYER_PED_ID()) // armenian2.ct4: 43794 + ["IS_PED_IN_COMBAT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Ped (int)]] target)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(target);native_invoker.end_call("4859F1FC66A6278E");return native_invoker.get_return_value_bool();end, + ["CAN_PED_IN_COMBAT_SEE_TARGET"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Ped (int)]] target)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(target);native_invoker.end_call("EAD42DE3610D0721");return native_invoker.get_return_value_bool();end, + ["IS_PED_DOING_DRIVEBY"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("B2C086CC1BF8F2BF");return native_invoker.get_return_value_bool();end, + ["IS_PED_JACKING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("4AE4FF911DFB61DA");return native_invoker.get_return_value_bool();end, + ["IS_PED_BEING_JACKED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("9A497FE2DF198913");return native_invoker.get_return_value_bool();end, + -- p1 is always 0 + ["IS_PED_BEING_STUNNED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("4FBACCE3B4138EE8");return native_invoker.get_return_value_bool();end, + ["GET_PEDS_JACKER"]=--[[Ped (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("9B128DC36C1E04CF");return native_invoker.get_return_value_int();end, + ["GET_JACK_TARGET"]=--[[Ped (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("5486A79D9FBD342D");return native_invoker.get_return_value_int();end, + ["IS_PED_FLEEING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("BBCCE00B381F8482");return native_invoker.get_return_value_bool();end, + -- p1 is nearly always 0 in the scripts. + ["IS_PED_IN_COVER"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] exceptUseWeapon)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(exceptUseWeapon);native_invoker.end_call("60DFD0691A170B88");return native_invoker.get_return_value_bool();end, + ["IS_PED_IN_COVER_FACING_LEFT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("845333B3150583AB");return native_invoker.get_return_value_bool();end, + ["IS_PED_IN_HIGH_COVER"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("6A03BF943D767C93");return native_invoker.get_return_value_bool();end, + ["IS_PED_GOING_INTO_COVER"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("9F65DBC537E59AD5");return native_invoker.get_return_value_bool();end, + -- i could be time. Only example in the decompiled scripts uses it as -1. + ["SET_PED_PINNED_DOWN"]=--[[Any (int)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] pinned,--[[int]] i)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(pinned);native_invoker.push_arg_int(i);native_invoker.end_call("AAD6D1ACF08F4612");return native_invoker.get_return_value_int();end, + ["GET_SEAT_PED_IS_TRYING_TO_ENTER"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("6F4C85ACD641BCD2");return native_invoker.get_return_value_int();end, + ["GET_VEHICLE_PED_IS_TRYING_TO_ENTER"]=--[[Vehicle (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("814FA8BE5449445D");return native_invoker.get_return_value_int();end, + -- Returns the Entity (Ped, Vehicle, or ?Object?) that killed the 'ped' + -- + -- Is best to check if the Ped is dead before asking for its killer. + ["GET_PED_SOURCE_OF_DEATH"]=--[[Entity (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("93C8B64DEB84728C");return native_invoker.get_return_value_int();end, + -- Returns the hash of the weapon/model/object that killed the ped. + ["GET_PED_CAUSE_OF_DEATH"]=--[[Hash (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("16FFE42AB2D2DC59");return native_invoker.get_return_value_int();end, + ["GET_PED_TIME_OF_DEATH"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("1E98817B311AE98A");return native_invoker.get_return_value_int();end, + ["_0x5407B7288D0478B7"]=--[[int]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5407B7288D0478B7");return native_invoker.get_return_value_int();end, + ["_0x336B3D200AB007CB"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.end_call("336B3D200AB007CB");return native_invoker.get_return_value_int();end, + ["SET_PED_RELATIONSHIP_GROUP_DEFAULT_HASH"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(hash);native_invoker.end_call("ADB3F206518799E8");end, + ["SET_PED_RELATIONSHIP_GROUP_HASH"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(hash);native_invoker.end_call("C80A74AC829DDD92");end, + -- Sets the relationship between two groups. This should be called twice (once for each group). + -- + -- Relationship types: + -- 0 = Companion + -- 1 = Respect + -- 2 = Like + -- 3 = Neutral + -- 4 = Dislike + -- 5 = Hate + -- 255 = Pedestrians + -- + -- Example: + -- PED::SET_RELATIONSHIP_BETWEEN_GROUPS(2, l_1017, 0xA49E591C); + -- PED::SET_RELATIONSHIP_BETWEEN_GROUPS(2, 0xA49E591C, l_1017); + ["SET_RELATIONSHIP_BETWEEN_GROUPS"]=--[[void]] function(--[[int]] relationship,--[[Hash (int)]] group1,--[[Hash (int)]] group2)native_invoker.begin_call();native_invoker.push_arg_int(relationship);native_invoker.push_arg_int(group1);native_invoker.push_arg_int(group2);native_invoker.end_call("BF25EB89375A37AD");end, + -- Clears the relationship between two groups. This should be called twice (once for each group). + -- + -- Relationship types: + -- 0 = Companion + -- 1 = Respect + -- 2 = Like + -- 3 = Neutral + -- 4 = Dislike + -- 5 = Hate + -- 255 = Pedestrians + -- (Credits: Inco) + -- + -- Example: + -- PED::CLEAR_RELATIONSHIP_BETWEEN_GROUPS(2, l_1017, 0xA49E591C); + -- PED::CLEAR_RELATIONSHIP_BETWEEN_GROUPS(2, 0xA49E591C, l_1017); + ["CLEAR_RELATIONSHIP_BETWEEN_GROUPS"]=--[[void]] function(--[[int]] relationship,--[[Hash (int)]] group1,--[[Hash (int)]] group2)native_invoker.begin_call();native_invoker.push_arg_int(relationship);native_invoker.push_arg_int(group1);native_invoker.push_arg_int(group2);native_invoker.end_call("5E29243FB56FC6D4");end, + -- Can't select void. This function returns nothing. The hash of the created relationship group is output in the second parameter. + ["ADD_RELATIONSHIP_GROUP"]=--[[Any (int)]] function(--[[string]] name,--[[Hash* (pointer)]] groupHash)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_pointer(groupHash);native_invoker.end_call("F372BC22FCB88606");return native_invoker.get_return_value_int();end, + ["REMOVE_RELATIONSHIP_GROUP"]=--[[void]] function(--[[Hash (int)]] groupHash)native_invoker.begin_call();native_invoker.push_arg_int(groupHash);native_invoker.end_call("B6BA2444AB393DA2");end, + ["_DOES_RELATIONSHIP_GROUP_EXIST"]=--[[BOOL (bool)]] function(--[[Hash (int)]] groupHash)native_invoker.begin_call();native_invoker.push_arg_int(groupHash);native_invoker.end_call("CC6E3B6BB69501F1");return native_invoker.get_return_value_bool();end, + -- Gets the relationship between two peds. This should be called twice (once for each ped). + -- + -- Relationship types: + -- 0 = Companion + -- 1 = Respect + -- 2 = Like + -- 3 = Neutral + -- 4 = Dislike + -- 5 = Hate + -- 255 = Pedestrians + -- (Credits: Inco) + -- + -- Example: + -- PED::GET_RELATIONSHIP_BETWEEN_PEDS(2, l_1017, 0xA49E591C); + -- PED::GET_RELATIONSHIP_BETWEEN_PEDS(2, 0xA49E591C, l_1017); + ["GET_RELATIONSHIP_BETWEEN_PEDS"]=--[[int]] function(--[[Ped (int)]] ped1,--[[Ped (int)]] ped2)native_invoker.begin_call();native_invoker.push_arg_int(ped1);native_invoker.push_arg_int(ped2);native_invoker.end_call("EBA5AD3A0EAF7121");return native_invoker.get_return_value_int();end, + ["GET_PED_RELATIONSHIP_GROUP_DEFAULT_HASH"]=--[[Hash (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("42FDD0F017B1E38E");return native_invoker.get_return_value_int();end, + ["GET_PED_RELATIONSHIP_GROUP_HASH"]=--[[Hash (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("7DBDD04862D95F04");return native_invoker.get_return_value_int();end, + -- Gets the relationship between two groups. This should be called twice (once for each group). + -- + -- Relationship types: + -- 0 = Companion + -- 1 = Respect + -- 2 = Like + -- 3 = Neutral + -- 4 = Dislike + -- 5 = Hate + -- 255 = Pedestrians + -- + -- Example: + -- PED::GET_RELATIONSHIP_BETWEEN_GROUPS(l_1017, 0xA49E591C); + -- PED::GET_RELATIONSHIP_BETWEEN_GROUPS(0xA49E591C, l_1017); + ["GET_RELATIONSHIP_BETWEEN_GROUPS"]=--[[int]] function(--[[Hash (int)]] group1,--[[Hash (int)]] group2)native_invoker.begin_call();native_invoker.push_arg_int(group1);native_invoker.push_arg_int(group2);native_invoker.end_call("9E6B70061662AE5C");return native_invoker.get_return_value_int();end, + ["_0x5615E0C5EB2BC6E2"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("5615E0C5EB2BC6E2");end, + -- Does something with ped relationships + ["_0xAD27D957598E49E9"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any (int)]] p1,--[[float]] p2,--[[Hash (int)]] hash,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_int(hash);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("AD27D957598E49E9");end, + ["SET_PED_CAN_BE_TARGETED_WITHOUT_LOS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("4328652AE5769C71");end, + ["SET_PED_TO_INFORM_RESPECTED_FRIENDS"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] radius,--[[int]] maxFriends)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(maxFriends);native_invoker.end_call("112942C6E708F70B");end, + ["IS_PED_RESPONDING_TO_EVENT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Any (int)]] event)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(event);native_invoker.end_call("625B774D75C87068");return native_invoker.get_return_value_bool();end, + ["_GET_PED_EVENT_DATA"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] eventType,--[[Any* (pointer)]] outData)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(eventType);native_invoker.push_arg_pointer(outData);native_invoker.end_call("BA656A3BB01BDEA3");return native_invoker.get_return_value_bool();end, + -- FIRING_PATTERN_BURST_FIRE = 0xD6FF6D61 ( 1073727030 ) + -- FIRING_PATTERN_BURST_FIRE_IN_COVER = 0x026321F1 ( 40051185 ) + -- FIRING_PATTERN_BURST_FIRE_DRIVEBY = 0xD31265F2 ( -753768974 ) + -- FIRING_PATTERN_FROM_GROUND = 0x2264E5D6 ( 577037782 ) + -- FIRING_PATTERN_DELAY_FIRE_BY_ONE_SEC = 0x7A845691 ( 2055493265 ) + -- FIRING_PATTERN_FULL_AUTO = 0xC6EE6B4C ( -957453492 ) + -- FIRING_PATTERN_SINGLE_SHOT = 0x5D60E4E0 ( 1566631136 ) + -- FIRING_PATTERN_BURST_FIRE_PISTOL = 0xA018DB8A ( -1608983670 ) + -- FIRING_PATTERN_BURST_FIRE_SMG = 0xD10DADEE ( 1863348768 ) + -- FIRING_PATTERN_BURST_FIRE_RIFLE = 0x9C74B406 ( -1670073338 ) + -- FIRING_PATTERN_BURST_FIRE_MG = 0xB573C5B4 ( -1250703948 ) + -- FIRING_PATTERN_BURST_FIRE_PUMPSHOTGUN = 0x00BAC39B ( 12239771 ) + -- FIRING_PATTERN_BURST_FIRE_HELI = 0x914E786F ( -1857128337 ) + -- FIRING_PATTERN_BURST_FIRE_MICRO = 0x42EF03FD ( 1122960381 ) + -- FIRING_PATTERN_SHORT_BURSTS = 0x1A92D7DF ( 445831135 ) + -- FIRING_PATTERN_SLOW_FIRE_TANK = 0xE2CA3A71 ( -490063247 ) + -- + -- if anyone is interested firing pattern info: pastebin.com/Px036isB + ["SET_PED_FIRING_PATTERN"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] patternHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(patternHash);native_invoker.end_call("9AC577F5A12AD8A9");end, + -- shootRate 0-1000 + ["SET_PED_SHOOT_RATE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] shootRate)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(shootRate);native_invoker.end_call("614DA022990752DC");end, + -- combatType can be between 0-14. See GET_COMBAT_FLOAT below for a list of possible parameters. + ["SET_COMBAT_FLOAT"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] combatType,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(combatType);native_invoker.push_arg_float(p2);native_invoker.end_call("FF41B4B141ED981C");end, + -- p0: Ped Handle + -- p1: int i | 0 <= i <= 27 + -- + -- p1 probably refers to the attributes configured in combatbehavior.meta. There are 13. Example: + -- + -- + -- + -- + -- + -- + -- + -- + -- + -- + -- + -- + -- + -- + -- + -- -------------Confirmed by editing combatbehavior.meta: + -- p1: + -- 0=BlindFireChance + -- 1=BurstDurationInCover + -- 3=TimeBetweenBurstsInCover + -- 4=TimeBetweenPeeks + -- 5=StrafeWhenMovingChance + -- 8=WalkWhenStrafingChance + -- 11=AttackWindowDistanceForCover + -- 12=TimeToInvalidateInjuredTarget + -- 16=OptimalCoverDistance + -- + ["GET_COMBAT_FLOAT"]=--[[float]] function(--[[Ped (int)]] ped,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("52DFF8A10508090A");return native_invoker.get_return_value_float();end, + -- p1 may be a BOOL representing whether or not the group even exists + ["GET_GROUP_SIZE"]=--[[void]] function(--[[int]] groupID,--[[Any* (pointer)]] unknown,--[[int* (pointer)]] sizeInMembers)native_invoker.begin_call();native_invoker.push_arg_int(groupID);native_invoker.push_arg_pointer(unknown);native_invoker.push_arg_pointer(sizeInMembers);native_invoker.end_call("8DE69FE35CA09A45");end, + ["DOES_GROUP_EXIST"]=--[[BOOL (bool)]] function(--[[int]] groupId)native_invoker.begin_call();native_invoker.push_arg_int(groupId);native_invoker.end_call("7C6B0C22F9F40BBE");return native_invoker.get_return_value_bool();end, + -- Returns the group id of which the specified ped is a member of. + ["GET_PED_GROUP_INDEX"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("F162E133B4E7A675");return native_invoker.get_return_value_int();end, + ["IS_PED_IN_GROUP"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("5891CAC5D4ACFF74");return native_invoker.get_return_value_bool();end, + ["GET_PLAYER_PED_IS_FOLLOWING"]=--[[Player (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("6A3975DEA89F9A17");return native_invoker.get_return_value_int();end, + -- 0: Default + -- 1: Circle Around Leader + -- 2: Alternative Circle Around Leader + -- 3: Line, with Leader at center + ["SET_GROUP_FORMATION"]=--[[void]] function(--[[int]] groupId,--[[int]] formationType)native_invoker.begin_call();native_invoker.push_arg_int(groupId);native_invoker.push_arg_int(formationType);native_invoker.end_call("CE2F5FC3AF7E8C1E");end, + ["SET_GROUP_FORMATION_SPACING"]=--[[void]] function(--[[int]] groupId,--[[float]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(groupId);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("1D9D45004C28C916");end, + ["RESET_GROUP_FORMATION_DEFAULT_SPACING"]=--[[void]] function(--[[int]] groupHandle)native_invoker.begin_call();native_invoker.push_arg_int(groupHandle);native_invoker.end_call("63DAB4CCB3273205");end, + -- Gets ID of vehicle player using. It means it can get ID at any interaction with vehicle. Enter\exit for example. And that means it is faster than GET_VEHICLE_PED_IS_IN but less safe. + ["GET_VEHICLE_PED_IS_USING"]=--[[Vehicle (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("6094AD011A2EA87D");return native_invoker.get_return_value_int();end, + ["GET_VEHICLE_PED_IS_ENTERING"]=--[[Vehicle (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("F92691AED837A5FC");return native_invoker.get_return_value_int();end, + -- enable or disable the gravity of a ped + -- + -- Examples: + -- PED::SET_PED_GRAVITY(PLAYER::PLAYER_PED_ID(), 0x00000001); + -- PED::SET_PED_GRAVITY(Local_289[iVar0 /*20*/], 0x00000001); + ["SET_PED_GRAVITY"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("9FF447B6B6AD960A");end, + -- damages a ped with the given amount + ["APPLY_DAMAGE_TO_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] damageAmount,--[[BOOL (bool)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(damageAmount);native_invoker.push_arg_bool(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("697157CED63F18D4");end, + -- GET_TIME_* + ["_GET_TIME_OF_LAST_PED_WEAPON_DAMAGE"]=--[[int]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.end_call("36B77BB84687C318");return native_invoker.get_return_value_int();end, + ["SET_PED_ALLOWED_TO_DUCK"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("DA1F1B7BE1A8766F");end, + ["SET_PED_NEVER_LEAVES_GROUP"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("3DBFC55D5C9BB447");end, + -- https://alloc8or.re/gta5/doc/enums/ePedType.txt + ["GET_PED_TYPE"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("FF059E1E4C01E63C");return native_invoker.get_return_value_int();end, + -- Turns the desired ped into a cop. If you use this on the player ped, you will become almost invisible to cops dispatched for you. You will also report your own crimes, get a generic cop voice, get a cop-vision-cone on the radar, and you will be unable to shoot at other cops. SWAT and Army will still shoot at you. Toggling ped as "false" has no effect; you must change p0's ped model to disable the effect. + ["SET_PED_AS_COP"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("BB03C38DD3FB7FFD");end, + -- sets the maximum health of a ped + -- + -- I think it's never been used in any script + ["SET_PED_MAX_HEALTH"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(value);native_invoker.end_call("F5F6378C4F3419D3");end, + ["GET_PED_MAX_HEALTH"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("4700A416E8324EF3");return native_invoker.get_return_value_int();end, + ["SET_PED_MAX_TIME_IN_WATER"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(value);native_invoker.end_call("43C851690662113D");end, + ["SET_PED_MAX_TIME_UNDERWATER"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(value);native_invoker.end_call("6BA428C528D9E522");end, + ["_0x2735233A786B1BEF"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.end_call("2735233A786B1BEF");end, + -- seatIndex must be <= 2 + ["SET_PED_VEHICLE_FORCED_SEAT_USAGE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[int]] seatIndex,--[[int]] flags,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(seatIndex);native_invoker.push_arg_int(flags);native_invoker.push_arg_int(p4);native_invoker.end_call("952F06BEECD775CC");end, + ["CLEAR_ALL_PED_VEHICLE_FORCED_SEAT_USAGE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("E6CA85E7259CE16B");end, + -- This native does absolutely nothing, just a nullsub + ["_0xB282749D5E028163"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("B282749D5E028163");end, + -- 0 = can (bike) + -- 1 = can't (bike) + -- 2 = unk + -- 3 = unk + ["SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] state)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(state);native_invoker.end_call("7A6535691B477C48");end, + ["CAN_KNOCK_PED_OFF_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("51AC07A44D4F5B8A");return native_invoker.get_return_value_bool();end, + ["KNOCK_PED_OFF_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("45BBCBA77C29A841");end, + ["SET_PED_COORDS_NO_GANG"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] posX,--[[float]] posY,--[[float]] posZ)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.end_call("87052FE446E07247");end, + -- from fm_mission_controller.c4 (variable names changed for clarity): + -- + -- int groupID = PLAYER::GET_PLAYER_GROUP(PLAYER::PLAYER_ID()); + -- PED::GET_GROUP_SIZE(group, &unused, &groupSize); + -- if (groupSize >= 1) { + -- . . . . for (int memberNumber = 0; memberNumber < groupSize; memberNumber++) { + -- . . . . . . . . Ped ped1 = PED::GET_PED_AS_GROUP_MEMBER(groupID, memberNumber); + -- . . . . . . . . //and so on + ["GET_PED_AS_GROUP_MEMBER"]=--[[Ped (int)]] function(--[[int]] groupID,--[[int]] memberNumber)native_invoker.begin_call();native_invoker.push_arg_int(groupID);native_invoker.push_arg_int(memberNumber);native_invoker.end_call("51455483CF23ED97");return native_invoker.get_return_value_int();end, + ["GET_PED_AS_GROUP_LEADER"]=--[[Ped (int)]] function(--[[int]] groupID)native_invoker.begin_call();native_invoker.push_arg_int(groupID);native_invoker.end_call("5CCE68DBD5FE93EC");return native_invoker.get_return_value_int();end, + ["SET_PED_KEEP_TASK"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("971D38760FBC02EF");end, + -- SET_PED_ALLOW* + ["_0x49E50BDB8BA4DAB2"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("49E50BDB8BA4DAB2");end, + ["IS_PED_SWIMMING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("9DE327631295B4C2");return native_invoker.get_return_value_bool();end, + ["IS_PED_SWIMMING_UNDER_WATER"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("C024869A53992F34");return native_invoker.get_return_value_bool();end, + -- teleports ped to coords along with the vehicle ped is in + ["SET_PED_COORDS_KEEP_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] posX,--[[float]] posY,--[[float]] posZ)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.end_call("9AFEFF481A85AB2E");end, + ["SET_PED_DIES_IN_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2A30922C90C9B42C");end, + ["SET_CREATE_RANDOM_COPS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("102E68B2024D536D");end, + ["SET_CREATE_RANDOM_COPS_NOT_ON_SCENARIOS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("8A4986851C4EF6E7");end, + ["SET_CREATE_RANDOM_COPS_ON_SCENARIOS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("444CB7D7DBE6973D");end, + ["CAN_CREATE_RANDOM_COPS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5EE2CAFF7F17770D");return native_invoker.get_return_value_bool();end, + ["SET_PED_AS_ENEMY"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("02A0C9720B854BFA");end, + ["SET_PED_CAN_SMASH_GLASS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("1CCE141467FF42A2");end, + ["IS_PED_IN_ANY_TRAIN"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("6F972C1AB75A1ED0");return native_invoker.get_return_value_bool();end, + ["IS_PED_GETTING_INTO_A_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("BB062B2B5722478E");return native_invoker.get_return_value_bool();end, + ["IS_PED_TRYING_TO_ENTER_A_LOCKED_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("44D28D5DDFE5F68C");return native_invoker.get_return_value_bool();end, + -- ped can not pull out a weapon when true + ["SET_ENABLE_HANDCUFFS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("DF1AF8B5D56542FA");end, + -- Used with SET_ENABLE_HANDCUFFS in decompiled scripts. From my observations, I have noticed that while being ragdolled you are not able to get up but you can still run. Your legs can also bend. + ["SET_ENABLE_BOUND_ANKLES"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C52E0F855C58FC2E");end, + -- Enables diving motion when underwater. + ["SET_ENABLE_SCUBA"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("F99F62004024D506");end, + -- Setting ped to true allows the ped to shoot "friendlies". + -- + -- p2 set to true when toggle is also true seams to make peds permanently unable to aim at, even if you set p2 back to false. + -- + -- p1 = false & p2 = false for unable to aim at. + -- p1 = true & p2 = false for able to aim at. + ["SET_CAN_ATTACK_FRIENDLY"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_bool(p2);native_invoker.end_call("B3B1CB349FF9C75D");end, + -- Returns the ped's alertness (0-3). + -- + -- Values : + -- + -- 0 : Neutral + -- 1 : Heard something (gun shot, hit, etc) + -- 2 : Knows (the origin of the event) + -- 3 : Fully alerted (is facing the event?) + -- + -- If the Ped does not exist, returns -1. + ["GET_PED_ALERTNESS"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("F6AA118530443FD2");return native_invoker.get_return_value_int();end, + -- value ranges from 0 to 3. + ["SET_PED_ALERTNESS"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(value);native_invoker.end_call("DBA71115ED9941A6");end, + ["SET_PED_GET_OUT_UPSIDE_DOWN_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("BC0ED94165A48BC2");end, + -- p2 is usually 1.0f + -- + -- EDIT 12/24/16: + -- p2 does absolutely nothing no matter what the value is. + -- + -- List of movement clipsets: + -- Thanks to elsewhat for list. + -- + -- "ANIM_GROUP_MOVE_BALLISTIC" + -- "ANIM_GROUP_MOVE_LEMAR_ALLEY" + -- "clipset@move@trash_fast_turn" + -- "FEMALE_FAST_RUNNER" + -- "missfbi4prepp1_garbageman" + -- "move_characters@franklin@fire" + -- "move_characters@Jimmy@slow@" + -- "move_characters@michael@fire" + -- "move_f@flee@a" + -- "move_f@scared" + -- "move_f@sexy@a" + -- "move_heist_lester" + -- "move_injured_generic" + -- "move_lester_CaneUp" + -- "move_m@bag" + -- "MOVE_M@BAIL_BOND_NOT_TAZERED" + -- "MOVE_M@BAIL_BOND_TAZERED" + -- "move_m@brave" + -- "move_m@casual@d" + -- "move_m@drunk@moderatedrunk" + -- "MOVE_M@DRUNK@MODERATEDRUNK" + -- "MOVE_M@DRUNK@MODERATEDRUNK_HEAD_UP" + -- "MOVE_M@DRUNK@SLIGHTLYDRUNK" + -- "MOVE_M@DRUNK@VERYDRUNK" + -- "move_m@fire" + -- "move_m@gangster@var_e" + -- "move_m@gangster@var_f" + -- "move_m@gangster@var_i" + -- "move_m@JOG@" + -- "MOVE_M@PRISON_GAURD" + -- "MOVE_P_M_ONE" + -- "MOVE_P_M_ONE_BRIEFCASE" + -- "move_p_m_zero_janitor" + -- "move_p_m_zero_slow" + -- "move_ped_bucket" + -- "move_ped_crouched" + -- "move_ped_mop" + -- "MOVE_M@FEMME@" + -- "MOVE_F@FEMME@" + -- "MOVE_M@GANGSTER@NG" + -- "MOVE_F@GANGSTER@NG" + -- "MOVE_M@POSH@" + -- "MOVE_F@POSH@" + -- "MOVE_M@TOUGH_GUY@" + -- "MOVE_F@TOUGH_GUY@" + -- + -- ~ NotCrunchyTaco + -- + -- Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json + ["SET_PED_MOVEMENT_CLIPSET"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] clipSet,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(clipSet);native_invoker.push_arg_float(p2);native_invoker.end_call("AF8A94EDE7712BEF");end, + -- If p1 is 0.0, I believe you are back to normal. + -- If p1 is 1.0, it looks like you can only rotate the ped, not walk. + -- + -- Using the following code to reset back to normal + -- PED::RESET_PED_MOVEMENT_CLIPSET(PLAYER::PLAYER_PED_ID(), 0.0); + ["RESET_PED_MOVEMENT_CLIPSET"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.end_call("AA74EC0CB0AAEA2C");end, + -- Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json + ["SET_PED_STRAFE_CLIPSET"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] clipSet)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(clipSet);native_invoker.end_call("29A28F3F8CF6D854");end, + ["RESET_PED_STRAFE_CLIPSET"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("20510814175EA477");end, + ["SET_PED_WEAPON_MOVEMENT_CLIPSET"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] clipSet)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(clipSet);native_invoker.end_call("2622E35B77D3ACA2");end, + ["RESET_PED_WEAPON_MOVEMENT_CLIPSET"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("97B0DB5B4AA74E77");end, + ["SET_PED_DRIVE_BY_CLIPSET_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] clipset)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(clipset);native_invoker.end_call("ED34AB6C5CB36520");end, + ["CLEAR_PED_DRIVE_BY_CLIPSET_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("4AFE3690D7E0B5AC");end, + -- Found in the b617d scripts: + -- PED::_9DBA107B4937F809(v_7, "trevor_heist_cover_2h"); + -- + -- SET_PED_MO* + ["_SET_PED_COVER_CLIPSET_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(p1);native_invoker.end_call("9DBA107B4937F809");end, + -- CLEAR_PED_* + ["_CLEAR_PED_COVER_CLIPSET_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("C79196DCB36F6121");end, + -- CLEAR_PED_* + ["_0x80054D7FCC70EEC6"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("80054D7FCC70EEC6");end, + -- PED::SET_PED_IN_VEHICLE_CONTEXT(l_128, MISC::GET_HASH_KEY("MINI_PROSTITUTE_LOW_PASSENGER")); + -- PED::SET_PED_IN_VEHICLE_CONTEXT(l_128, MISC::GET_HASH_KEY("MINI_PROSTITUTE_LOW_RESTRICTED_PASSENGER")); + -- PED::SET_PED_IN_VEHICLE_CONTEXT(l_3212, MISC::GET_HASH_KEY("MISS_FAMILY1_JIMMY_SIT")); + -- PED::SET_PED_IN_VEHICLE_CONTEXT(l_3212, MISC::GET_HASH_KEY("MISS_FAMILY1_JIMMY_SIT_REAR")); + -- PED::SET_PED_IN_VEHICLE_CONTEXT(l_95, MISC::GET_HASH_KEY("MISS_FAMILY2_JIMMY_BICYCLE")); + -- PED::SET_PED_IN_VEHICLE_CONTEXT(num3, MISC::GET_HASH_KEY("MISSFBI2_MICHAEL_DRIVEBY")); + -- PED::SET_PED_IN_VEHICLE_CONTEXT(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("MISS_ARMENIAN3_FRANKLIN_TENSE")); + -- PED::SET_PED_IN_VEHICLE_CONTEXT(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("MISSFBI5_TREVOR_DRIVING")); + ["SET_PED_IN_VEHICLE_CONTEXT"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] context)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(context);native_invoker.end_call("530071295899A8C6");end, + ["RESET_PED_IN_VEHICLE_CONTEXT"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("22EF8FF8778030EB");end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["IS_SCRIPTED_SCENARIO_PED_USING_CONDITIONAL_ANIM"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[string]] animDict,--[[string]] anim)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(anim);native_invoker.end_call("6EC47A344923E1ED");return native_invoker.get_return_value_bool();end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + -- + -- Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json + ["SET_PED_ALTERNATE_WALK_ANIM"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] animDict,--[[string]] animName,--[[float]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.push_arg_float(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("6C60394CB4F75E9A");end, + ["CLEAR_PED_ALTERNATE_WALK_ANIM"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.end_call("8844BBFCE30AA9E9");end, + -- stance: + -- 0 = idle + -- 1 = walk + -- 2 = running + -- + -- p5 = usually set to true + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + -- + -- Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json + ["SET_PED_ALTERNATE_MOVEMENT_ANIM"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] stance,--[[string]] animDictionary,--[[string]] animationName,--[[float]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(stance);native_invoker.push_arg_string(animDictionary);native_invoker.push_arg_string(animationName);native_invoker.push_arg_float(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("90A43CC281FFAB46");end, + ["CLEAR_PED_ALTERNATE_MOVEMENT_ANIM"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] stance,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(stance);native_invoker.push_arg_float(p2);native_invoker.end_call("D8D19675ED5FBDCE");end, + -- From the scripts: + -- PED::SET_PED_GESTURE_GROUP(PLAYER::PLAYER_PED_ID(), + -- "ANIM_GROUP_GESTURE_MISS_FRA0"); + -- PED::SET_PED_GESTURE_GROUP(PLAYER::PLAYER_PED_ID(), + -- "ANIM_GROUP_GESTURE_MISS_DocksSetup1"); + ["SET_PED_GESTURE_GROUP"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] animGroupGesture)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(animGroupGesture);native_invoker.end_call("DDF803377F94AAA8");end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["GET_ANIM_INITIAL_OFFSET_POSITION"]=--[[Vector3 (vector3)]] function(--[[string]] animDict,--[[string]] animName,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[float]] p8,--[[int]] p9)native_invoker.begin_call();native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_float(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("BE22B26DD764C040");return native_invoker.get_return_value_vector3();end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["GET_ANIM_INITIAL_OFFSET_ROTATION"]=--[[Vector3 (vector3)]] function(--[[string]] animDict,--[[string]] animName,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[float]] p8,--[[int]] p9)native_invoker.begin_call();native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_float(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("4B805E6046EE9E47");return native_invoker.get_return_value_vector3();end, + -- Ids + -- 0 - Head + -- 1 - Beard + -- 2 - Hair + -- 3 - Torso + -- 4 - Legs + -- 5 - Hands + -- 6 - Foot + -- 7 - ------ + -- 8 - Accessories 1 + -- 9 - Accessories 2 + -- 10- Decals + -- 11 - Auxiliary parts for torso + ["GET_PED_DRAWABLE_VARIATION"]=--[[int]] function(--[[Ped (int)]] ped,--[[int]] componentId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(componentId);native_invoker.end_call("67F3780DD425D4FC");return native_invoker.get_return_value_int();end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS"]=--[[int]] function(--[[Ped (int)]] ped,--[[int]] componentId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(componentId);native_invoker.end_call("27561561732A7842");return native_invoker.get_return_value_int();end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["GET_PED_TEXTURE_VARIATION"]=--[[int]] function(--[[Ped (int)]] ped,--[[int]] componentId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(componentId);native_invoker.end_call("04A355E041E004E6");return native_invoker.get_return_value_int();end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["GET_NUMBER_OF_PED_TEXTURE_VARIATIONS"]=--[[int]] function(--[[Ped (int)]] ped,--[[int]] componentId,--[[int]] drawableId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(componentId);native_invoker.push_arg_int(drawableId);native_invoker.end_call("8F7156A3142A6BAD");return native_invoker.get_return_value_int();end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS"]=--[[int]] function(--[[Ped (int)]] ped,--[[int]] propId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(propId);native_invoker.end_call("5FAF9754E789FB47");return native_invoker.get_return_value_int();end, + -- Need to check behavior when drawableId = -1 + -- + -- - Doofy.Ass + -- Why this function doesn't work and return nill value? + -- GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS(PLAYER.PLAYER_PED_ID(), 0, 5) + -- + -- tick: scripts/addins/menu_execute.lua:51: attempt to call field 'GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS' (a nil value) + -- + -- + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS"]=--[[int]] function(--[[Ped (int)]] ped,--[[int]] propId,--[[int]] drawableId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(propId);native_invoker.push_arg_int(drawableId);native_invoker.end_call("A6E7F1CEB523E171");return native_invoker.get_return_value_int();end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["GET_PED_PALETTE_VARIATION"]=--[[int]] function(--[[Ped (int)]] ped,--[[int]] componentId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(componentId);native_invoker.end_call("E3DD5F2A84B42281");return native_invoker.get_return_value_int();end, + ["_0x9E30E91FB03A2CAF"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("9E30E91FB03A2CAF");return native_invoker.get_return_value_bool();end, + -- GET_* + ["_0x1E77FA7A62EE6C4C"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("1E77FA7A62EE6C4C");return native_invoker.get_return_value_int();end, + -- GET_* + ["_0xF033419D1B81FAE8"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F033419D1B81FAE8");return native_invoker.get_return_value_int();end, + -- Checks if the component variation is valid, this works great for randomizing components using loops. + -- + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + -- + -- Full list of ped components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedComponentVariations.json + ["IS_PED_COMPONENT_VARIATION_VALID"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] componentId,--[[int]] drawableId,--[[int]] textureId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(componentId);native_invoker.push_arg_int(drawableId);native_invoker.push_arg_int(textureId);native_invoker.end_call("E825F6B6CEA7671D");return native_invoker.get_return_value_bool();end, + -- paletteId/palletColor - 0 to 3. + -- enum PedVariationData + -- { + -- PED_VARIATION_FACE = 0, + -- PED_VARIATION_HEAD = 1, + -- PED_VARIATION_HAIR = 2, + -- PED_VARIATION_TORSO = 3, + -- PED_VARIATION_LEGS = 4, + -- PED_VARIATION_HANDS = 5, + -- PED_VARIATION_FEET = 6, + -- PED_VARIATION_EYES = 7, + -- PED_VARIATION_ACCESSORIES = 8, + -- PED_VARIATION_TASKS = 9, + -- PED_VARIATION_TEXTURES = 10, + -- PED_VARIATION_TORSO2 = 11 + -- }; + -- Usage: + -- SET_PED_COMPONENT_VARIATION(playerPed, PED_VARIATION_FACE, GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS(playerPed, PED_VARIATION_FACE), GET_NUMBER_OF_PED_TEXTURE_VARIATIONS(playerPed, PED_VARIATION_FACE, 0), 2); + -- + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + -- + -- Full list of ped components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedComponentVariations.json + ["SET_PED_COMPONENT_VARIATION"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] componentId,--[[int]] drawableId,--[[int]] textureId,--[[int]] paletteId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(componentId);native_invoker.push_arg_int(drawableId);native_invoker.push_arg_int(textureId);native_invoker.push_arg_int(paletteId);native_invoker.end_call("262B14F48D29DE80");end, + -- p1 is always 0 in R* scripts. + -- + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["SET_PED_RANDOM_COMPONENT_VARIATION"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("C8A9481A01E63C28");end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["SET_PED_RANDOM_PROPS"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("C44AA05345C992C6");end, + -- Sets Ped Default Clothes + ["SET_PED_DEFAULT_COMPONENT_VARIATION"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("45EEE61580806D63");end, + ["SET_PED_BLEND_FROM_PARENTS"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[float]] p3,--[[float]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.end_call("137BBD05230DB22D");end, + -- The "shape" parameters control the shape of the ped's face. The "skin" parameters control the skin tone. ShapeMix and skinMix control how much the first and second IDs contribute,(typically mother and father.) ThirdMix overrides the others in favor of the third IDs. IsParent is set for "children" of the player character's grandparents during old-gen character creation. It has unknown effect otherwise. + -- + -- The IDs start at zero and go Male Non-DLC, Female Non-DLC, Male DLC, and Female DLC. + -- + -- !!!Can someone add working example for this??? + -- + -- try this: + -- headBlendData headData; + -- GET_PED_HEAD_BLEND_DATA(PLAYER_PED_ID(), &headData); + -- + -- SET_PED_HEAD_BLEND_DATA(PLAYER_PED_ID(), headData.shapeFirst, headData.shapeSecond, headData.shapeThird, headData.skinFirst, headData.skinSecond + -- , headData.skinThird, headData.shapeMix, headData.skinMix, headData.skinThird, 0); + -- + -- + -- For more info please refer to this topic. + -- gtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained + ["SET_PED_HEAD_BLEND_DATA"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] shapeFirstID,--[[int]] shapeSecondID,--[[int]] shapeThirdID,--[[int]] skinFirstID,--[[int]] skinSecondID,--[[int]] skinThirdID,--[[float]] shapeMix,--[[float]] skinMix,--[[float]] thirdMix,--[[BOOL (bool)]] isParent)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(shapeFirstID);native_invoker.push_arg_int(shapeSecondID);native_invoker.push_arg_int(shapeThirdID);native_invoker.push_arg_int(skinFirstID);native_invoker.push_arg_int(skinSecondID);native_invoker.push_arg_int(skinThirdID);native_invoker.push_arg_float(shapeMix);native_invoker.push_arg_float(skinMix);native_invoker.push_arg_float(thirdMix);native_invoker.push_arg_bool(isParent);native_invoker.end_call("9414E18B9434C2FE");end, + -- The pointer is to a padded struct that matches the arguments to SET_PED_HEAD_BLEND_DATA(...). There are 4 bytes of padding after each field. + -- pass this struct in the second parameter + -- typedef struct + -- { + -- int shapeFirst, shapeSecond, shapeThird; + -- int skinFirst, skinSecond, skinThird; + -- float shapeMix, skinMix, thirdMix; + -- } headBlendData; + ["GET_PED_HEAD_BLEND_DATA"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Any* (pointer)]] headBlendData)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(headBlendData);native_invoker.end_call("2746BD9D88C5C5D0");return native_invoker.get_return_value_bool();end, + -- See SET_PED_HEAD_BLEND_DATA(). + ["UPDATE_PED_HEAD_BLEND_DATA"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] shapeMix,--[[float]] skinMix,--[[float]] thirdMix)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(shapeMix);native_invoker.push_arg_float(skinMix);native_invoker.push_arg_float(thirdMix);native_invoker.end_call("723538F61C647C5A");end, + -- Used for freemode (online) characters. + -- + -- For some reason, the scripts use a rounded float for the index. + -- Indexes: + -- 1. black + -- 2. very light blue/green + -- 3. dark blue + -- 4. brown + -- 5. darker brown + -- 6. light brown + -- 7. blue + -- 8. light blue + -- 9. pink + -- 10. yellow + -- 11. purple + -- 12. black + -- 13. dark green + -- 14. light brown + -- 15. yellow/black pattern + -- 16. light colored spiral pattern + -- 17. shiny red + -- 18. shiny half blue/half red + -- 19. half black/half light blue + -- 20. white/red perimter + -- 21. green snake + -- 22. red snake + -- 23. dark blue snake + -- 24. dark yellow + -- 25. bright yellow + -- 26. all black + -- 28. red small pupil + -- 29. devil blue/black + -- 30. white small pupil + -- 31. glossed over + ["_SET_PED_EYE_COLOR"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(index);native_invoker.end_call("50B56988B170AFDF");end, + -- A getter for _SET_PED_EYE_COLOR. Returns -1 if fails to get. + ["_GET_PED_EYE_COLOR"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("76BBA2CEE66D47E9");return native_invoker.get_return_value_int();end, + -- OverlayID ranges from 0 to 12, index from 0 to _GET_NUM_OVERLAY_VALUES(overlayID)-1, and opacity from 0.0 to 1.0. + -- + -- overlayID Part Index, to disable + -- 0 Blemishes 0 - 23, 255 + -- 1 Facial Hair 0 - 28, 255 + -- 2 Eyebrows 0 - 33, 255 + -- 3 Ageing 0 - 14, 255 + -- 4 Makeup 0 - 74, 255 + -- 5 Blush 0 - 6, 255 + -- 6 Complexion 0 - 11, 255 + -- 7 Sun Damage 0 - 10, 255 + -- 8 Lipstick 0 - 9, 255 + -- 9 Moles/Freckles 0 - 17, 255 + -- 10 Chest Hair 0 - 16, 255 + -- 11 Body Blemishes 0 - 11, 255 + -- 12 Add Body Blemishes 0 - 1, 255 + ["SET_PED_HEAD_OVERLAY"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] overlayID,--[[int]] index,--[[float]] opacity)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(overlayID);native_invoker.push_arg_int(index);native_invoker.push_arg_float(opacity);native_invoker.end_call("48F44967FA05CC1E");end, + -- Likely a char, if that overlay is not set, e.i. "None" option, returns 255; + -- + -- This might be the once removed native GET_PED_HEAD_OVERLAY. + ["_GET_PED_HEAD_OVERLAY_VALUE"]=--[[int]] function(--[[Ped (int)]] ped,--[[int]] overlayID)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(overlayID);native_invoker.end_call("A60EF3B6461A4D43");return native_invoker.get_return_value_int();end, + -- Used with freemode (online) characters. + ["GET_PED_HEAD_OVERLAY_NUM"]=--[[int]] function(--[[int]] overlayID)native_invoker.begin_call();native_invoker.push_arg_int(overlayID);native_invoker.end_call("CF1CE768BB43480E");return native_invoker.get_return_value_int();end, + -- Used for freemode (online) characters. + -- + -- ColorType is 1 for eyebrows, beards, and chest hair; 2 for blush and lipstick; and 0 otherwise, though not called in those cases. + -- + -- Called after SET_PED_HEAD_OVERLAY(). + ["_SET_PED_HEAD_OVERLAY_COLOR"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] overlayID,--[[int]] colorType,--[[int]] colorID,--[[int]] secondColorID)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(overlayID);native_invoker.push_arg_int(colorType);native_invoker.push_arg_int(colorID);native_invoker.push_arg_int(secondColorID);native_invoker.end_call("497BF74A7B9CB952");end, + -- Used for freemode (online) characters. + ["_SET_PED_HAIR_COLOR"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] colorID,--[[int]] highlightColorID)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(colorID);native_invoker.push_arg_int(highlightColorID);native_invoker.end_call("4CFFC65454C93A49");end, + -- Used for freemode (online) characters. + ["_GET_NUM_HAIR_COLORS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("E5C0CF872C2AD150");return native_invoker.get_return_value_int();end, + ["_GET_NUM_MAKEUP_COLORS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("D1F7CA1535D22818");return native_invoker.get_return_value_int();end, + -- Input: Haircolor index, value between 0 and 63 (inclusive). + -- Output: RGB values for the haircolor specified in the input. + -- + -- This is used with the hair color swatches scaleform. + -- Use `_0x013E5CFC38CD5387` to get the makeup colors. + ["_GET_PED_HAIR_RGB_COLOR"]=--[[void]] function(--[[int]] hairColorIndex,--[[int* (pointer)]] outR,--[[int* (pointer)]] outG,--[[int* (pointer)]] outB)native_invoker.begin_call();native_invoker.push_arg_int(hairColorIndex);native_invoker.push_arg_pointer(outR);native_invoker.push_arg_pointer(outG);native_invoker.push_arg_pointer(outB);native_invoker.end_call("4852FC386E2E1BB5");end, + -- Input: Makeup color index, value between 0 and 63 (inclusive). + -- Output: RGB values for the makeup color specified in the input. + -- + -- This is used with the makeup color swatches scaleform. + -- Use `_0x4852FC386E2E1BB5` to get the hair colors. + ["_GET_PED_MAKEUP_RGB_COLOR"]=--[[void]] function(--[[int]] makeupColorIndex,--[[int* (pointer)]] outR,--[[int* (pointer)]] outG,--[[int* (pointer)]] outB)native_invoker.begin_call();native_invoker.push_arg_int(makeupColorIndex);native_invoker.push_arg_pointer(outR);native_invoker.push_arg_pointer(outG);native_invoker.push_arg_pointer(outB);native_invoker.end_call("013E5CFC38CD5387");end, + ["_IS_PED_HAIR_COLOR_VALID_2"]=--[[BOOL (bool)]] function(--[[int]] colorId)native_invoker.begin_call();native_invoker.push_arg_int(colorId);native_invoker.end_call("ED6D8E27A43B8CDE");return native_invoker.get_return_value_bool();end, + ["_0xEA9960D07DADCF10"]=--[[int]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("EA9960D07DADCF10");return native_invoker.get_return_value_int();end, + ["_IS_PED_LIPSTICK_COLOR_VALID_2"]=--[[BOOL (bool)]] function(--[[int]] colorId)native_invoker.begin_call();native_invoker.push_arg_int(colorId);native_invoker.end_call("3E802F11FBE27674");return native_invoker.get_return_value_bool();end, + ["_IS_PED_BLUSH_COLOR_VALID_2"]=--[[BOOL (bool)]] function(--[[int]] colorId)native_invoker.begin_call();native_invoker.push_arg_int(colorId);native_invoker.end_call("F41B5D290C99A3D6");return native_invoker.get_return_value_bool();end, + ["_IS_PED_HAIR_COLOR_VALID"]=--[[BOOL (bool)]] function(--[[int]] colorID)native_invoker.begin_call();native_invoker.push_arg_int(colorID);native_invoker.end_call("E0D36E5D9E99CC21");return native_invoker.get_return_value_bool();end, + ["_0xAAA6A3698A69E048"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("AAA6A3698A69E048");return native_invoker.get_return_value_int();end, + ["_IS_PED_LIPSTICK_COLOR_VALID"]=--[[BOOL (bool)]] function(--[[int]] colorID)native_invoker.begin_call();native_invoker.push_arg_int(colorID);native_invoker.end_call("0525A2C2562F3CD4");return native_invoker.get_return_value_bool();end, + ["_IS_PED_BLUSH_COLOR_VALID"]=--[[BOOL (bool)]] function(--[[int]] colorID)native_invoker.begin_call();native_invoker.push_arg_int(colorID);native_invoker.end_call("604E810189EE3A59");return native_invoker.get_return_value_bool();end, + ["_IS_PED_BODY_BLEMISH_VALID"]=--[[BOOL (bool)]] function(--[[int]] colorId)native_invoker.begin_call();native_invoker.push_arg_int(colorId);native_invoker.end_call("09E7ECA981D9B210");return native_invoker.get_return_value_bool();end, + ["_0xC56FBF2F228E1DAC"]=--[[Any (int)]] function(--[[Hash (int)]] modelHash,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("C56FBF2F228E1DAC");return native_invoker.get_return_value_int();end, + -- Sets the various freemode face features, e.g. nose length, chin shape. Scale ranges from -1.0 to 1.0. + -- + -- Index can be 0 - 19 + -- + -- SET_PED_M* + -- + -- Here is the list of names. It starts at 0 and runs in sequence + -- + -- Face_Feature + -- + -- Nose_Width + -- + -- Nose_Peak_Hight + -- + -- Nose_Peak_Lenght + -- + -- Nose_Bone_High + -- + -- Nose_Peak_Lowering + -- + -- Nose_Bone_Twist + -- + -- EyeBrown_High + -- + -- EyeBrown_Forward + -- + -- Cheeks_Bone_High + -- + -- Cheeks_Bone_Width + -- + -- Cheeks_Width + -- + -- Eyes_Openning + -- + -- Lips_Thickness + -- + -- Jaw_Bone_Width: Bone size to sides + -- + -- Jaw_Bone_Back_Lenght: Bone size to back + -- + -- Chimp_Bone_Lowering: Go Down + -- + -- Chimp_Bone_Lenght: Go forward + -- + -- Chimp_Bone_Width + -- + -- Chimp_Hole + -- + -- Neck_Thikness + ["_SET_PED_FACE_FEATURE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] index,--[[float]] scale)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(index);native_invoker.push_arg_float(scale);native_invoker.end_call("71A5C1DBA060049E");end, + ["HAS_PED_HEAD_BLEND_FINISHED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("654CD0A825161131");return native_invoker.get_return_value_bool();end, + ["FINALIZE_HEAD_BLEND"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("4668D80430D6C299");end, + -- p4 seems to vary from 0 to 3. + -- Preview: https://gfycat.com/MaleRareAmazonparrot + ["SET_HEAD_BLEND_PALETTE_COLOR"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] r,--[[int]] g,--[[int]] b,--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.push_arg_int(id);native_invoker.end_call("CC9682B8951C5229");end, + ["DISABLE_HEAD_BLEND_PALETTE_COLOR"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("A21C118553BBDF02");end, + -- Type equals 0 for male non-dlc, 1 for female non-dlc, 2 for male dlc, and 3 for female dlc. + -- + -- Used when calling SET_PED_HEAD_BLEND_DATA. + ["GET_PED_HEAD_BLEND_FIRST_INDEX"]=--[[int]] function(--[[int]] type)native_invoker.begin_call();native_invoker.push_arg_int(type);native_invoker.end_call("68D353AB88B97E0C");return native_invoker.get_return_value_int();end, + -- Type equals 0 for male non-dlc, 1 for female non-dlc, 2 for male dlc, and 3 for female dlc. + ["_GET_NUM_PARENT_PEDS_OF_TYPE"]=--[[int]] function(--[[int]] type)native_invoker.begin_call();native_invoker.push_arg_int(type);native_invoker.end_call("5EF37013A6539C9D");return native_invoker.get_return_value_int();end, + -- from extreme3.c4 + -- PED::_39D55A620FCB6A3A(PLAYER::PLAYER_PED_ID(), 8, PED::GET_PED_DRAWABLE_VARIATION(PLAYER::PLAYER_PED_ID(), 8), PED::GET_PED_TEXTURE_VARIATION(PLAYER::PLAYER_PED_ID(), 8)); + -- + -- p1 is probably componentId + ["SET_PED_PRELOAD_VARIATION_DATA"]=--[[Any (int)]] function(--[[Ped (int)]] ped,--[[int]] slot,--[[int]] drawableId,--[[int]] textureId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(slot);native_invoker.push_arg_int(drawableId);native_invoker.push_arg_int(textureId);native_invoker.end_call("39D55A620FCB6A3A");return native_invoker.get_return_value_int();end, + ["HAS_PED_PRELOAD_VARIATION_DATA_FINISHED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("66680A92700F43DF");return native_invoker.get_return_value_bool();end, + ["RELEASE_PED_PRELOAD_VARIATION_DATA"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("5AAB586FFEC0FD96");end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["SET_PED_PRELOAD_PROP_DATA"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] componentId,--[[int]] drawableId,--[[int]] TextureId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(componentId);native_invoker.push_arg_int(drawableId);native_invoker.push_arg_int(TextureId);native_invoker.end_call("2B16A3BFF1FBCE49");return native_invoker.get_return_value_bool();end, + ["HAS_PED_PRELOAD_PROP_DATA_FINISHED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("784002A632822099");return native_invoker.get_return_value_bool();end, + ["RELEASE_PED_PRELOAD_PROP_DATA"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("F79F9DEF0AADE61A");end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["GET_PED_PROP_INDEX"]=--[[int]] function(--[[Ped (int)]] ped,--[[int]] componentId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(componentId);native_invoker.end_call("898CC20EA75BACD8");return native_invoker.get_return_value_int();end, + -- ComponentId can be set to various things based on what category you're wanting to set + -- enum PedPropsData + -- { + -- PED_PROP_HATS = 0, + -- PED_PROP_GLASSES = 1, + -- PED_PROP_EARS = 2, + -- PED_PROP_WATCHES = 3, + -- }; + -- Usage: SET_PED_PROP_INDEX(playerPed, PED_PROP_HATS, GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS(playerPed, PED_PROP_HATS), GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS(playerPed, PED_PROP_HATS, 0), TRUE); + -- + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["SET_PED_PROP_INDEX"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] componentId,--[[int]] drawableId,--[[int]] TextureId,--[[BOOL (bool)]] attach)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(componentId);native_invoker.push_arg_int(drawableId);native_invoker.push_arg_int(TextureId);native_invoker.push_arg_bool(attach);native_invoker.end_call("93376B65A266EB5F");end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["KNOCK_OFF_PED_PROP"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("6FD7816A36615F48");end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["CLEAR_PED_PROP"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] propId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(propId);native_invoker.end_call("0943E5B8E078E76E");end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["CLEAR_ALL_PED_PROPS"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("CD8A7537A9B52F06");end, + ["DROP_AMBIENT_PROP"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("AFF4710E2A0A6C12");end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["GET_PED_PROP_TEXTURE_INDEX"]=--[[int]] function(--[[Ped (int)]] ped,--[[int]] componentId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(componentId);native_invoker.end_call("E131A28626F81AB2");return native_invoker.get_return_value_int();end, + ["CLEAR_PED_PARACHUTE_PACK_VARIATION"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("1280804F7CFD2D6C");end, + -- This native sets a scuba mask for freemode models and an oxygen bottle for player_* models. It works on freemode and player_* models. + ["_SET_PED_SCUBA_GEAR_VARIATION"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("36C6984C3ED0C911");end, + -- Removes the scubagear (for mp male: component id: 8, drawableId: 123, textureId: any) from peds. Does not play the 'remove scuba gear' animation, but instantly removes it. + ["CLEAR_PED_SCUBA_GEAR_VARIATION"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("B50EB4CCB29704AC");end, + ["_0xFEC9A3B1820F3331"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("FEC9A3B1820F3331");return native_invoker.get_return_value_bool();end, + -- works with TASK::TASK_SET_BLOCKING_OF_NON_TEMPORARY_EVENTS to make a ped completely oblivious to all events going on around him + ["SET_BLOCKING_OF_NON_TEMPORARY_EVENTS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("9F8AA94D6D97DBF4");end, + ["SET_PED_BOUNDS_ORIENTATION"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.end_call("4F5F651ACCC9C4CF");end, + -- PED::REGISTER_TARGET(l_216, PLAYER::PLAYER_PED_ID()); from re_prisonbreak.txt. + -- + -- l_216 = RECSBRobber1 + ["REGISTER_TARGET"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] target)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(target);native_invoker.end_call("2F25D9AEFA34FBA2");end, + -- Based on TASK_COMBAT_HATED_TARGETS_AROUND_PED, the parameters are likely similar (PedHandle, and area to attack in). + ["REGISTER_HATED_TARGETS_AROUND_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(radius);native_invoker.end_call("9222F300BF8354FE");end, + -- Gets a random ped in the x/y/zRadius near the x/y/z coordinates passed. + -- + -- Ped Types: + -- Any = -1 + -- Player = 1 + -- Male = 4 + -- Female = 5 + -- Cop = 6 + -- Human = 26 + -- SWAT = 27 + -- Animal = 28 + -- Army = 29 + ["GET_RANDOM_PED_AT_COORD"]=--[[Ped (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] xRadius,--[[float]] yRadius,--[[float]] zRadius,--[[int]] pedType)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(xRadius);native_invoker.push_arg_float(yRadius);native_invoker.push_arg_float(zRadius);native_invoker.push_arg_int(pedType);native_invoker.end_call("876046A8E3A4B71C");return native_invoker.get_return_value_int();end, + -- Gets the closest ped in a radius. + -- + -- Ped Types: + -- Any ped = -1 + -- Player = 1 + -- Male = 4 + -- Female = 5 + -- Cop = 6 + -- Human = 26 + -- SWAT = 27 + -- Animal = 28 + -- Army = 29 + -- + -- ------------------ + -- P4 P5 P7 P8 + -- 1 0 x x = return nearest walking Ped + -- 1 x 0 x = return nearest walking Ped + -- x 1 1 x = return Ped you are using + -- 0 0 x x = no effect + -- 0 x 0 x = no effect + -- + -- x = can be 1 or 0. Does not have any obvious changes. + -- + -- This function does not return ped who is: + -- 1. Standing still + -- 2. Driving + -- 3. Fleeing + -- 4. Attacking + -- + -- This function only work if the ped is: + -- 1. walking normally. + -- 2. waiting to cross a road. + -- + -- Note: PED::GET_PED_NEARBY_PEDS works for more peds. + ["GET_CLOSEST_PED"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5,--[[Ped* (pointer)]] outPed,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8,--[[int]] pedType)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.push_arg_pointer(outPed);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_int(pedType);native_invoker.end_call("C33AB876A77F8164");return native_invoker.get_return_value_bool();end, + -- Sets a value indicating whether scenario peds should be returned by the next call to a command that returns peds. Eg. GET_CLOSEST_PED. + ["SET_SCENARIO_PEDS_TO_BE_RETURNED_BY_NEXT_COMMAND"]=--[[void]] function(--[[BOOL (bool)]] value)native_invoker.begin_call();native_invoker.push_arg_bool(value);native_invoker.end_call("14F19A8782C8071E");end, + ["_0x03EA03AF85A85CB7"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("03EA03AF85A85CB7");return native_invoker.get_return_value_bool();end, + -- Scripts use 0.2, 0.5 and 1.0. Value must be >= 0.0 && <= 1.0 + ["SET_DRIVER_RACING_MODIFIER"]=--[[void]] function(--[[Ped (int)]] driver,--[[float]] modifier)native_invoker.begin_call();native_invoker.push_arg_int(driver);native_invoker.push_arg_float(modifier);native_invoker.end_call("DED5AF5A0EA4B297");end, + -- The function specifically verifies the value is equal to, or less than 1.0f. If it is greater than 1.0f, the function does nothing at all. + ["SET_DRIVER_ABILITY"]=--[[void]] function(--[[Ped (int)]] driver,--[[float]] ability)native_invoker.begin_call();native_invoker.push_arg_int(driver);native_invoker.push_arg_float(ability);native_invoker.end_call("B195FFA8042FC5C3");end, + -- range 0.0f - 1.0f + ["SET_DRIVER_AGGRESSIVENESS"]=--[[void]] function(--[[Ped (int)]] driver,--[[float]] aggressiveness)native_invoker.begin_call();native_invoker.push_arg_int(driver);native_invoker.push_arg_float(aggressiveness);native_invoker.end_call("A731F608CA104E3C");end, + -- Prevents the ped from going limp. + -- + -- [Example: Can prevent peds from falling when standing on moving vehicles.] + ["CAN_PED_RAGDOLL"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("128F79EDCECE4FD5");return native_invoker.get_return_value_bool();end, + -- p4/p5: Unused in TU27 + -- Ragdoll Types: + -- **0**: CTaskNMRelax + -- **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments. + -- **Else**: CTaskNMBalance + -- time1- Time(ms) Ped is in ragdoll mode; only applies to ragdoll types 0 and not 1. + -- + -- time2- Unknown time, in milliseconds + -- + -- ragdollType- + -- 0 : Normal ragdoll + -- 1 : Falls with stiff legs/body + -- 2 : Narrow leg stumble(may not fall) + -- 3 : Wide leg stumble(may not fall) + -- + -- p4, p5, p6- No idea. In R*'s scripts they are usually either "true, true, false" or "false, false, false". + -- + -- + -- + -- + -- EDIT 3/11/16: unclear what 'mircoseconds' mean-- a microsecond is 1000x a ms, so time2 must be 1000x time1? more testing needed. -sob + -- + -- Edit Mar 21, 2017: removed part about time2 being the microseconds version of time1. this just isn't correct. time2 is in milliseconds, and time1 and time2 don't seem to be connected in any way. + ["SET_PED_TO_RAGDOLL"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] time1,--[[int]] time2,--[[int]] ragdollType,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(time1);native_invoker.push_arg_int(time2);native_invoker.push_arg_int(ragdollType);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(p6);native_invoker.end_call("AE99FB955581844A");return native_invoker.get_return_value_bool();end, + -- Return variable is never used in R*'s scripts. + -- + -- Not sure what p2 does. It seems like it would be a time judging by it's usage in R*'s scripts, but didn't seem to affect anything in my testings. + -- + -- x, y, and z are coordinates, most likely to where the ped will fall. + -- + -- p7 is probably the force of the fall, but untested, so I left the variable name the same. + -- + -- p8 to p13 are always 0f in R*'s scripts. + -- + -- (Simplified) Example of the usage of the function from R*'s scripts: + -- ped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f); + -- + ["SET_PED_TO_RAGDOLL_WITH_FALL"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] time,--[[int]] p2,--[[int]] ragdollType,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p7,--[[float]] p8,--[[float]] p9,--[[float]] p10,--[[float]] p11,--[[float]] p12,--[[float]] p13)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(time);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(ragdollType);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_float(p10);native_invoker.push_arg_float(p11);native_invoker.push_arg_float(p12);native_invoker.push_arg_float(p13);native_invoker.end_call("D76632D99E4966C8");return native_invoker.get_return_value_bool();end, + -- Causes Ped to ragdoll on collision with any object (e.g Running into trashcan). If applied to player you will sometimes trip on the sidewalk. + ["SET_PED_RAGDOLL_ON_COLLISION"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("F0A4F1BBF4FA7497");end, + -- If the ped handle passed through the parenthesis is in a ragdoll state this will return true. + ["IS_PED_RAGDOLL"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("47E4E977581C5B55");return native_invoker.get_return_value_bool();end, + ["IS_PED_RUNNING_RAGDOLL_TASK"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("E3B6097CC25AA69E");return native_invoker.get_return_value_bool();end, + ["SET_PED_RAGDOLL_FORCE_FALL"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("01F6594B923B9251");end, + ["RESET_PED_RAGDOLL_TIMER"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("9FA4664CF62E47E8");end, + ["SET_PED_CAN_RAGDOLL"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B128377056A54E2A");end, + ["IS_PED_RUNNING_MELEE_TASK"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("D1871251F3B5ACD7");return native_invoker.get_return_value_bool();end, + ["IS_PED_RUNNING_MOBILE_PHONE_TASK"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("2AFE52F782F25775");return native_invoker.get_return_value_bool();end, + -- Only called once in the scripts: + -- + -- if (sub_1abd() && (!PED::_A3F3564A5B3646C0(l_8C))) { + -- if (sub_52e3("RESNA_CELLR", 0)) { + -- PED::SET_PED_CAN_PLAY_GESTURE_ANIMS(l_8C, 1); + -- PED::SET_PED_CAN_PLAY_AMBIENT_ANIMS(l_8C, 1); + -- PED::SET_PED_CAN_PLAY_VISEME_ANIMS(l_8C, 1, 0); + -- l_184 += 1; + -- } + -- } + -- + -- Checks something related to the mobile phone task. + -- + -- IS_* + ["_0xA3F3564A5B3646C0"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("A3F3564A5B3646C0");return native_invoker.get_return_value_bool();end, + -- Works for both player and peds, but some flags don't seem to work for the player (1, for example) + -- + -- 1 - Blocks ragdolling when shot. + -- 2 - Blocks ragdolling when hit by a vehicle. The ped still might play a falling animation. + -- 4 - Blocks ragdolling when set on fire. + -- + -- ----------------------------------------------------------------------- + -- + -- There seem to be 26 flags + ["SET_RAGDOLL_BLOCKING_FLAGS"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(flags);native_invoker.end_call("26695EC767728D84");end, + -- There seem to be 26 flags + ["CLEAR_RAGDOLL_BLOCKING_FLAGS"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(flags);native_invoker.end_call("D86D101FCFD00A4B");end, + ["SET_PED_ANGLED_DEFENSIVE_AREA"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[BOOL (bool)]] p8,--[[BOOL (bool)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_bool(p9);native_invoker.end_call("C7F76DF27A5045A1");end, + ["SET_PED_SPHERE_DEFENSIVE_AREA"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(p6);native_invoker.end_call("9D3151A373974804");end, + ["SET_PED_DEFENSIVE_SPHERE_ATTACHED_TO_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] target,--[[float]] xOffset,--[[float]] yOffset,--[[float]] zOffset,--[[float]] radius,--[[BOOL (bool)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(target);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(zOffset);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(p6);native_invoker.end_call("F9B8F91AAD3B953E");end, + ["SET_PED_DEFENSIVE_SPHERE_ATTACHED_TO_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] target,--[[float]] xOffset,--[[float]] yOffset,--[[float]] zOffset,--[[float]] radius,--[[BOOL (bool)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(target);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(zOffset);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(p6);native_invoker.end_call("E4723DB6E736CCFF");end, + ["SET_PED_DEFENSIVE_AREA_ATTACHED_TO_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] attachPed,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[float]] p8,--[[BOOL (bool)]] p9,--[[BOOL (bool)]] p10)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(attachPed);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_bool(p9);native_invoker.push_arg_bool(p10);native_invoker.end_call("4EF47FE21698A8B6");end, + ["SET_PED_DEFENSIVE_AREA_DIRECTION"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("413C6C763A4AFFAD");end, + -- Ped will no longer get angry when you stay near him. + ["REMOVE_PED_DEFENSIVE_AREA"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("74D4E028107450A9");end, + ["GET_PED_DEFENSIVE_AREA_POSITION"]=--[[Vector3 (vector3)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("3C06B8786DD94CD1");return native_invoker.get_return_value_vector3();end, + ["IS_PED_DEFENSIVE_AREA_ACTIVE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("BA63D9FE45412247");return native_invoker.get_return_value_bool();end, + ["SET_PED_PREFERRED_COVER_SET"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any (int)]] itemSet)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(itemSet);native_invoker.end_call("8421EB4DA7E391B9");end, + ["REMOVE_PED_PREFERRED_COVER_SET"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("FDDB234CF74073D9");end, + -- It will revive/cure the injured ped. The condition is ped must not be dead. + -- + -- Upon setting and converting the health int, found, if health falls below 5, the ped will lay on the ground in pain(Maximum default health is 100). + -- + -- This function is well suited there. + ["REVIVE_INJURED_PED"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("8D8ACD8388CD99CE");end, + -- This function will simply bring the dead person back to life. + -- + -- Try not to use it alone, since using this function alone, will make peds fall through ground in hell(well for the most of the times). + -- + -- Instead, before calling this function, you may want to declare the position, where your Resurrected ped to be spawn at.(For instance, Around 2 floats of Player's current position.) + -- + -- Also, disabling any assigned task immediately helped in the number of scenarios, where If you want peds to perform certain decided tasks. + ["RESURRECT_PED"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("71BC8E838B9C6035");end, + -- NOTE: Debugging functions are not present in the retail version of the game. + -- + -- *untested but char *name could also be a hash for a localized string + ["SET_PED_NAME_DEBUG"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(name);native_invoker.end_call("98EFA132A4117BE1");end, + -- Gets the offset the specified ped has moved since the previous tick. + -- + -- If worldSpace is false, the returned offset is relative to the ped. That is, if the ped has moved 1 meter right and 5 meters forward, it'll return 1,5,0. + -- + -- If worldSpace is true, the returned offset is relative to the world. That is, if the ped has moved 1 meter on the X axis and 5 meters on the Y axis, it'll return 1,5,0. + ["GET_PED_EXTRACTED_DISPLACEMENT"]=--[[Vector3 (vector3)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] worldSpace)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(worldSpace);native_invoker.end_call("E0AF41401ADF87E3");return native_invoker.get_return_value_vector3();end, + ["SET_PED_DIES_WHEN_INJURED"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("5BA7919BED300023");end, + ["SET_PED_ENABLE_WEAPON_BLOCKING"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("97A790315D3831FD");end, + -- p1 was always 1 (true). + -- + -- Kicks the ped from the current vehicle and keeps the rendering-focus on this ped (also disables its collision). If doing this for your player ped, you'll still be able to drive the vehicle. + -- + -- Actual name begins with 'S' + ["_0xF9ACF4A08098EA25"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("F9ACF4A08098EA25");end, + ["RESET_PED_VISIBLE_DAMAGE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("3AC1F7B898F30C05");end, + ["APPLY_PED_BLOOD_DAMAGE_BY_ZONE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any (int)]] p1,--[[float]] p2,--[[float]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("816F6981C60BF53B");end, + -- Found one occurence in re_crashrescue.c4 + -- + -- PED::APPLY_PED_BLOOD(l_4B, 3, 0.0, 0.0, 0.0, "wound_sheet"); + -- + -- - winject + -- + -- + ["APPLY_PED_BLOOD"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] boneIndex,--[[float]] xRot,--[[float]] yRot,--[[float]] zRot,--[[string]] woundType)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(boneIndex);native_invoker.push_arg_float(xRot);native_invoker.push_arg_float(yRot);native_invoker.push_arg_float(zRot);native_invoker.push_arg_string(woundType);native_invoker.end_call("83F7E01C7B769A26");end, + ["APPLY_PED_BLOOD_BY_ZONE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any (int)]] p1,--[[float]] p2,--[[float]] p3,--[[Any* (pointer)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_pointer(p4);native_invoker.end_call("3311E47B91EDCBBC");end, + ["APPLY_PED_BLOOD_SPECIFIC"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any (int)]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[Any (int)]] p6,--[[float]] p7,--[[Any* (pointer)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_pointer(p8);native_invoker.end_call("EF0D582CBF2D9B0F");end, + -- enum eDamageZone + -- { + -- DZ_Torso = 0, + -- DZ_Head, + -- DZ_LeftArm, + -- DZ_RightArm, + -- DZ_LeftLeg, + -- DZ_RightLeg, + -- }; + -- + -- Decal Names: + -- scar + -- blushing + -- cs_flush_anger + -- cs_flush_anger_face + -- bruise + -- bruise_large + -- herpes + -- ArmorBullet + -- basic_dirt_cloth + -- basic_dirt_skin + -- cs_trev1_dirt + -- + -- APPLY_PED_DAMAGE_DECAL(ped, 1, 0.5f, 0.513f, 0f, 1f, unk, 0, 0, "blushing"); + ["APPLY_PED_DAMAGE_DECAL"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] damageZone,--[[float]] xOffset,--[[float]] yOffset,--[[float]] heading,--[[float]] scale,--[[float]] alpha,--[[int]] variation,--[[BOOL (bool)]] fadeIn,--[[string]] decalName)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(damageZone);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(heading);native_invoker.push_arg_float(scale);native_invoker.push_arg_float(alpha);native_invoker.push_arg_int(variation);native_invoker.push_arg_bool(fadeIn);native_invoker.push_arg_string(decalName);native_invoker.end_call("397C38AA7B4A5F83");end, + -- Damage Packs: + -- + -- "SCR_TrevorTreeBang" + -- "HOSPITAL_0" + -- "HOSPITAL_1" + -- "HOSPITAL_2" + -- "HOSPITAL_3" + -- "HOSPITAL_4" + -- "HOSPITAL_5" + -- "HOSPITAL_6" + -- "HOSPITAL_7" + -- "HOSPITAL_8" + -- "HOSPITAL_9" + -- "SCR_Dumpster" + -- "BigHitByVehicle" + -- "SCR_Finale_Michael_Face" + -- "SCR_Franklin_finb" + -- "SCR_Finale_Michael" + -- "SCR_Franklin_finb2" + -- "Explosion_Med" + -- "SCR_Torture" + -- "SCR_TracySplash" + -- "Skin_Melee_0" + -- + -- Additional damage packs: + -- + -- gist.github.com/alexguirre/f3f47f75ddcf617f416f3c8a55ae2227 + ["APPLY_PED_DAMAGE_PACK"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] damagePack,--[[float]] damage,--[[float]] mult)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(damagePack);native_invoker.push_arg_float(damage);native_invoker.push_arg_float(mult);native_invoker.end_call("46DF918788CB093F");end, + ["CLEAR_PED_BLOOD_DAMAGE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("8FE22675A5A45817");end, + -- Somehow related to changing ped's clothes. + ["CLEAR_PED_BLOOD_DAMAGE_BY_ZONE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("56E3B78C5408D9F4");end, + ["HIDE_PED_BLOOD_DAMAGE_BY_ZONE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any (int)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("62AB793144DE75DC");end, + -- p1: from 0 to 5 in the b617d scripts. + -- p2: "blushing" and "ALL" found in the b617d scripts. + ["CLEAR_PED_DAMAGE_DECAL_BY_ZONE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1,--[[string]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_string(p2);native_invoker.end_call("523C79AEEFCC4A2A");end, + ["GET_PED_DECORATIONS_STATE"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("71EAB450D86954A1");return native_invoker.get_return_value_int();end, + ["_0x2B694AFCF64E6994"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("2B694AFCF64E6994");end, + -- It clears the wetness of the selected Ped/Player. Clothes have to be wet to notice the difference. + ["CLEAR_PED_WETNESS"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("9C720776DAA43E7E");end, + -- It adds the wetness level to the player clothing/outfit. As if player just got out from water surface. + -- + -- + ["SET_PED_WETNESS_HEIGHT"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] height)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(height);native_invoker.end_call("44CB6447D2571AA0");end, + -- combined with PED::SET_PED_WETNESS_HEIGHT(), this native makes the ped drenched in water up to the height specified in the other function + ["SET_PED_WETNESS_ENABLED_THIS_FRAME"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("B5485E4907B53019");end, + ["CLEAR_PED_ENV_DIRT"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("6585D955A68452A5");end, + -- Sweat is set to 100.0 or 0.0 in the decompiled scripts. + ["SET_PED_SWEAT"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] sweat)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(sweat);native_invoker.end_call("27B0405F59637D1F");end, + -- Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals. + -- + -- collection - PedDecorationCollection filename hash + -- overlay - Item name hash + -- + -- Example: + -- Entry inside "mpbeach_overlays.xml" - + -- + -- + -- + -- + -- FM_Hair_Fuzz + -- mp_hair_fuzz + -- mp_hair_fuzz + -- ZONE_HEAD + -- TYPE_TATTOO + -- FM + -- All + -- GENDER_DONTCARE + -- + -- + -- + -- + -- Code: + -- PED::_0x5F5D1665E352A839(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("mpbeach_overlays"), MISC::GET_HASH_KEY("fm_hair_fuzz")) + -- + -- Full list of ped overlays / decorations by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedOverlayCollections.json + ["ADD_PED_DECORATION_FROM_HASHES"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] collection,--[[Hash (int)]] overlay)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(collection);native_invoker.push_arg_int(overlay);native_invoker.end_call("5F5D1665E352A839");end, + -- Full list of ped overlays / decorations by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedOverlayCollections.json + ["ADD_PED_DECORATION_FROM_HASHES_IN_CORONA"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] collection,--[[Hash (int)]] overlay)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(collection);native_invoker.push_arg_int(overlay);native_invoker.end_call("5619BFA07CFD7833");end, + -- Returns the zoneID for the overlay if it is a member of collection. + -- enum ePedDecorationZone + -- { + -- ZONE_TORSO = 0, + -- ZONE_HEAD = 1, + -- ZONE_LEFT_ARM = 2, + -- ZONE_RIGHT_ARM = 3, + -- ZONE_LEFT_LEG = 4, + -- ZONE_RIGHT_LEG = 5, + -- ZONE_UNKNOWN = 6, + -- ZONE_NONE = 7 + -- }; + -- + -- Full list of ped overlays / decorations by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedOverlayCollections.json + ["GET_PED_DECORATION_ZONE_FROM_HASHES"]=--[[int]] function(--[[Hash (int)]] collection,--[[Hash (int)]] overlay)native_invoker.begin_call();native_invoker.push_arg_int(collection);native_invoker.push_arg_int(overlay);native_invoker.end_call("9FD452BFBE7A7A8B");return native_invoker.get_return_value_int();end, + ["CLEAR_PED_DECORATIONS"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("0E5173C163976E38");end, + ["CLEAR_PED_DECORATIONS_LEAVE_SCARS"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("E3B27E70CEAB9F0C");end, + -- Despite this function's name, it simply returns whether the specified handle is a Ped. + ["WAS_PED_SKELETON_UPDATED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("11B499C1E0FF8559");return native_invoker.get_return_value_bool();end, + -- Gets the position of the specified bone of the specified ped. + -- + -- ped: The ped to get the position of a bone from. + -- boneId: The ID of the bone to get the position from. This is NOT the index. + -- offsetX: The X-component of the offset to add to the position relative to the bone's rotation. + -- offsetY: The Y-component of the offset to add to the position relative to the bone's rotation. + -- offsetZ: The Z-component of the offset to add to the position relative to the bone's rotation. + ["GET_PED_BONE_COORDS"]=--[[Vector3 (vector3)]] function(--[[Ped (int)]] ped,--[[int]] boneId,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(boneId);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.end_call("17C07FC640E86B4E");return native_invoker.get_return_value_vector3();end, + -- Creates a new NaturalMotion message. + -- + -- startImmediately: If set to true, the character will perform the message the moment it receives it by GIVE_PED_NM_MESSAGE. If false, the Ped will get the message but won't perform it yet. While it's a boolean value, if negative, the message will not be initialized. + -- messageId: The ID of the NaturalMotion message. + -- + -- If a message already exists, this function does nothing. A message exists until the point it has been successfully dispatched by GIVE_PED_NM_MESSAGE. + ["CREATE_NM_MESSAGE"]=--[[void]] function(--[[BOOL (bool)]] startImmediately,--[[int]] messageId)native_invoker.begin_call();native_invoker.push_arg_bool(startImmediately);native_invoker.push_arg_int(messageId);native_invoker.end_call("418EF2A1BCE56685");end, + -- Sends the message that was created by a call to CREATE_NM_MESSAGE to the specified Ped. + -- + -- If a message hasn't been created already, this function does nothing. + -- If the Ped is not ragdolled with Euphoria enabled, this function does nothing. + -- The following call can be used to ragdoll the Ped with Euphoria enabled: SET_PED_TO_RAGDOLL(ped, 4000, 5000, 1, 1, 1, 0); + -- + -- Call order: + -- SET_PED_TO_RAGDOLL + -- CREATE_NM_MESSAGE + -- GIVE_PED_NM_MESSAGE + -- + -- Multiple messages can be chained. Eg. to make the ped stagger and swing his arms around, the following calls can be made: + -- SET_PED_TO_RAGDOLL(ped, 4000, 5000, 1, 1, 1, 0); + -- CREATE_NM_MESSAGE(true, 0); // stopAllBehaviours - Stop all other behaviours, in case the Ped is already doing some Euphoria stuff. + -- GIVE_PED_NM_MESSAGE(ped); // Dispatch message to Ped. + -- CREATE_NM_MESSAGE(true, 1151); // staggerFall - Attempt to walk while falling. + -- GIVE_PED_NM_MESSAGE(ped); // Dispatch message to Ped. + -- CREATE_NM_MESSAGE(true, 372); // armsWindmill - Swing arms around. + -- GIVE_PED_NM_MESSAGE(ped); // Dispatch message to Ped. + ["GIVE_PED_NM_MESSAGE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("B158DFCCC56E5C5B");end, + ["ADD_SCENARIO_BLOCKING_AREA"]=--[[int]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8,--[[BOOL (bool)]] p9)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_bool(p9);native_invoker.end_call("1B5C85C612E5256E");return native_invoker.get_return_value_int();end, + ["REMOVE_SCENARIO_BLOCKING_AREAS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D37401D78A929A49");end, + ["REMOVE_SCENARIO_BLOCKING_AREA"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("31D16B74C6E29D66");end, + ["SET_SCENARIO_PEDS_SPAWN_IN_SPHERE_AREA"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] range,--[[int]] p4)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(range);native_invoker.push_arg_int(p4);native_invoker.end_call("28157D43CF600981");end, + ["_DOES_SCENARIO_BLOCKING_AREA_EXIST"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.end_call("8A24B067D175A7BD");return native_invoker.get_return_value_bool();end, + -- Full list of ped scenarios by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json + ["IS_PED_USING_SCENARIO"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[string]] scenario)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(scenario);native_invoker.end_call("1BF094736DD62C2E");return native_invoker.get_return_value_bool();end, + ["IS_PED_USING_ANY_SCENARIO"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("57AB4A3080F85143");return native_invoker.get_return_value_bool();end, + ["SET_PED_PANIC_EXIT_SCENARIO"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("FE07FF6495D52E2A");return native_invoker.get_return_value_int();end, + ["_0x9A77DFD295E29B09"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("9A77DFD295E29B09");end, + ["_0x25361A96E0F7E419"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("25361A96E0F7E419");return native_invoker.get_return_value_int();end, + ["_0xEC6935EBE0847B90"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("EC6935EBE0847B90");return native_invoker.get_return_value_int();end, + ["_0xA3A9299C4F2ADB98"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A3A9299C4F2ADB98");end, + ["_0xF1C03A5352243A30"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F1C03A5352243A30");end, + ["_0xEEED8FAFEC331A70"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("EEED8FAFEC331A70");return native_invoker.get_return_value_int();end, + ["_0x425AECF167663F48"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("425AECF167663F48");end, + ["_0x5B6010B3CBC29095"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("5B6010B3CBC29095");end, + ["_0xCEDA60A74219D064"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("CEDA60A74219D064");end, + ["_0xC30BDAEE47256C13"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("C30BDAEE47256C13");return native_invoker.get_return_value_int();end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["PLAY_FACIAL_ANIM"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] animName,--[[string]] animDict)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(animName);native_invoker.push_arg_string(animDict);native_invoker.end_call("E1E65CA8AC9C00ED");end, + -- Clipsets: + -- facials@gen_female@base + -- facials@gen_male@base + -- facials@p_m_zero@base + -- + -- Typically followed with SET_FACIAL_IDLE_ANIM_OVERRIDE: + -- mood_drunk_1 + -- mood_stressed_1 + -- mood_happy_1 + -- mood_talking_1 + -- + ["_SET_FACIAL_CLIPSET_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] animDict)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(animDict);native_invoker.end_call("5687C7F05B39E401");end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["SET_FACIAL_IDLE_ANIM_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] animName,--[[string]] animDict)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(animName);native_invoker.push_arg_string(animDict);native_invoker.end_call("FFC24B988B938B38");end, + ["CLEAR_FACIAL_IDLE_ANIM_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("726256CC1EEB182F");end, + ["SET_PED_CAN_PLAY_GESTURE_ANIMS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("BAF20C5432058024");end, + -- p2 usually 0 + ["SET_PED_CAN_PLAY_VISEME_ANIMS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_bool(p2);native_invoker.end_call("F833DDBA3B104D43");end, + ["_SET_PED_CAN_PLAY_INJURED_ANIMS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("33A60D8BDD6E508C");end, + ["SET_PED_CAN_PLAY_AMBIENT_ANIMS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("6373D1349925A70E");end, + ["SET_PED_CAN_PLAY_AMBIENT_BASE_ANIMS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("0EB0585D15254740");end, + ["_0xC2EE020F5FB4DB53"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("C2EE020F5FB4DB53");end, + ["SET_PED_CAN_ARM_IK"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("6C3B4D6D13B4C841");end, + ["SET_PED_CAN_HEAD_IK"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C11C18092C5530DC");end, + ["SET_PED_CAN_LEG_IK"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("73518ECE2485412B");end, + ["SET_PED_CAN_TORSO_IK"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("F2B7106D37947CE0");end, + ["SET_PED_CAN_TORSO_REACT_IK"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("F5846EDB26A98A24");end, + ["_0x6647C5F6F5792496"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("6647C5F6F5792496");end, + ["SET_PED_CAN_USE_AUTO_CONVERSATION_LOOKAT"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("EC4686EC06434678");end, + ["IS_PED_HEADTRACKING_PED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped1,--[[Ped (int)]] ped2)native_invoker.begin_call();native_invoker.push_arg_int(ped1);native_invoker.push_arg_int(ped2);native_invoker.end_call("5CD3CB88A7F8850D");return native_invoker.get_return_value_bool();end, + ["IS_PED_HEADTRACKING_ENTITY"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(entity);native_invoker.end_call("813A0A7C9D2E831F");return native_invoker.get_return_value_bool();end, + -- This is only called once in the scripts. + -- + -- sub_1CD9(&l_49, 0, getElem(3, &l_34, 4), "MICHAEL", 0, 1); + -- sub_1CA8("WORLD_HUMAN_SMOKING", 2); + -- PED::SET_PED_PRIMARY_LOOKAT(getElem(3, &l_34, 4), PLAYER::PLAYER_PED_ID()); + ["SET_PED_PRIMARY_LOOKAT"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] lookAt)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(lookAt);native_invoker.end_call("CD17B554996A8D9E");end, + ["SET_PED_CLOTH_PACKAGE_INDEX"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("78C4E9961DB3EB5B");end, + ["SET_PED_CLOTH_PRONE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("82A3D6D9CC2CB8E3");end, + ["_0xA660FAF550EB37E5"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("A660FAF550EB37E5");end, + -- Research help : pastebin.com/fPL1cSwB + -- New items added with underscore as first char + -- ----------------------------------------------------------------------- + -- + -- enum PedConfigFlags + -- { + -- PED_FLAG_CAN_FLY_THRU_WINDSCREEN = 32, + -- PED_FLAG_DIES_BY_RAGDOLL = 33, + -- PED_FLAG_NO_COLLISION = 52, + -- _PED_FLAG_IS_SHOOTING = 58, + -- _PED_FLAG_IS_ON_GROUND = 60, + -- PED_FLAG_NO_COLLIDE = 62, + -- PED_FLAG_DEAD = 71, + -- PED_FLAG_IS_SNIPER_SCOPE_ACTIVE = 72, + -- PED_FLAG_SUPER_DEAD = 73, + -- _PED_FLAG_IS_IN_AIR = 76, + -- PED_FLAG_IS_AIMING = 78, + -- PED_FLAG_DRUNK = 100, + -- _PED_FLAG_IS_NOT_RAGDOLL_AND_NOT_PLAYING_ANIM = 104, + -- PED_FLAG_NO_PLAYER_MELEE = 122, + -- PED_FLAG_NM_MESSAGE_466 = 125, + -- PED_FLAG_INJURED_LIMP = 166, + -- PED_FLAG_INJURED_LIMP_2 = 170, + -- PED_FLAG_INJURED_DOWN = 187, + -- PED_FLAG_SHRINK = 223, + -- PED_FLAG_MELEE_COMBAT = 224, + -- _PED_FLAG_IS_ON_STAIRS = 253, + -- _PED_FLAG_HAS_ONE_LEG_ON_GROUND = 276, + -- PED_FLAG_NO_WRITHE = 281, + -- PED_FLAG_FREEZE = 292, + -- PED_FLAG_IS_STILL = 301, + -- PED_FLAG_NO_PED_MELEE = 314, + -- _PED_SWITCHING_WEAPON = 331, + -- PED_FLAG_ALPHA = 410, + -- }; + -- + -- (*) When flagId is set to 33 and the bool value to true, peds will die by starting ragdoll, so you should set this flag to false when you resurrect a ped. + -- When flagId is set to 62 and the boolvalue to false this happens: Ped is taken out of vehicle and can't get back in when jacking their empty vehicle. If in a plane it falls from the sky and crashes. Sometimes peds vehicle continue to drive the route without its driver who's running after. + -- + -- (*) + -- JUMPING CHANGES 60,61,104 TO FALSE + -- BEING ON WATER CHANGES 60,61 TO FALSE AND 65,66,168 TO TRUE + -- FALLING CHANGES 60,61,104,276 TO FALSE AND TO 76 TRUE + -- DYING CHANGES 60,61,104,276* TO FALSE AND (NONE) TO TRUE + -- DYING MAKES 60,61,104 TO FALSE + -- BEING IN A CAR CHANGES 60,79,104 TO FALSE AND 62 TO TRUE + -- + -- (*)Maximum value for flagId is 0x1AA (426) in b944. + -- ID 0xF0 (240) appears to be a special flag which is handled different compared to the others IDs. + -- + ["SET_PED_CONFIG_FLAG"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] flagId,--[[BOOL (bool)]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(flagId);native_invoker.push_arg_bool(value);native_invoker.end_call("1913FE4CBF41C463");end, + -- PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 240, 1); + -- Known values: + -- PRF_PreventGoingIntoStillInVehicleState = 236 *(fanatic2.c)* + ["SET_PED_RESET_FLAG"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] flagId,--[[BOOL (bool)]] doReset)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(flagId);native_invoker.push_arg_bool(doReset);native_invoker.end_call("C1E8A365BF3B29F2");end, + -- p2 is always 1 in the scripts. + -- + -- if (GET_PED_CONFIG_FLAG(ped, 78, 1)) + -- = returns true if ped is aiming/shooting a gun + ["GET_PED_CONFIG_FLAG"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] flagId,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(flagId);native_invoker.push_arg_bool(p2);native_invoker.end_call("7EE53118C892B513");return native_invoker.get_return_value_bool();end, + ["GET_PED_RESET_FLAG"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] flagId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(flagId);native_invoker.end_call("AF9E59B1B1FBF2A0");return native_invoker.get_return_value_bool();end, + ["SET_PED_GROUP_MEMBER_PASSENGER_INDEX"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(index);native_invoker.end_call("0BDDB8D9EC6BCF3C");end, + ["SET_PED_CAN_EVASIVE_DIVE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("6B7A646C242A7059");end, + -- Presumably returns the Entity that the Ped is currently diving out of the way of. + -- + -- var num3; + -- if (PED::IS_PED_EVASIVE_DIVING(A_0, &num3) != 0) + -- if (ENTITY::IS_ENTITY_A_VEHICLE(num3) != 0) + ["IS_PED_EVASIVE_DIVING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Entity* (pointer)]] evadingEntity)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(evadingEntity);native_invoker.end_call("414641C26E105898");return native_invoker.get_return_value_bool();end, + ["SET_PED_SHOOTS_AT_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(toggle);native_invoker.end_call("96A05E4FB321B1BA");end, + -- Full list of peds by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/peds.json + ["SET_PED_MODEL_IS_SUPPRESSED"]=--[[void]] function(--[[Hash (int)]] modelHash,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.push_arg_bool(toggle);native_invoker.end_call("E163A4BCE4DE6F11");end, + ["STOP_ANY_PED_MODEL_BEING_SUPPRESSED"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B47BD05FA66B40CF");end, + ["SET_PED_CAN_BE_TARGETED_WHEN_INJURED"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("638C03B0F9878F57");end, + ["SET_PED_GENERATES_DEAD_BODY_EVENTS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("7FB17BA2E7DECA5B");end, + ["_BLOCK_PED_DEAD_BODY_SHOCKING_EVENTS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("E43A13C9E4CCCBCF");end, + ["_0x3E9679C1DFCF422C"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("3E9679C1DFCF422C");end, + ["SET_PED_CAN_RAGDOLL_FROM_PLAYER_IMPACT"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("DF993EE5E90ABA25");end, + -- PoliceMotorcycleHelmet 1024 + -- RegularMotorcycleHelmet 4096 + -- FiremanHelmet 16384 + -- PilotHeadset 32768 + -- PilotHelmet 65536 + -- -- + -- p2 is generally 4096 or 16384 in the scripts. p1 varies between 1 and 0. + ["GIVE_PED_HELMET"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] cannotRemove,--[[int]] helmetFlag,--[[int]] textureIndex)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(cannotRemove);native_invoker.push_arg_int(helmetFlag);native_invoker.push_arg_int(textureIndex);native_invoker.end_call("54C7C4A94367717E");end, + ["REMOVE_PED_HELMET"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] instantly)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(instantly);native_invoker.end_call("A7B2458D0AD6DED8");end, + -- IS_PED_* + ["_0x14590DDBEDB1EC85"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("14590DDBEDB1EC85");return native_invoker.get_return_value_bool();end, + ["SET_PED_HELMET"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] canWearHelmet)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(canWearHelmet);native_invoker.end_call("560A43136EB58105");end, + ["SET_PED_HELMET_FLAG"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] helmetFlag)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(helmetFlag);native_invoker.end_call("C0E78D5C2CE3EB25");end, + -- List of component/props ID + -- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html + ["SET_PED_HELMET_PROP_INDEX"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] propIndex,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(propIndex);native_invoker.push_arg_bool(p2);native_invoker.end_call("26D83693ED99291C");end, + ["_SET_PED_HELMET_UNK"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[int]] p2,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("3F7325574E41B44D");end, + ["_IS_PED_HELMET_UNK"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("B9496CE47546DB2C");return native_invoker.get_return_value_bool();end, + ["SET_PED_HELMET_TEXTURE_INDEX"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] textureIndex)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(textureIndex);native_invoker.end_call("F1550C4BD22582E2");end, + -- Returns true if the ped passed through the parenthesis is wearing a helmet. + ["IS_PED_WEARING_HELMET"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("F33BDFE19B309B19");return native_invoker.get_return_value_bool();end, + -- CLEAR_PED_* + ["_0x687C0B594907D2E8"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("687C0B594907D2E8");end, + ["_0x451294E859ECC018"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("451294E859ECC018");return native_invoker.get_return_value_int();end, + ["_0x9D728C1E12BF5518"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("9D728C1E12BF5518");return native_invoker.get_return_value_int();end, + ["_0xF2385935BFFD4D92"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F2385935BFFD4D92");return native_invoker.get_return_value_bool();end, + ["SET_PED_TO_LOAD_COVER"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("332B562EEDA62399");end, + -- It simply makes the said ped to cower behind cover object(wall, desk, car) + -- + -- Peds flee attributes must be set to not to flee, first. Else, most of the peds, will just flee from gunshot sounds or any other panic situations. + ["SET_PED_CAN_COWER_IN_COVER"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("CB7553CDCEF4A735");end, + ["SET_PED_CAN_PEEK_IN_COVER"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C514825C507E3736");end, + -- This native does absolutely nothing, just a nullsub + ["SET_PED_PLAYS_HEAD_ON_HORN_ANIM_WHEN_DIES_IN_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("94D94BF1A75AED3D");end, + -- "IK" stands for "Inverse kinematics." I assume this has something to do with how the ped uses his legs to balance. In the scripts, the second parameter is always an int with a value of 2, 0, or sometimes 1 + ["SET_PED_LEG_IK_MODE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] mode)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(mode);native_invoker.end_call("C396F5B86FF9FEBD");end, + ["SET_PED_MOTION_BLUR"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("0A986918B102B448");end, + ["SET_PED_CAN_SWITCH_WEAPON"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("ED7F7EFE9FABF340");end, + ["SET_PED_DIES_INSTANTLY_IN_WATER"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("EEB64139BA29A7CF");end, + -- Only appears in lamar1 script. + ["_0x1A330D297AAC6BC1"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("1A330D297AAC6BC1");end, + ["STOP_PED_WEAPON_FIRING_WHEN_DROPPED"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("C158D28142A34608");end, + ["SET_SCRIPTED_ANIM_SEAT_OFFSET"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.end_call("5917BBA32D06C230");end, + -- 0 - Stationary (Will just stand in place) + -- 1 - Defensive (Will try to find cover and very likely to blind fire) + -- 2 - Offensive (Will attempt to charge at enemy but take cover as well) + -- 3 - Suicidal Offensive (Will try to flank enemy in a suicidal attack) + ["SET_PED_COMBAT_MOVEMENT"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] combatMovement)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(combatMovement);native_invoker.end_call("4D9CA1009AFBD057");end, + ["GET_PED_COMBAT_MOVEMENT"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("DEA92412FCAEB3F5");return native_invoker.get_return_value_int();end, + -- 100 would equal attack + -- less then 50ish would mean run away + -- + -- Only the values 0, 1 and 2 occur in the decompiled scripts. Most likely refers directly to the values also described in combatbehaviour.meta: + -- 0: CA_Poor + -- 1: CA_Average + -- 2: CA_Professional + -- + -- Tested this and got the same results as the first explanation here. Could not find any difference between 0, 1 and 2. + ["SET_PED_COMBAT_ABILITY"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("C7622C0D36B2FDA8");end, + -- Only the values 0, 1 and 2 occur in the decompiled scripts. Most likely refers directly to the values also described as AttackRange in combatbehaviour.meta: + -- 0: CR_Near + -- 1: CR_Medium + -- 2: CR_Far + ["SET_PED_COMBAT_RANGE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("3C606747B23E497B");end, + ["GET_PED_COMBAT_RANGE"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("F9D9F7F2DB8E2FA0");return native_invoker.get_return_value_int();end, + -- These combat attributes seem to be the same as the BehaviourFlags from combatbehaviour.meta. + -- So far, these are the equivalents found: + -- enum CombatAttributes + -- { + -- BF_CanUseCover = 0, + -- BF_CanUseVehicles = 1, + -- BF_CanDoDrivebys = 2, + -- BF_CanLeaveVehicle = 3, + -- BF_CanFightArmedPedsWhenNotArmed = 5, + -- BF_CanTauntInVehicle = 20, + -- BF_AlwaysFight = 46, + -- BF_IgnoreTrafficWhenDriving = 52, + -- BF_FreezeMovement = 292, + -- BF_PlayerCanUseFiringWeapons = 1424 + -- }; + -- + -- 8 = ? + -- 9 = ? + -- 13 = ? + -- 14 ? + -- + -- Research thread: gtaforums.com/topic/833391-researchguide-combat-behaviour-flags/ + ["SET_PED_COMBAT_ATTRIBUTES"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] attributeIndex,--[[BOOL (bool)]] enabled)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(attributeIndex);native_invoker.push_arg_bool(enabled);native_invoker.end_call("9F7794730795E019");end, + -- Only 1 and 2 appear in the scripts. combatbehaviour.meta seems to only have TLR_SearchForTarget for all peds, but we don't know if that's 1 or 2. + ["SET_PED_TARGET_LOSS_RESPONSE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] responseType)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(responseType);native_invoker.end_call("0703B9079823DA4A");end, + ["IS_PED_PERFORMING_MELEE_ACTION"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("DCCA191DF9980FD7");return native_invoker.get_return_value_bool();end, + ["IS_PED_PERFORMING_STEALTH_KILL"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("FD4CCDBCC59941B7");return native_invoker.get_return_value_bool();end, + ["IS_PED_PERFORMING_DEPENDENT_COMBO_LIMIT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("EBD0EDBA5BE957CF");return native_invoker.get_return_value_bool();end, + ["IS_PED_BEING_STEALTH_KILLED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("863B23EFDE9C5DF2");return native_invoker.get_return_value_bool();end, + ["GET_MELEE_TARGET_FOR_PED"]=--[[Ped (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("18A3E9EE1297FD39");return native_invoker.get_return_value_int();end, + ["WAS_PED_KILLED_BY_STEALTH"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("F9800AA1A771B000");return native_invoker.get_return_value_bool();end, + ["WAS_PED_KILLED_BY_TAKEDOWN"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("7F08E26039C7347C");return native_invoker.get_return_value_bool();end, + ["WAS_PED_KNOCKED_OUT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("61767F73EACEED21");return native_invoker.get_return_value_bool();end, + -- bit 15 (0x8000) = force cower + ["SET_PED_FLEE_ATTRIBUTES"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] attributeFlags,--[[BOOL (bool)]] enable)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(attributeFlags);native_invoker.push_arg_bool(enable);native_invoker.end_call("70A2D1137C8ED7C9");end, + -- p1: Only "CODE_HUMAN_STAND_COWER" found in the b617d scripts. + ["SET_PED_COWER_HASH"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(p1);native_invoker.end_call("A549131166868ED3");end, + -- SET_PED_STE* + ["_0x2016C603D6B8987C"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2016C603D6B8987C");end, + ["SET_PED_STEERS_AROUND_PEDS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("46F2193B3AD1D891");end, + ["SET_PED_STEERS_AROUND_OBJECTS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("1509C089ADC208BF");end, + ["SET_PED_STEERS_AROUND_VEHICLES"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("EB6FB9D48DDE23EC");end, + ["_0xA9B61A329BFDCBEA"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("A9B61A329BFDCBEA");end, + ["SET_PED_INCREASED_AVOIDANCE_RADIUS"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("570389D1C3DE3C6B");end, + ["SET_PED_BLOCKS_PATHING_WHEN_DEAD"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("576594E8D64375E2");end, + ["_0xA52D5247A4227E14"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A52D5247A4227E14");end, + ["IS_ANY_PED_NEAR_POINT"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("083961498679DC9F");return native_invoker.get_return_value_bool();end, + -- Function.Call(Hash._0x2208438012482A1A, ped, 0, 0); + -- + -- This makes the ped have faster animations + -- + -- FORCE_* + ["_0x2208438012482A1A"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("2208438012482A1A");end, + ["IS_PED_HEADING_TOWARDS_POSITION"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p4);native_invoker.end_call("FCF37A457CB96DC0");return native_invoker.get_return_value_bool();end, + ["REQUEST_PED_VISIBILITY_TRACKING"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("7D7A2E43E74E2EB8");end, + ["REQUEST_PED_VEHICLE_VISIBILITY_TRACKING"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("2BC338A7B21F4608");end, + -- REQUEST_* + ["_0xCD018C591F94CB43"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("CD018C591F94CB43");end, + -- REQUEST_* + ["_0x75BA1CB3B7D40CAF"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("75BA1CB3B7D40CAF");end, + -- returns whether or not a ped is visible within your FOV, not this check auto's to false after a certain distance. + -- + -- + -- Target needs to be tracked.. won't work otherwise. + ["IS_TRACKED_PED_VISIBLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("91C8E617F64188AC");return native_invoker.get_return_value_bool();end, + -- GET_* + ["_0x511F1A683387C7E2"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("511F1A683387C7E2");return native_invoker.get_return_value_int();end, + ["IS_PED_TRACKED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("4C5E1F087CD10BB7");return native_invoker.get_return_value_bool();end, + ["HAS_PED_RECEIVED_EVENT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] eventId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(eventId);native_invoker.end_call("8507BCB710FA6DC0");return native_invoker.get_return_value_bool();end, + ["CAN_PED_SEE_HATED_PED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped1,--[[Ped (int)]] ped2)native_invoker.begin_call();native_invoker.push_arg_int(ped1);native_invoker.push_arg_int(ped2);native_invoker.end_call("6CD5A433374D4CFB");return native_invoker.get_return_value_bool();end, + ["_0x9C6A6C19B6C0C496"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(p1);native_invoker.end_call("9C6A6C19B6C0C496");return native_invoker.get_return_value_bool();end, + ["_0x2DFC81C9B9608549"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(p1);native_invoker.end_call("2DFC81C9B9608549");return native_invoker.get_return_value_bool();end, + -- no bone= -1 + -- + -- boneIds: + -- SKEL_ROOT = 0x0, + -- SKEL_Pelvis = 0x2e28, + -- SKEL_L_Thigh = 0xe39f, + -- SKEL_L_Calf = 0xf9bb, + -- SKEL_L_Foot = 0x3779, + -- SKEL_L_Toe0 = 0x83c, + -- IK_L_Foot = 0xfedd, + -- PH_L_Foot = 0xe175, + -- MH_L_Knee = 0xb3fe, + -- SKEL_R_Thigh = 0xca72, + -- SKEL_R_Calf = 0x9000, + -- SKEL_R_Foot = 0xcc4d, + -- SKEL_R_Toe0 = 0x512d, + -- IK_R_Foot = 0x8aae, + -- PH_R_Foot = 0x60e6, + -- MH_R_Knee = 0x3fcf, + -- RB_L_ThighRoll = 0x5c57, + -- RB_R_ThighRoll = 0x192a, + -- SKEL_Spine_Root = 0xe0fd, + -- SKEL_Spine0 = 0x5c01, + -- SKEL_Spine1 = 0x60f0, + -- SKEL_Spine2 = 0x60f1, + -- SKEL_Spine3 = 0x60f2, + -- SKEL_L_Clavicle = 0xfcd9, + -- SKEL_L_UpperArm = 0xb1c5, + -- SKEL_L_Forearm = 0xeeeb, + -- SKEL_L_Hand = 0x49d9, + -- SKEL_L_Finger00 = 0x67f2, + -- SKEL_L_Finger01 = 0xff9, + -- SKEL_L_Finger02 = 0xffa, + -- SKEL_L_Finger10 = 0x67f3, + -- SKEL_L_Finger11 = 0x1049, + -- SKEL_L_Finger12 = 0x104a, + -- SKEL_L_Finger20 = 0x67f4, + -- SKEL_L_Finger21 = 0x1059, + -- SKEL_L_Finger22 = 0x105a, + -- SKEL_L_Finger30 = 0x67f5, + -- SKEL_L_Finger31 = 0x1029, + -- SKEL_L_Finger32 = 0x102a, + -- SKEL_L_Finger40 = 0x67f6, + -- SKEL_L_Finger41 = 0x1039, + -- SKEL_L_Finger42 = 0x103a, + -- PH_L_Hand = 0xeb95, + -- IK_L_Hand = 0x8cbd, + -- RB_L_ForeArmRoll = 0xee4f, + -- RB_L_ArmRoll = 0x1470, + -- MH_L_Elbow = 0x58b7, + -- SKEL_R_Clavicle = 0x29d2, + -- SKEL_R_UpperArm = 0x9d4d, + -- SKEL_R_Forearm = 0x6e5c, + -- SKEL_R_Hand = 0xdead, + -- SKEL_R_Finger00 = 0xe5f2, + -- SKEL_R_Finger01 = 0xfa10, + -- SKEL_R_Finger02 = 0xfa11, + -- SKEL_R_Finger10 = 0xe5f3, + -- SKEL_R_Finger11 = 0xfa60, + -- SKEL_R_Finger12 = 0xfa61, + -- SKEL_R_Finger20 = 0xe5f4, + -- SKEL_R_Finger21 = 0xfa70, + -- SKEL_R_Finger22 = 0xfa71, + -- SKEL_R_Finger30 = 0xe5f5, + -- SKEL_R_Finger31 = 0xfa40, + -- SKEL_R_Finger32 = 0xfa41, + -- SKEL_R_Finger40 = 0xe5f6, + -- SKEL_R_Finger41 = 0xfa50, + -- SKEL_R_Finger42 = 0xfa51, + -- PH_R_Hand = 0x6f06, + -- IK_R_Hand = 0x188e, + -- RB_R_ForeArmRoll = 0xab22, + -- RB_R_ArmRoll = 0x90ff, + -- MH_R_Elbow = 0xbb0, + -- SKEL_Neck_1 = 0x9995, + -- SKEL_Head = 0x796e, + -- IK_Head = 0x322c, + -- FACIAL_facialRoot = 0xfe2c, + -- FB_L_Brow_Out_000 = 0xe3db, + -- FB_L_Lid_Upper_000 = 0xb2b6, + -- FB_L_Eye_000 = 0x62ac, + -- FB_L_CheekBone_000 = 0x542e, + -- FB_L_Lip_Corner_000 = 0x74ac, + -- FB_R_Lid_Upper_000 = 0xaa10, + -- FB_R_Eye_000 = 0x6b52, + -- FB_R_CheekBone_000 = 0x4b88, + -- FB_R_Brow_Out_000 = 0x54c, + -- FB_R_Lip_Corner_000 = 0x2ba6, + -- FB_Brow_Centre_000 = 0x9149, + -- FB_UpperLipRoot_000 = 0x4ed2, + -- FB_UpperLip_000 = 0xf18f, + -- FB_L_Lip_Top_000 = 0x4f37, + -- FB_R_Lip_Top_000 = 0x4537, + -- FB_Jaw_000 = 0xb4a0, + -- FB_LowerLipRoot_000 = 0x4324, + -- FB_LowerLip_000 = 0x508f, + -- FB_L_Lip_Bot_000 = 0xb93b, + -- FB_R_Lip_Bot_000 = 0xc33b, + -- FB_Tongue_000 = 0xb987, + -- RB_Neck_1 = 0x8b93, + -- IK_Root = 0xdd1c + ["GET_PED_BONE_INDEX"]=--[[int]] function(--[[Ped (int)]] ped,--[[int]] boneId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(boneId);native_invoker.end_call("3F428D08BE5AAE31");return native_invoker.get_return_value_int();end, + ["GET_PED_RAGDOLL_BONE_INDEX"]=--[[int]] function(--[[Ped (int)]] ped,--[[int]] bone)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(bone);native_invoker.end_call("2057EF813397A772");return native_invoker.get_return_value_int();end, + -- Values look to be between 0.0 and 1.0 + -- From decompiled scripts: 0.0, 0.6, 0.65, 0.8, 1.0 + -- + -- You are correct, just looked in IDA it breaks from the function if it's less than 0.0f or greater than 1.0f. + ["SET_PED_ENVEFF_SCALE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(value);native_invoker.end_call("BF29516833893561");end, + ["GET_PED_ENVEFF_SCALE"]=--[[float]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("9C14D30395A51A3C");return native_invoker.get_return_value_float();end, + ["SET_ENABLE_PED_ENVEFF_SCALE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D2C5AA0C0E8D0F1E");end, + -- In agency_heist3b.c4, its like this 90% of the time: + -- + -- PED::_110F526AB784111F(ped, 0.099); + -- PED::SET_PED_ENVEFF_SCALE(ped, 1.0); + -- PED::_D69411AA0CEBF9E9(ped, 87, 81, 68); + -- PED::SET_ENABLE_PED_ENVEFF_SCALE(ped, 1); + -- + -- and its like this 10% of the time: + -- + -- PED::_110F526AB784111F(ped, 0.2); + -- PED::SET_PED_ENVEFF_SCALE(ped, 0.65); + -- PED::_D69411AA0CEBF9E9(ped, 74, 69, 60); + -- PED::SET_ENABLE_PED_ENVEFF_SCALE(ped, 1); + ["_0x110F526AB784111F"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.end_call("110F526AB784111F");end, + -- Something related to the environmental effects natives. + -- In the "agency_heist3b" script, p1 - p3 are always under 100 - usually they are {87, 81, 68}. If SET_PED_ENVEFF_SCALE is set to 0.65 (instead of the usual 1.0), they use {74, 69, 60} + ["SET_PED_ENVEFF_COLOR_MODULATOR"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1,--[[int]] p2,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("D69411AA0CEBF9E9");end, + -- intensity: 0.0f - 1.0f + -- + -- This native sets the emissive intensity for the given ped. It is used for different 'glow' levels on illuminated clothing. + -- + -- Old name: _SET_PED_REFLECTION_INTENSITY + ["_SET_PED_EMISSIVE_INTENSITY"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] intensity)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(intensity);native_invoker.end_call("4E90D746056E273D");end, + -- Old name: _GET_PED_REFLECTION_INTENSITY + -- Use 0x4E90D746056E273D to set the illuminated clothing glow intensity for a specific ped. + -- Returns a float between 0.0 and 1.0 representing the current illuminated clothing glow intensity. + ["_GET_PED_EMISSIVE_INTENSITY"]=--[[float]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("1461B28A06717D68");return native_invoker.get_return_value_float();end, + ["_IS_PED_SHADER_EFFECT_VALID"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("81AA517FBBA05D39");return native_invoker.get_return_value_bool();end, + ["_0xE906EC930F5FE7C8"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("E906EC930F5FE7C8");end, + -- This native does absolutely nothing, just a nullsub + ["_0x1216E0BFA72CC703"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("1216E0BFA72CC703");end, + -- Enable/disable ped shadow (ambient occlusion). https://gfycat.com/thankfulesteemedgecko + ["SET_PED_AO_BLOB_RENDERING"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2B5AA717A181FB4C");end, + ["_0xB8B52E498014F5B0"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("B8B52E498014F5B0");return native_invoker.get_return_value_bool();end, + -- p6 always 2 (but it doesnt seem to matter...) + -- + -- roll and pitch 0 + -- yaw to Ped.rotation + ["CREATE_SYNCHRONIZED_SCENE"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] roll,--[[float]] pitch,--[[float]] yaw,--[[int]] p6)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(roll);native_invoker.push_arg_float(pitch);native_invoker.push_arg_float(yaw);native_invoker.push_arg_int(p6);native_invoker.end_call("8C18E0F9080ADD73");return native_invoker.get_return_value_int();end, + ["_CREATE_SYNCHRONIZED_SCENE_2"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] object)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(object);native_invoker.end_call("62EC273D00187DCA");return native_invoker.get_return_value_int();end, + -- Returns true if a synchronized scene is running + ["IS_SYNCHRONIZED_SCENE_RUNNING"]=--[[BOOL (bool)]] function(--[[int]] sceneId)native_invoker.begin_call();native_invoker.push_arg_int(sceneId);native_invoker.end_call("25D39B935A038A26");return native_invoker.get_return_value_bool();end, + ["SET_SYNCHRONIZED_SCENE_ORIGIN"]=--[[void]] function(--[[int]] sceneID,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] roll,--[[float]] pitch,--[[float]] yaw,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(sceneID);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(roll);native_invoker.push_arg_float(pitch);native_invoker.push_arg_float(yaw);native_invoker.push_arg_bool(p7);native_invoker.end_call("6ACF6B7225801CD7");end, + ["SET_SYNCHRONIZED_SCENE_PHASE"]=--[[void]] function(--[[int]] sceneID,--[[float]] phase)native_invoker.begin_call();native_invoker.push_arg_int(sceneID);native_invoker.push_arg_float(phase);native_invoker.end_call("734292F4F0ABF6D0");end, + ["GET_SYNCHRONIZED_SCENE_PHASE"]=--[[float]] function(--[[int]] sceneID)native_invoker.begin_call();native_invoker.push_arg_int(sceneID);native_invoker.end_call("E4A310B1D7FA73CC");return native_invoker.get_return_value_float();end, + ["SET_SYNCHRONIZED_SCENE_RATE"]=--[[void]] function(--[[int]] sceneID,--[[float]] rate)native_invoker.begin_call();native_invoker.push_arg_int(sceneID);native_invoker.push_arg_float(rate);native_invoker.end_call("B6C49F8A5E295A5D");end, + ["GET_SYNCHRONIZED_SCENE_RATE"]=--[[float]] function(--[[int]] sceneID)native_invoker.begin_call();native_invoker.push_arg_int(sceneID);native_invoker.end_call("D80932D577274D40");return native_invoker.get_return_value_float();end, + ["SET_SYNCHRONIZED_SCENE_LOOPED"]=--[[void]] function(--[[int]] sceneID,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(sceneID);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D9A897A4C6C2974F");end, + ["IS_SYNCHRONIZED_SCENE_LOOPED"]=--[[BOOL (bool)]] function(--[[int]] sceneID)native_invoker.begin_call();native_invoker.push_arg_int(sceneID);native_invoker.end_call("62522002E0C391BA");return native_invoker.get_return_value_bool();end, + ["SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME"]=--[[void]] function(--[[int]] sceneID,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(sceneID);native_invoker.push_arg_bool(toggle);native_invoker.end_call("394B9CD12435C981");end, + ["IS_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME"]=--[[BOOL (bool)]] function(--[[int]] sceneID)native_invoker.begin_call();native_invoker.push_arg_int(sceneID);native_invoker.end_call("7F2F4F13AC5257EF");return native_invoker.get_return_value_bool();end, + ["ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY"]=--[[void]] function(--[[int]] sceneID,--[[Entity (int)]] entity,--[[int]] boneIndex)native_invoker.begin_call();native_invoker.push_arg_int(sceneID);native_invoker.push_arg_int(entity);native_invoker.push_arg_int(boneIndex);native_invoker.end_call("272E4723B56A3B96");end, + ["DETACH_SYNCHRONIZED_SCENE"]=--[[void]] function(--[[int]] sceneID)native_invoker.begin_call();native_invoker.push_arg_int(sceneID);native_invoker.end_call("6D38F1F04CBB37EA");end, + ["_DISPOSE_SYNCHRONIZED_SCENE"]=--[[void]] function(--[[int]] scene)native_invoker.begin_call();native_invoker.push_arg_int(scene);native_invoker.end_call("CD9CC7E200A52A6F");end, + -- Some motionstate hashes are + -- + -- 0xec17e58 (standing idle), 0xbac0f10b (nothing?), 0x3f67c6af (aiming with pistol 2-h), 0x422d7a25 (stealth), 0xbd8817db, 0x916e828c + -- + -- and those for the strings + -- + -- "motionstate_idle", "motionstate_walk", "motionstate_run", "motionstate_actionmode_idle", and "motionstate_actionmode_walk". + -- + -- Regarding p2, p3 and p4: Most common is 0, 0, 0); followed by 0, 1, 0); and 1, 1, 0); in the scripts. p4 is very rarely something other than 0. + -- + -- [31/03/2017] ins1de : + -- + -- enum MotionState + -- { + -- StopRunning = -530524, + -- StopWalking = -668482597, + -- Idle = 247561816, // 1, 1, 0 + -- Idl2 = -1871534317, + -- SkyDive =-1161760501, // 0, 1, 0 + -- Stealth = 1110276645, + -- Sprint = -1115154469, + -- Swim = -1855028596, + -- Unknown1 = 1063765679, + -- Unknown2 = -633298724, + -- } + ["FORCE_PED_MOTION_STATE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] motionStateHash,--[[BOOL (bool)]] p2,--[[int]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(motionStateHash);native_invoker.push_arg_bool(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("F28965D04F570DCA");return native_invoker.get_return_value_bool();end, + -- seems very related to aiming but GET_PED_CONFIG* to GET_PED_DECORATIONS* and no clue what it might be + no joaat to confirm + ["_0xF60165E1D2C5370B"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("F60165E1D2C5370B");return native_invoker.get_return_value_bool();end, + ["SET_PED_MAX_MOVE_BLEND_RATIO"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(value);native_invoker.end_call("433083750C5E064A");end, + ["SET_PED_MIN_MOVE_BLEND_RATIO"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(value);native_invoker.end_call("01A898D26E2333DD");end, + -- Min: 0.00 + -- Max: 10.00 + -- + -- Can be used in combo with fast run cheat. + -- + -- When value is set to 10.00: + -- Sprinting without fast run cheat: 66 m/s + -- Sprinting with fast run cheat: 77 m/s + -- + -- Needs to be looped! + -- + -- Note: According to IDA for the Xbox360 xex, when they check bgt they seem to have the min to 0.0f, but the max set to 1.15f not 10.0f. + ["SET_PED_MOVE_RATE_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(value);native_invoker.end_call("085BF80FA50A39D1");end, + ["_0x0B3E35AC043707D9"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("0B3E35AC043707D9");end, + -- Checks if the specified unknown flag is set in the ped's model. + -- The engine itself seems to exclusively check for flags 1 and 4 (Might be inlined code of the check that checks for other flags). + -- Game scripts exclusively check for flags 1 and 4. + ["_0x46B05BCAE43856B0"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] flag)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(flag);native_invoker.end_call("46B05BCAE43856B0");return native_invoker.get_return_value_bool();end, + -- Returns size of array, passed into the second variable. + -- + -- See below for usage information. + -- + -- This function actually requires a struct, where the first value is the maximum number of elements to return. Here is a sample of how I was able to get it to work correctly, without yet knowing the struct format. + -- + -- //Setup the array + -- const int numElements = 10; + -- const int arrSize = numElements * 2 + 2; + -- Any veh[arrSize]; + -- //0 index is the size of the array + -- veh[0] = numElements; + -- + -- int count = PED::GET_PED_NEARBY_VEHICLES(PLAYER::PLAYER_PED_ID(), veh); + -- + -- if (veh != NULL) + -- { + -- //Simple loop to go through results + -- for (int i = 0; i < count; i++) + -- { + -- int offsettedID = i * 2 + 2; + -- //Make sure it exists + -- if (veh[offsettedID] != NULL && ENTITY::DOES_ENTITY_EXIST(veh[offsettedID])) + -- { + -- //Do something + -- } + -- } + -- } + ["GET_PED_NEARBY_VEHICLES"]=--[[int]] function(--[[Ped (int)]] ped,--[[int* (pointer)]] sizeAndVehs)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(sizeAndVehs);native_invoker.end_call("CFF869CBFA210D82");return native_invoker.get_return_value_int();end, + -- sizeAndPeds - is a pointer to an array. The array is filled with peds found nearby the ped supplied to the first argument. + -- ignore - ped type to ignore + -- + -- Return value is the number of peds found and added to the array passed. + -- + -- ----------------------------------- + -- + -- To make this work in most menu bases at least in C++ do it like so, + -- + -- Formatted Example: pastebin.com/D8an9wwp + -- + -- ----------------------------------- + -- + -- Example: gtaforums.com/topic/789788-function-args-to-pedget-ped-nearby-peds/?p=1067386687 + ["GET_PED_NEARBY_PEDS"]=--[[int]] function(--[[Ped (int)]] ped,--[[int* (pointer)]] sizeAndPeds,--[[int]] ignore)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(sizeAndPeds);native_invoker.push_arg_int(ignore);native_invoker.end_call("23F8F5FC7E8C4A6B");return native_invoker.get_return_value_int();end, + -- HAS_* + ["_HAS_STREAMED_PED_ASSETS_LOADED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("7350823473013C02");return native_invoker.get_return_value_bool();end, + ["IS_PED_USING_ACTION_MODE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("00E73468D085F745");return native_invoker.get_return_value_bool();end, + -- p2 is usually -1 in the scripts. action is either 0 or "DEFAULT_ACTION". + ["SET_PED_USING_ACTION_MODE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[int]] p2,--[[string]] action)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_string(action);native_invoker.end_call("D75ACCF5E0FB5367");end, + -- name: "MP_FEMALE_ACTION" found multiple times in the b617d scripts. + ["SET_MOVEMENT_MODE_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(name);native_invoker.end_call("781DE8FA214E87D2");end, + -- Overrides the ped's collision capsule radius for the current tick. + -- Must be called every tick to be effective. + -- + -- Setting this to 0.001 will allow warping through some objects. + ["SET_PED_CAPSULE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(value);native_invoker.end_call("364DF566EC833DE2");end, + -- gtaforums.com/topic/885580-ped-headshotmugshot-txd/ + ["REGISTER_PEDHEADSHOT"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("4462658788425076");return native_invoker.get_return_value_int();end, + ["_REGISTER_PEDHEADSHOT_3"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("BA8805A1108A2515");return native_invoker.get_return_value_int();end, + -- Similar to REGISTER_PEDHEADSHOT but creates a transparent background instead of black. Example: https://i.imgur.com/iHz8ztn.png + ["REGISTER_PEDHEADSHOT_TRANSPARENT"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("953563CE563143AF");return native_invoker.get_return_value_int();end, + -- gtaforums.com/topic/885580-ped-headshotmugshot-txd/ + ["UNREGISTER_PEDHEADSHOT"]=--[[void]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("96B1361D9B24C2FF");end, + -- gtaforums.com/topic/885580-ped-headshotmugshot-txd/ + ["IS_PEDHEADSHOT_VALID"]=--[[BOOL (bool)]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("A0A9668F158129A2");return native_invoker.get_return_value_bool();end, + -- gtaforums.com/topic/885580-ped-headshotmugshot-txd/ + ["IS_PEDHEADSHOT_READY"]=--[[BOOL (bool)]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("7085228842B13A67");return native_invoker.get_return_value_bool();end, + -- gtaforums.com/topic/885580-ped-headshotmugshot-txd/ + ["GET_PEDHEADSHOT_TXD_STRING"]=--[[string]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("DB4EACD4AD0A5D6B");return native_invoker.get_return_value_string();end, + ["REQUEST_PEDHEADSHOT_IMG_UPLOAD"]=--[[BOOL (bool)]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("F0DAEF2F545BEE25");return native_invoker.get_return_value_bool();end, + ["RELEASE_PEDHEADSHOT_IMG_UPLOAD"]=--[[void]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("5D517B27CF6ECD04");end, + ["IS_PEDHEADSHOT_IMG_UPLOAD_AVAILABLE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("EBB376779A760AA8");return native_invoker.get_return_value_bool();end, + ["HAS_PEDHEADSHOT_IMG_UPLOAD_FAILED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("876928DDDFCCC9CD");return native_invoker.get_return_value_bool();end, + ["HAS_PEDHEADSHOT_IMG_UPLOAD_SUCCEEDED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("E8A169E666CBC541");return native_invoker.get_return_value_bool();end, + ["SET_PED_HEATSCALE_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] heatScale)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(heatScale);native_invoker.end_call("C1F6EBF9A3D55538");end, + ["DISABLE_PED_HEATSCALE_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("600048C60D5C2C51");end, + ["_0x2DF9038C90AD5264"]=--[[void]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[int]] interiorFlags,--[[float]] scale,--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_int(interiorFlags);native_invoker.push_arg_float(scale);native_invoker.push_arg_int(duration);native_invoker.end_call("2DF9038C90AD5264");end, + ["_0xB2AFF10216DEFA2F"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[int]] interiorFlags,--[[float]] scale,--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_int(interiorFlags);native_invoker.push_arg_float(scale);native_invoker.push_arg_int(duration);native_invoker.end_call("B2AFF10216DEFA2F");end, + ["_0xFEE4A5459472A9F8"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("FEE4A5459472A9F8");end, + ["_0x3C67506996001F5E"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("3C67506996001F5E");return native_invoker.get_return_value_int();end, + ["_0xA586FBEB32A53DBB"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("A586FBEB32A53DBB");return native_invoker.get_return_value_int();end, + ["_0xF445DE8DA80A1792"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("F445DE8DA80A1792");return native_invoker.get_return_value_int();end, + ["_0xA635C11B8C44AFC2"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("A635C11B8C44AFC2");return native_invoker.get_return_value_int();end, + ["_0x280C7E3AC7F56E90"]=--[[void]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("280C7E3AC7F56E90");end, + ["_0xB782F8238512BAD5"]=--[[void]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("B782F8238512BAD5");end, + ["SET_IK_TARGET"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] ikIndex,--[[Entity (int)]] entityLookAt,--[[int]] boneLookAt,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ,--[[Any (int)]] p7,--[[int]] blendInDuration,--[[int]] blendOutDuration)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(ikIndex);native_invoker.push_arg_int(entityLookAt);native_invoker.push_arg_int(boneLookAt);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(blendInDuration);native_invoker.push_arg_int(blendOutDuration);native_invoker.end_call("C32779C16FCEECD9");end, + -- FORCE_* + ["_0xED3C76ADFA6D07C4"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("ED3C76ADFA6D07C4");end, + ["REQUEST_ACTION_MODE_ASSET"]=--[[void]] function(--[[string]] asset)native_invoker.begin_call();native_invoker.push_arg_string(asset);native_invoker.end_call("290E2780BB7AA598");end, + ["HAS_ACTION_MODE_ASSET_LOADED"]=--[[BOOL (bool)]] function(--[[string]] asset)native_invoker.begin_call();native_invoker.push_arg_string(asset);native_invoker.end_call("E4B5F4BF2CB24E65");return native_invoker.get_return_value_bool();end, + ["REMOVE_ACTION_MODE_ASSET"]=--[[void]] function(--[[string]] asset)native_invoker.begin_call();native_invoker.push_arg_string(asset);native_invoker.end_call("13E940F88470FA51");end, + ["REQUEST_STEALTH_MODE_ASSET"]=--[[void]] function(--[[string]] asset)native_invoker.begin_call();native_invoker.push_arg_string(asset);native_invoker.end_call("2A0A62FCDEE16D4F");end, + ["HAS_STEALTH_MODE_ASSET_LOADED"]=--[[BOOL (bool)]] function(--[[string]] asset)native_invoker.begin_call();native_invoker.push_arg_string(asset);native_invoker.end_call("E977FC5B08AF3441");return native_invoker.get_return_value_bool();end, + ["REMOVE_STEALTH_MODE_ASSET"]=--[[void]] function(--[[string]] asset)native_invoker.begin_call();native_invoker.push_arg_string(asset);native_invoker.end_call("9219857D21F0E842");end, + ["SET_PED_LOD_MULTIPLIER"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(multiplier);native_invoker.end_call("DC2C5C242AAC342B");end, + -- SET_PED_CAN_* + ["_0xE861D0B05C7662B8"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("E861D0B05C7662B8");end, + ["SET_FORCE_FOOTSTEP_UPDATE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("129466ED55140F8D");end, + ["SET_FORCE_STEP_TYPE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[int]] type,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(type);native_invoker.push_arg_int(p3);native_invoker.end_call("CB968B53FC7F916D");end, + ["IS_ANY_HOSTILE_PED_NEAR_POINT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("68772DB2B2526F9F");return native_invoker.get_return_value_bool();end, + ["_0x820E9892A77E97CD"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("820E9892A77E97CD");end, + ["_0x06087579E7AA85A9"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.end_call("06087579E7AA85A9");return native_invoker.get_return_value_bool();end, + -- Min and max are usually 100.0 and 200.0 + ["SET_POP_CONTROL_SPHERE_THIS_FRAME"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] min,--[[float]] max)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(min);native_invoker.push_arg_float(max);native_invoker.end_call("D8C3BE3EE94CAF2D");end, + ["_0xD33DAA36272177C4"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("D33DAA36272177C4");end, + ["_0x711794453CFD692B"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("711794453CFD692B");end, + ["_0x83A169EABCDB10A2"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("83A169EABCDB10A2");end, + ["_0x288DF530C92DAD6F"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("288DF530C92DAD6F");end, + -- IS_PED_* + ["_0x3795688A307E1EB6"]=--[[BOOL (bool)]] function(--[[Ped (int)]] Ped)native_invoker.begin_call();native_invoker.push_arg_int(Ped);native_invoker.end_call("3795688A307E1EB6");return native_invoker.get_return_value_bool();end, + ["_0x0F62619393661D6E"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("0F62619393661D6E");end, + ["_0xDFE68C4B787E1BFB"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("DFE68C4B787E1BFB");end, + ["_SET_ENABLE_SCUBA_GEAR_LIGHT"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("EE2476B9EE4A094F");end, + ["_IS_SCUBA_GEAR_LIGHT_ENABLED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("88274C11CF0D866D");return native_invoker.get_return_value_bool();end, + ["_CLEAR_FACIAL_CLIPSET_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("637822DC2AFEEBF8");end, + -- SET_A* + ["_0xFAB944D4D481ACCB"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("FAB944D4D481ACCB");end, +} +PHYSICS={ + -- Creates a rope at the specific position, that extends in the specified direction when not attached to any entities. + -- __ + -- + -- Add_Rope(pos.x,pos.y,pos.z,0.0,0.0,0.0,20.0,4,20.0,1.0,0.0,false,false,false,5.0,false,NULL) + -- + -- When attached, Position does not matter + -- When attached, Angle does not matter + -- + -- Rope Type: + -- 4 and bellow is a thick rope + -- 5 and up are small metal wires + -- 0 crashes the game + -- + -- Max_length - Rope is forced to this length, generally best to keep this the same as your rope length. + -- + -- windingSpeed - Speed the Rope is being winded, using native START_ROPE_WINDING. Set positive for winding and negative for unwinding. + -- + -- Rigid - If max length is zero, and this is set to false the rope will become rigid (it will force a specific distance, what ever length is, between the objects). + -- + -- breakable - Whether or not shooting the rope will break it. + -- + -- unkPtr - unknown ptr, always 0 in orig scripts + -- __ + -- + -- Lengths can be calculated like so: + -- + -- float distance = abs(x1 - x2) + abs(y1 - y2) + abs(z1 - z2); // Rope length + -- + -- + -- NOTES: + -- + -- Rope does NOT interact with anything you attach it to, in some cases it make interact with the world AFTER it breaks (seems to occur if you set the type to -1). + -- + -- Rope will sometimes contract and fall to the ground like you'd expect it to, but since it doesn't interact with the world the effect is just jaring. + ["ADD_ROPE"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[float]] length,--[[int]] ropeType,--[[float]] maxLength,--[[float]] minLength,--[[float]] windingSpeed,--[[BOOL (bool)]] p11,--[[BOOL (bool)]] p12,--[[BOOL (bool)]] rigid,--[[float]] p14,--[[BOOL (bool)]] breakWhenShot,--[[Any* (pointer)]] unkPtr)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_float(length);native_invoker.push_arg_int(ropeType);native_invoker.push_arg_float(maxLength);native_invoker.push_arg_float(minLength);native_invoker.push_arg_float(windingSpeed);native_invoker.push_arg_bool(p11);native_invoker.push_arg_bool(p12);native_invoker.push_arg_bool(rigid);native_invoker.push_arg_float(p14);native_invoker.push_arg_bool(breakWhenShot);native_invoker.push_arg_pointer(unkPtr);native_invoker.end_call("E832D760399EB220");return native_invoker.get_return_value_int();end, + ["DELETE_ROPE"]=--[[void]] function(--[[int* (pointer)]] ropeId)native_invoker.begin_call();native_invoker.push_arg_pointer(ropeId);native_invoker.end_call("52B4829281364649");end, + ["DELETE_CHILD_ROPE"]=--[[void]] function(--[[int]] ropeId)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.end_call("AA5D6B1888E4DB20");end, + ["DOES_ROPE_EXIST"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] ropeId)native_invoker.begin_call();native_invoker.push_arg_pointer(ropeId);native_invoker.end_call("FD5448BE3111ED96");return native_invoker.get_return_value_bool();end, + -- ROPE_* + ["_0xA1AE736541B0FCA3"]=--[[void]] function(--[[int* (pointer)]] ropeId,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(ropeId);native_invoker.push_arg_bool(p1);native_invoker.end_call("A1AE736541B0FCA3");end, + ["ROPE_DRAW_SHADOW_ENABLED"]=--[[void]] function(--[[int* (pointer)]] ropeId,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_pointer(ropeId);native_invoker.push_arg_bool(toggle);native_invoker.end_call("F159A63806BB5BA8");end, + -- Rope presets can be found in the gamefiles. One example is "ropeFamily3", it is NOT a hash but rather a string. + ["LOAD_ROPE_DATA"]=--[[void]] function(--[[int]] ropeId,--[[string]] rope_preset)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_string(rope_preset);native_invoker.end_call("CBB203C04D1ABD27");end, + ["PIN_ROPE_VERTEX"]=--[[void]] function(--[[int]] ropeId,--[[int]] vertex,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_int(vertex);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("2B320CF14146B69A");end, + ["UNPIN_ROPE_VERTEX"]=--[[void]] function(--[[int]] ropeId,--[[int]] vertex)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_int(vertex);native_invoker.end_call("4B5AE2EEE4A8F180");end, + ["GET_ROPE_VERTEX_COUNT"]=--[[int]] function(--[[int]] ropeId)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.end_call("3655F544CD30F0B5");return native_invoker.get_return_value_int();end, + -- Attaches entity 1 to entity 2. + ["ATTACH_ENTITIES_TO_ROPE"]=--[[void]] function(--[[int]] ropeId,--[[Entity (int)]] ent1,--[[Entity (int)]] ent2,--[[float]] ent1_x,--[[float]] ent1_y,--[[float]] ent1_z,--[[float]] ent2_x,--[[float]] ent2_y,--[[float]] ent2_z,--[[float]] length,--[[BOOL (bool)]] p10,--[[BOOL (bool)]] p11,--[[Any* (pointer)]] p12,--[[Any* (pointer)]] p13)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_int(ent1);native_invoker.push_arg_int(ent2);native_invoker.push_arg_float(ent1_x);native_invoker.push_arg_float(ent1_y);native_invoker.push_arg_float(ent1_z);native_invoker.push_arg_float(ent2_x);native_invoker.push_arg_float(ent2_y);native_invoker.push_arg_float(ent2_z);native_invoker.push_arg_float(length);native_invoker.push_arg_bool(p10);native_invoker.push_arg_bool(p11);native_invoker.push_arg_pointer(p12);native_invoker.push_arg_pointer(p13);native_invoker.end_call("3D95EC8B6D940AC3");end, + -- The position supplied can be anywhere, and the entity should anchor relative to that point from it's origin. + ["ATTACH_ROPE_TO_ENTITY"]=--[[void]] function(--[[int]] ropeId,--[[Entity (int)]] entity,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(p5);native_invoker.end_call("4B490A6832559A65");end, + ["DETACH_ROPE_FROM_ENTITY"]=--[[void]] function(--[[int]] ropeId,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_int(entity);native_invoker.end_call("BCF3026912A8647D");end, + ["ROPE_SET_UPDATE_PINVERTS"]=--[[void]] function(--[[int]] ropeId)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.end_call("C8D667EE52114ABA");end, + ["ROPE_SET_UPDATE_ORDER"]=--[[void]] function(--[[int]] ropeId,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_int(p1);native_invoker.end_call("DC57A637A20006ED");end, + -- ROPE_* + ["_0x36CCB9BE67B970FD"]=--[[void]] function(--[[int]] ropeId,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_bool(p1);native_invoker.end_call("36CCB9BE67B970FD");end, + -- IS_* + ["_0x84DE3B5FB3E666F0"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] ropeId)native_invoker.begin_call();native_invoker.push_arg_pointer(ropeId);native_invoker.end_call("84DE3B5FB3E666F0");return native_invoker.get_return_value_bool();end, + ["GET_ROPE_LAST_VERTEX_COORD"]=--[[Vector3 (vector3)]] function(--[[int]] ropeId)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.end_call("21BB0FBD3E217C2D");return native_invoker.get_return_value_vector3();end, + ["GET_ROPE_VERTEX_COORD"]=--[[Vector3 (vector3)]] function(--[[int]] ropeId,--[[int]] vertex)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_int(vertex);native_invoker.end_call("EA61CA8E80F09E4D");return native_invoker.get_return_value_vector3();end, + ["START_ROPE_WINDING"]=--[[void]] function(--[[int]] ropeId)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.end_call("1461C72C889E343E");end, + ["STOP_ROPE_WINDING"]=--[[void]] function(--[[int]] ropeId)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.end_call("CB2D4AB84A19AA7C");end, + ["START_ROPE_UNWINDING_FRONT"]=--[[void]] function(--[[int]] ropeId)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.end_call("538D1179EC1AA9A9");end, + ["STOP_ROPE_UNWINDING_FRONT"]=--[[void]] function(--[[int]] ropeId)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.end_call("FFF3A50779EFBBB3");end, + ["ROPE_CONVERT_TO_SIMPLE"]=--[[void]] function(--[[int]] ropeId)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.end_call("5389D48EFA2F079A");end, + -- Loads rope textures for all ropes in the current scene. + ["ROPE_LOAD_TEXTURES"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9B9039DBF2D258C1");end, + ["ROPE_ARE_TEXTURES_LOADED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("F2D0E6A75CC05597");return native_invoker.get_return_value_bool();end, + -- Unloads rope textures for all ropes in the current scene. + ["ROPE_UNLOAD_TEXTURES"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6CE36C35C1AC8163");end, + ["_DOES_ROPE_BELONG_TO_THIS_SCRIPT"]=--[[BOOL (bool)]] function(--[[int]] ropeId)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.end_call("271C9D3ACA5D6409");return native_invoker.get_return_value_bool();end, + -- Most likely ROPE_ATTACH_* + ["_0xBC0CE682D4D05650"]=--[[void]] function(--[[int]] ropeId,--[[int]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[float]] p8,--[[float]] p9,--[[float]] p10,--[[float]] p11,--[[float]] p12,--[[float]] p13)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_float(p10);native_invoker.push_arg_float(p11);native_invoker.push_arg_float(p12);native_invoker.push_arg_float(p13);native_invoker.end_call("BC0CE682D4D05650");end, + ["_0xB1B6216CA2E7B55E"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("B1B6216CA2E7B55E");end, + -- ROPE_* + ["_0xB743F735C03D7810"]=--[[void]] function(--[[int]] ropeId,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_int(p1);native_invoker.end_call("B743F735C03D7810");end, + ["ROPE_GET_DISTANCE_BETWEEN_ENDS"]=--[[float]] function(--[[int]] ropeId)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.end_call("73040398DFF9A4A6");return native_invoker.get_return_value_float();end, + -- Forces a rope to a certain length. + ["ROPE_FORCE_LENGTH"]=--[[void]] function(--[[int]] ropeId,--[[float]] length)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_float(length);native_invoker.end_call("D009F759A723DB1B");end, + -- Reset a rope to a certain length. + ["ROPE_RESET_LENGTH"]=--[[void]] function(--[[int]] ropeId,--[[float]] length)native_invoker.begin_call();native_invoker.push_arg_int(ropeId);native_invoker.push_arg_float(length);native_invoker.end_call("C16DE94D9BEA14A0");end, + ["APPLY_IMPULSE_TO_CLOTH"]=--[[void]] function(--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] vecX,--[[float]] vecY,--[[float]] vecZ,--[[float]] impulse)native_invoker.begin_call();native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(vecX);native_invoker.push_arg_float(vecY);native_invoker.push_arg_float(vecZ);native_invoker.push_arg_float(impulse);native_invoker.end_call("E37F721824571784");end, + ["SET_DAMPING"]=--[[void]] function(--[[Entity (int)]] entity,--[[int]] vertex,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(vertex);native_invoker.push_arg_float(value);native_invoker.end_call("EEA3B200A6FEB65B");end, + ["ACTIVATE_PHYSICS"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("710311ADF0E20730");end, + ["SET_CGOFFSET"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("D8FA3908D7B86904");end, + ["GET_CGOFFSET"]=--[[Vector3 (vector3)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("8214A4B5A7A33612");return native_invoker.get_return_value_vector3();end, + ["SET_CG_AT_BOUNDCENTER"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("BE520D9761FF811F");end, + ["BREAK_ENTITY_GLASS"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[float]] p8,--[[Any (int)]] p9,--[[BOOL (bool)]] p10)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_bool(p10);native_invoker.end_call("2E648D16F6E308F3");end, + -- GET_* + ["_GET_HAS_OBJECT_FRAG_INST"]=--[[BOOL (bool)]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("0C112765300C7E1E");return native_invoker.get_return_value_bool();end, + ["SET_DISABLE_BREAKING"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.end_call("5CEC1A84620E7D5B");end, + -- RESET_* + ["_0xCC6E963682533882"]=--[[void]] function(--[[Object (int)]] object)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.end_call("CC6E963682533882");end, + ["SET_DISABLE_FRAG_DAMAGE"]=--[[void]] function(--[[Object (int)]] object,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(object);native_invoker.push_arg_bool(toggle);native_invoker.end_call("01BA3AED21C16CFB");end, + ["_SET_ENTITY_PROOF_UNK"]=--[[void]] function(--[[Entity (int)]] entity,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_bool(toggle);native_invoker.end_call("15F944730C832252");end, + -- SET_* + ["_0x9EBD751E5787BAF2"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("9EBD751E5787BAF2");end, + -- Related to the lower-end of a vehicles fTractionCurve, e.g., from standing starts and acceleration from low/zero speeds. + ["_SET_LAUNCH_CONTROL_ENABLED"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("AA6A6098851C396F");end, +} +PLAYER={ + -- Gets the ped for a specified player index. + ["GET_PLAYER_PED"]=--[[Ped (int)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("43A66C31C68491C0");return native_invoker.get_return_value_int();end, + -- Does the same like PLAYER::GET_PLAYER_PED + ["GET_PLAYER_PED_SCRIPT_INDEX"]=--[[Ped (int)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("50FAC3A3E030A6E1");return native_invoker.get_return_value_int();end, + -- Set the model for a specific Player. Be aware that this will destroy the current Ped for the Player and create a new one, any reference to the old ped should be reset + -- Make sure to request the model first and wait until it has loaded. + ["SET_PLAYER_MODEL"]=--[[void]] function(--[[Player (int)]] player,--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(model);native_invoker.end_call("00A1CADD00108836");end, + ["CHANGE_PLAYER_PED"]=--[[void]] function(--[[Player (int)]] player,--[[Ped (int)]] ped,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] resetDamage)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(resetDamage);native_invoker.end_call("048189FAC643DEEE");end, + ["GET_PLAYER_RGB_COLOUR"]=--[[void]] function(--[[Player (int)]] player,--[[int* (pointer)]] r,--[[int* (pointer)]] g,--[[int* (pointer)]] b)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_pointer(r);native_invoker.push_arg_pointer(g);native_invoker.push_arg_pointer(b);native_invoker.end_call("E902EF951DCE178F");end, + -- Gets the number of players in the current session. + -- If not multiplayer, always returns 1. + ["GET_NUMBER_OF_PLAYERS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("407C7F91DDB46C16");return native_invoker.get_return_value_int();end, + -- Gets the player's team. + -- Does nothing in singleplayer. + ["GET_PLAYER_TEAM"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("37039302F4E0A008");return native_invoker.get_return_value_int();end, + -- Set player team on deathmatch and last team standing.. + ["SET_PLAYER_TEAM"]=--[[void]] function(--[[Player (int)]] player,--[[int]] team)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(team);native_invoker.end_call("0299FA38396A4940");end, + ["_GET_NUMBER_OF_PLAYERS_IN_TEAM"]=--[[int]] function(--[[int]] team)native_invoker.begin_call();native_invoker.push_arg_int(team);native_invoker.end_call("1FC200409F10E6F1");return native_invoker.get_return_value_int();end, + ["GET_PLAYER_NAME"]=--[[string]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("6D0DE6A7B5DA71F8");return native_invoker.get_return_value_string();end, + -- Remnant from GTA IV. Does nothing in GTA V. + ["GET_WANTED_LEVEL_RADIUS"]=--[[float]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("085DEB493BE80812");return native_invoker.get_return_value_float();end, + ["GET_PLAYER_WANTED_CENTRE_POSITION"]=--[[Vector3 (vector3)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("0C92BA89F1AF26F8");return native_invoker.get_return_value_vector3();end, + -- # Predominant call signatures + -- PLAYER::SET_PLAYER_WANTED_CENTRE_POSITION(PLAYER::PLAYER_ID(), ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1)); + -- + -- # Parameter value ranges + -- P0: PLAYER::PLAYER_ID() + -- P1: ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1) + -- P2: Not set by any call + ["SET_PLAYER_WANTED_CENTRE_POSITION"]=--[[void]] function(--[[Player (int)]] player,--[[Vector3* (pointer)]] position,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_pointer(position);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("520E541A97A13354");end, + -- Drft + ["GET_WANTED_LEVEL_THRESHOLD"]=--[[int]] function(--[[int]] wantedLevel)native_invoker.begin_call();native_invoker.push_arg_int(wantedLevel);native_invoker.end_call("FDD179EAF45B556C");return native_invoker.get_return_value_int();end, + -- Call SET_PLAYER_WANTED_LEVEL_NOW for immediate effect + -- + -- wantedLevel is an integer value representing 0 to 5 stars even though the game supports the 6th wanted level but no police will appear since no definitions are present for it in the game files + -- + -- disableNoMission- Disables When Off Mission- appears to always be false + -- + ["SET_PLAYER_WANTED_LEVEL"]=--[[void]] function(--[[Player (int)]] player,--[[int]] wantedLevel,--[[BOOL (bool)]] disableNoMission)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(wantedLevel);native_invoker.push_arg_bool(disableNoMission);native_invoker.end_call("39FF19C64EF7DA5B");end, + -- p2 is always false in R* scripts + ["SET_PLAYER_WANTED_LEVEL_NO_DROP"]=--[[void]] function(--[[Player (int)]] player,--[[int]] wantedLevel,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(wantedLevel);native_invoker.push_arg_bool(p2);native_invoker.end_call("340E61DE7F471565");end, + -- Forces any pending wanted level to be applied to the specified player immediately. + -- + -- Call SET_PLAYER_WANTED_LEVEL with the desired wanted level, followed by SET_PLAYER_WANTED_LEVEL_NOW. + -- + -- Second parameter is unknown (always false). + ["SET_PLAYER_WANTED_LEVEL_NOW"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(p1);native_invoker.end_call("E0A7D1E497FFCD6F");end, + ["ARE_PLAYER_FLASHING_STARS_ABOUT_TO_DROP"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("AFAF86043E5874E9");return native_invoker.get_return_value_bool();end, + ["ARE_PLAYER_STARS_GREYED_OUT"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("0A6EB355EE14A2DB");return native_invoker.get_return_value_bool();end, + ["_0x7E07C78925D5FD96"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7E07C78925D5FD96");return native_invoker.get_return_value_int();end, + ["SET_DISPATCH_COPS_FOR_PLAYER"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("DB172424876553F4");end, + ["IS_PLAYER_WANTED_LEVEL_GREATER"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[int]] wantedLevel)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(wantedLevel);native_invoker.end_call("238DB2A2C23EE9EF");return native_invoker.get_return_value_bool();end, + -- This executes at the same as speed as PLAYER::SET_PLAYER_WANTED_LEVEL(player, 0, false); + -- + -- PLAYER::GET_PLAYER_WANTED_LEVEL(player); executes in less than half the time. Which means that it's worth first checking if the wanted level needs to be cleared before clearing. However, this is mostly about good code practice and can important in other situations. The difference in time in this example is negligible. + ["CLEAR_PLAYER_WANTED_LEVEL"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("B302540597885499");end, + ["IS_PLAYER_DEAD"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("424D4687FA1E5652");return native_invoker.get_return_value_bool();end, + ["IS_PLAYER_PRESSING_HORN"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("FA1E2BF8B10598F9");return native_invoker.get_return_value_bool();end, + -- Flags: + -- SPC_AMBIENT_SCRIPT = (1 << 1), + -- SPC_CLEAR_TASKS = (1 << 2), + -- SPC_REMOVE_FIRES = (1 << 3), + -- SPC_REMOVE_EXPLOSIONS = (1 << 4), + -- SPC_REMOVE_PROJECTILES = (1 << 5), + -- SPC_DEACTIVATE_GADGETS = (1 << 6), + -- SPC_REENABLE_CONTROL_ON_DEATH = (1 << 7), + -- SPC_LEAVE_CAMERA_CONTROL_ON = (1 << 8), + -- SPC_ALLOW_PLAYER_DAMAGE = (1 << 9), + -- SPC_DONT_STOP_OTHER_CARS_AROUND_PLAYER = (1 << 10), + -- SPC_PREVENT_EVERYBODY_BACKOFF = (1 << 11), + -- SPC_ALLOW_PAD_SHAKE = (1 << 12) + -- + -- See: https://alloc8or.re/gta5/doc/enums/eSetPlayerControlFlag.txt + ["SET_PLAYER_CONTROL"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] bHasControl,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(bHasControl);native_invoker.push_arg_int(flags);native_invoker.end_call("8D32347D6D4C40A2");end, + ["GET_PLAYER_WANTED_LEVEL"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("E28E54788CE8F12D");return native_invoker.get_return_value_int();end, + ["SET_MAX_WANTED_LEVEL"]=--[[void]] function(--[[int]] maxWantedLevel)native_invoker.begin_call();native_invoker.push_arg_int(maxWantedLevel);native_invoker.end_call("AA5F02DB48D704B9");end, + -- If toggle is set to false: + -- The police won't be shown on the (mini)map + -- + -- If toggle is set to true: + -- The police will be shown on the (mini)map + ["SET_POLICE_RADAR_BLIPS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("43286D561B72B8BF");end, + -- The player will be ignored by the police if toggle is set to true + ["SET_POLICE_IGNORE_PLAYER"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("32C62AA929C2DA6A");end, + -- Checks whether the specified player has a Ped, the Ped is not dead, is not injured and is not arrested. + ["IS_PLAYER_PLAYING"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("5E9564D8246B909A");return native_invoker.get_return_value_bool();end, + ["SET_EVERYONE_IGNORE_PLAYER"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("8EEDA153AD141BA4");end, + ["SET_ALL_RANDOM_PEDS_FLEE"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("056E0FE8534C2949");end, + ["SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("471D2FF42A94B4F2");end, + ["_0xDE45D1A1EF45EE61"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("DE45D1A1EF45EE61");end, + -- - This is called after SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME + -- + ["_0xC3376F42B1FACCC6"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("C3376F42B1FACCC6");end, + ["_0xFAC75988A7D078D3"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("FAC75988A7D078D3");end, + ["SET_IGNORE_LOW_PRIORITY_SHOCKING_EVENTS"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("596976B02B6B5700");end, + ["SET_WANTED_LEVEL_MULTIPLIER"]=--[[void]] function(--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_float(multiplier);native_invoker.end_call("020E5F00CDA207BA");end, + -- Max value is 1.0 + ["SET_WANTED_LEVEL_DIFFICULTY"]=--[[void]] function(--[[Player (int)]] player,--[[float]] difficulty)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(difficulty);native_invoker.end_call("9B0BB33B04405E7A");end, + ["RESET_WANTED_LEVEL_DIFFICULTY"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("B9D0DD990DC141DD");end, + ["_0x49B856B1360C47C7"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("49B856B1360C47C7");end, + ["_0x823EC8E82BA45986"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("823EC8E82BA45986");end, + ["START_FIRING_AMNESTY"]=--[[void]] function(--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(duration);native_invoker.end_call("BF9BD71691857E48");end, + -- PLAYER::REPORT_CRIME(PLAYER::PLAYER_ID(), 37, PLAYER::GET_WANTED_LEVEL_THRESHOLD(1)); + -- + -- From am_armybase.ysc.c4: + -- + -- PLAYER::REPORT_CRIME(PLAYER::PLAYER_ID(4), 36, PLAYER::GET_WANTED_LEVEL_THRESHOLD(4)); + -- + -- ----- + -- + -- This was taken from the GTAV.exe v1.334. The function is called sub_140592CE8. For a full decompilation of the function, see here: pastebin.com/09qSMsN7 + -- + -- ----- + -- crimeType: + -- 1: Firearms possession + -- 2: Person running a red light ("5-0-5") + -- 3: Reckless driver + -- 4: Speeding vehicle (a "5-10") + -- 5: Traffic violation (a "5-0-5") + -- 6: Motorcycle rider without a helmet + -- 7: Vehicle theft (a "5-0-3") + -- 8: Grand Theft Auto + -- 9: ??? + -- 10: ??? + -- 11: Assault on a civilian (a "2-40") + -- 12: Assault on an officer + -- 13: Assault with a deadly weapon (a "2-45") + -- 14: Officer shot (a "2-45") + -- 15: Pedestrian struck by a vehicle + -- 16: Officer struck by a vehicle + -- 17: Helicopter down (an "AC"?) + -- 18: Civilian on fire (a "2-40") + -- 19: Officer set on fire (a "10-99") + -- 20: Car on fire + -- 21: Air unit down (an "AC"?) + -- 22: An explosion (a "9-96") + -- 23: A stabbing (a "2-45") (also something else I couldn't understand) + -- 24: Officer stabbed (also something else I couldn't understand) + -- 25: Attack on a vehicle ("MDV"?) + -- 26: Damage to property + -- 27: Suspect threatening officer with a firearm + -- 28: Shots fired + -- 29: ??? + -- 30: ??? + -- 31: ??? + -- 32: ??? + -- 33: ??? + -- 34: A "2-45" + -- 35: ??? + -- 36: A "9-25" + -- 37: ??? + -- 38: ??? + -- 39: ??? + -- 40: ??? + -- 41: ??? + -- 42: ??? + -- 43: Possible disturbance + -- 44: Civilian in need of assistance + -- 45: ??? + -- 46: ??? + ["REPORT_CRIME"]=--[[void]] function(--[[Player (int)]] player,--[[int]] crimeType,--[[int]] wantedLvlThresh)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(crimeType);native_invoker.push_arg_int(wantedLvlThresh);native_invoker.end_call("E9B09589827545E7");end, + -- This was previously named as "RESERVE_ENTITY_EXPLODES_ON_HIGH_EXPLOSION_COMBO" + -- which is obviously incorrect. + -- + -- Seems to only appear in scripts used in Singleplayer. p1 ranges from 2 - 46. + -- + -- + -- I assume this switches the crime type + ["_SWITCH_CRIME_TYPE"]=--[[void]] function(--[[Player (int)]] player,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.end_call("9A987297ED8BD838");end, + -- Seems to only appear in scripts used in Singleplayer. + -- + -- Always used like this in scripts + -- PLAYER::_BC9490CA15AEA8FB(PLAYER::PLAYER_ID()); + ["_0xBC9490CA15AEA8FB"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("BC9490CA15AEA8FB");end, + -- This has been found in use in the decompiled files. + ["_0x4669B3ED80F24B4E"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("4669B3ED80F24B4E");end, + ["_0x2F41A3BAE005E5FA"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("2F41A3BAE005E5FA");end, + -- This has been found in use in the decompiled files. + ["_0xAD73CE5A09E42D12"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("AD73CE5A09E42D12");end, + ["_0x36F1B38855F2A8DF"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("36F1B38855F2A8DF");end, + ["REPORT_POLICE_SPOTTED_PLAYER"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("DC64D2C53493ED12");end, + -- PLAYER::0xBF6993C7(rPtr((&l_122) + 71)); // Found in decompilation + -- + -- *** + -- + -- In "am_hold_up.ysc" used once: + -- + -- l_8d._f47 = MISC::GET_RANDOM_FLOAT_IN_RANGE(18.0, 28.0); + -- PLAYER::_B45EFF719D8427A6((l_8d._f47)); + ["_0xB45EFF719D8427A6"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("B45EFF719D8427A6");end, + -- 2 matches in 1 script - am_hold_up + -- + -- Used in multiplayer scripts? + ["_0x0032A6DBA562C518"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0032A6DBA562C518");end, + ["CAN_PLAYER_START_MISSION"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("DE7465A27D403C06");return native_invoker.get_return_value_bool();end, + ["IS_PLAYER_READY_FOR_CUTSCENE"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("908CBECC2CAA3690");return native_invoker.get_return_value_bool();end, + ["IS_PLAYER_TARGETTING_ENTITY"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(entity);native_invoker.end_call("7912F7FC4F6264B6");return native_invoker.get_return_value_bool();end, + -- Assigns the handle of locked-on melee target to *entity that you pass it. + -- Returns false if no entity found. + ["GET_PLAYER_TARGET_ENTITY"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[Entity* (pointer)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_pointer(entity);native_invoker.end_call("13EDE1A5DBF797C9");return native_invoker.get_return_value_bool();end, + -- Gets a value indicating whether the specified player is currently aiming freely. + ["IS_PLAYER_FREE_AIMING"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("2E397FD2ECD37C87");return native_invoker.get_return_value_bool();end, + -- Gets a value indicating whether the specified player is currently aiming freely at the specified entity. + ["IS_PLAYER_FREE_AIMING_AT_ENTITY"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(entity);native_invoker.end_call("3C06B5C839B38F7B");return native_invoker.get_return_value_bool();end, + -- Returns TRUE if it found an entity in your crosshair within range of your weapon. Assigns the handle of the target to the *entity that you pass it. + -- Returns false if no entity found. + ["GET_ENTITY_PLAYER_IS_FREE_AIMING_AT"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[Entity* (pointer)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_pointer(entity);native_invoker.end_call("2975C866E6713290");return native_invoker.get_return_value_bool();end, + -- Affects the range of auto aim target. + ["SET_PLAYER_LOCKON_RANGE_OVERRIDE"]=--[[void]] function(--[[Player (int)]] player,--[[float]] range)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(range);native_invoker.end_call("29961D490E5814FD");end, + -- Set whether this player should be able to do drive-bys. + -- + -- "A drive-by is when a ped is aiming/shooting from vehicle. This includes middle finger taunts. By setting this value to false I confirm the player is unable to do all that. Tested on tick." + -- + ["SET_PLAYER_CAN_DO_DRIVE_BY"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("6E8834B52EC20C77");end, + -- Sets whether this player can be hassled by gangs. + ["SET_PLAYER_CAN_BE_HASSLED_BY_GANGS"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D5E460AD7020A246");end, + -- Sets whether this player can take cover. + ["SET_PLAYER_CAN_USE_COVER"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D465A8599DFF6814");end, + -- Gets the maximum wanted level the player can get. + -- Ranges from 0 to 5. + ["GET_MAX_WANTED_LEVEL"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("462E0DB9B137DC5F");return native_invoker.get_return_value_int();end, + ["IS_PLAYER_TARGETTING_ANYTHING"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("78CFE51896B6B8A4");return native_invoker.get_return_value_bool();end, + ["SET_PLAYER_SPRINT"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("A01B8075D8B92DF4");end, + ["RESET_PLAYER_STAMINA"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("A6F312FCCE9C1DFE");end, + ["RESTORE_PLAYER_STAMINA"]=--[[void]] function(--[[Player (int)]] player,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(p1);native_invoker.end_call("A352C1B864CAFD33");end, + ["GET_PLAYER_SPRINT_STAMINA_REMAINING"]=--[[float]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("3F9F16F8E65A7ED7");return native_invoker.get_return_value_float();end, + ["GET_PLAYER_SPRINT_TIME_REMAINING"]=--[[float]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("1885BC9B108B4C99");return native_invoker.get_return_value_float();end, + ["GET_PLAYER_UNDERWATER_TIME_REMAINING"]=--[[float]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("A1FCF8E6AF40B731");return native_invoker.get_return_value_float();end, + ["_0xA0D3E4F7AAFB7E78"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("A0D3E4F7AAFB7E78");return native_invoker.get_return_value_int();end, + -- Returns the group ID the player is member of. + ["GET_PLAYER_GROUP"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("0D127585F77030AF");return native_invoker.get_return_value_int();end, + ["GET_PLAYER_MAX_ARMOUR"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("92659B4CE1863CB3");return native_invoker.get_return_value_int();end, + -- Can the player control himself, used to disable controls for player for things like a cutscene. + -- + -- --- + -- + -- You can't disable controls with this, use SET_PLAYER_CONTROL(...) for this. + ["IS_PLAYER_CONTROL_ON"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("49C32D60007AFA47");return native_invoker.get_return_value_bool();end, + -- Returns true when the player is not able to control the cam i.e. when running a benchmark test, switching the player or viewing a cutscene. + -- + -- Note: I am not 100% sure if the native actually checks if the cam control is disabled but it seems promising. + ["_IS_PLAYER_CAM_CONTROL_DISABLED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("7C814D2FB49F40C0");return native_invoker.get_return_value_bool();end, + ["IS_PLAYER_SCRIPT_CONTROL_ON"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("8A876A65283DD7D7");return native_invoker.get_return_value_bool();end, + -- Returns TRUE if the player ('s ped) is climbing at the moment. + ["IS_PLAYER_CLIMBING"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("95E8F73DC65EFB9C");return native_invoker.get_return_value_bool();end, + -- Return true while player is being arrested / busted. + -- + -- If atArresting is set to 1, this function will return 1 when player is being arrested (while player is putting his hand up, but still have control) + -- + -- If atArresting is set to 0, this function will return 1 only when the busted screen is shown. + ["IS_PLAYER_BEING_ARRESTED"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[BOOL (bool)]] atArresting)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(atArresting);native_invoker.end_call("388A47C51ABDAC8E");return native_invoker.get_return_value_bool();end, + ["RESET_PLAYER_ARREST_STATE"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("2D03E13C460760D6");end, + -- Alternative: GET_VEHICLE_PED_IS_IN(PLAYER_PED_ID(), 1); + ["GET_PLAYERS_LAST_VEHICLE"]=--[[Vehicle (int)]] function()native_invoker.begin_call();native_invoker.end_call("B6997A7EB3F5C8C0");return native_invoker.get_return_value_int();end, + -- Returns the same as PLAYER_ID and NETWORK_PLAYER_ID_TO_INT + ["GET_PLAYER_INDEX"]=--[[Player (int)]] function()native_invoker.begin_call();native_invoker.end_call("A5EDC40EF369B48D");return native_invoker.get_return_value_int();end, + -- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). + ["INT_TO_PLAYERINDEX"]=--[[Player (int)]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("41BD2A6B006AF756");return native_invoker.get_return_value_int();end, + -- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). + -- -------------------------------------------------------- + -- if (NETWORK::NETWORK_IS_PARTICIPANT_ACTIVE(PLAYER::INT_TO_PARTICIPANTINDEX(i))) + -- + ["INT_TO_PARTICIPANTINDEX"]=--[[int]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("9EC6603812C24710");return native_invoker.get_return_value_int();end, + ["GET_TIME_SINCE_PLAYER_HIT_VEHICLE"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("5D35ECF3A81A0EE0");return native_invoker.get_return_value_int();end, + ["GET_TIME_SINCE_PLAYER_HIT_PED"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("E36A25322DC35F42");return native_invoker.get_return_value_int();end, + ["GET_TIME_SINCE_PLAYER_DROVE_ON_PAVEMENT"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("D559D2BE9E37853B");return native_invoker.get_return_value_int();end, + ["GET_TIME_SINCE_PLAYER_DROVE_AGAINST_TRAFFIC"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("DB89591E290D9182");return native_invoker.get_return_value_int();end, + ["IS_PLAYER_FREE_FOR_AMBIENT_TASK"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("DCCFD3F106C36AB4");return native_invoker.get_return_value_bool();end, + -- This returns YOUR 'identity' as a Player type. + -- + -- Always returns 0 in story mode. + ["PLAYER_ID"]=--[[Player (int)]] function()native_invoker.begin_call();native_invoker.end_call("4F8644AF03D0E0D6");return native_invoker.get_return_value_int();end, + -- Returns current player ped + ["PLAYER_PED_ID"]=--[[Ped (int)]] function()native_invoker.begin_call();native_invoker.end_call("D80958FC74E988A6");return native_invoker.get_return_value_int();end, + -- Does exactly the same thing as PLAYER_ID() + ["NETWORK_PLAYER_ID_TO_INT"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("EE68096F9F37341E");return native_invoker.get_return_value_int();end, + ["HAS_FORCE_CLEANUP_OCCURRED"]=--[[BOOL (bool)]] function(--[[int]] cleanupFlags)native_invoker.begin_call();native_invoker.push_arg_int(cleanupFlags);native_invoker.end_call("C968670BFACE42D9");return native_invoker.get_return_value_bool();end, + -- used with 1,2,8,64,128 in the scripts + ["FORCE_CLEANUP"]=--[[void]] function(--[[int]] cleanupFlags)native_invoker.begin_call();native_invoker.push_arg_int(cleanupFlags);native_invoker.end_call("BC8983F38F78ED51");end, + -- PLAYER::FORCE_CLEANUP_FOR_ALL_THREADS_WITH_THIS_NAME("pb_prostitute", 1); // Found in decompilation + ["FORCE_CLEANUP_FOR_ALL_THREADS_WITH_THIS_NAME"]=--[[void]] function(--[[string]] name,--[[int]] cleanupFlags)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_int(cleanupFlags);native_invoker.end_call("4C68DDDDF0097317");end, + ["FORCE_CLEANUP_FOR_THREAD_WITH_THIS_ID"]=--[[void]] function(--[[int]] id,--[[int]] cleanupFlags)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.push_arg_int(cleanupFlags);native_invoker.end_call("F745B37630DF176B");end, + ["GET_CAUSE_OF_MOST_RECENT_FORCE_CLEANUP"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("9A41CF4674A12272");return native_invoker.get_return_value_int();end, + ["SET_PLAYER_MAY_ONLY_ENTER_THIS_VEHICLE"]=--[[void]] function(--[[Player (int)]] player,--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(vehicle);native_invoker.end_call("8026FF78F208978A");end, + ["SET_PLAYER_MAY_NOT_ENTER_ANY_VEHICLE"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("1DE37BBF9E9CC14A");end, + -- Achievements from 0-57 + -- + -- + -- more achievements came with update 1.29 (freemode events update), I'd say that they now go to 60, but I'll need to check. + ["GIVE_ACHIEVEMENT_TO_PLAYER"]=--[[BOOL (bool)]] function(--[[int]] achievement)native_invoker.begin_call();native_invoker.push_arg_int(achievement);native_invoker.end_call("BEC7076D64130195");return native_invoker.get_return_value_bool();end, + -- For Steam. + -- Does nothing and always returns false in the retail version of the game. + ["_SET_ACHIEVEMENT_PROGRESS"]=--[[BOOL (bool)]] function(--[[int]] achievement,--[[int]] progress)native_invoker.begin_call();native_invoker.push_arg_int(achievement);native_invoker.push_arg_int(progress);native_invoker.end_call("C2AFFFDABBDC2C5C");return native_invoker.get_return_value_bool();end, + -- For Steam. + -- Always returns 0 in retail version of the game. + ["_GET_ACHIEVEMENT_PROGRESS"]=--[[int]] function(--[[int]] achievement)native_invoker.begin_call();native_invoker.push_arg_int(achievement);native_invoker.end_call("1C186837D0619335");return native_invoker.get_return_value_int();end, + ["HAS_ACHIEVEMENT_BEEN_PASSED"]=--[[BOOL (bool)]] function(--[[int]] achievement)native_invoker.begin_call();native_invoker.push_arg_int(achievement);native_invoker.end_call("867365E111A3B6EB");return native_invoker.get_return_value_bool();end, + -- Returns TRUE if the game is in online mode and FALSE if in offline mode. + -- + -- This is an alias for NETWORK_IS_SIGNED_ONLINE. + ["IS_PLAYER_ONLINE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("F25D331DC2627BBC");return native_invoker.get_return_value_bool();end, + -- this function is hard-coded to always return 0. + ["IS_PLAYER_LOGGING_IN_NP"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("74556E1420867ECA");return native_invoker.get_return_value_bool();end, + -- Purpose of the BOOL currently unknown. + -- Both, true and false, work + ["DISPLAY_SYSTEM_SIGNIN_UI"]=--[[void]] function(--[[BOOL (bool)]] unk)native_invoker.begin_call();native_invoker.push_arg_bool(unk);native_invoker.end_call("94DD7888C10A979E");end, + ["IS_SYSTEM_UI_BEING_DISPLAYED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5D511E3867C87139");return native_invoker.get_return_value_bool();end, + -- Simply sets you as invincible (Health will not deplete). + -- + -- Use 0x733A643B5B0C53C1 instead if you want Ragdoll enabled, which is equal to: + -- *(DWORD *)(playerPedAddress + 0x188) |= (1 << 9); + ["SET_PLAYER_INVINCIBLE"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("239528EACDC3E7DE");end, + -- Returns the Player's Invincible status. + -- + -- This function will always return false if 0x733A643B5B0C53C1 is used to set the invincibility status. To always get the correct result, use this: + -- + -- bool IsPlayerInvincible(Player player) + -- { + -- auto addr = getScriptHandleBaseAddress(GET_PLAYER_PED(player)); + -- + -- if (addr) + -- { + -- DWORD flag = *(DWORD *)(addr + 0x188); + -- return ((flag & (1 << 8)) != 0) || ((flag & (1 << 9)) != 0); + -- } + -- + -- return false; + -- } + -- + -- + ["GET_PLAYER_INVINCIBLE"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("B721981B2B939E07");return native_invoker.get_return_value_bool();end, + -- Always returns false. + ["_0xDCC07526B8EC45AF"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("DCC07526B8EC45AF");return native_invoker.get_return_value_bool();end, + ["_SET_PLAYER_INVINCIBLE_KEEP_RAGDOLL_ENABLED"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("6BC97F4F4BB3C04B");end, + -- Found in "director_mode", "fm_bj_race_controler", "fm_deathmatch_controler", "fm_impromptu_dm_controler", "fm_race_controler", "gb_deathmatch". + ["_0xCAC57395B151135F"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(p1);native_invoker.end_call("CAC57395B151135F");end, + ["REMOVE_PLAYER_HELMET"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(p2);native_invoker.end_call("F3AC26D3CC576528");end, + ["GIVE_PLAYER_RAGDOLL_CONTROL"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("3C49C870E66F0A28");end, + -- Example from fm_mission_controler.ysc.c4: + -- + -- PLAYER::SET_PLAYER_LOCKON(PLAYER::PLAYER_ID(), 1); + -- + -- All other decompiled scripts using this seem to be using the player id as the first parameter, so I feel the need to confirm it as so. + -- + -- No need to confirm it says PLAYER_ID() so it uses PLAYER_ID() lol. + ["SET_PLAYER_LOCKON"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("5C8B2F450EE4328E");end, + -- Sets your targeting mode. + -- 0 = Assisted Aim - Full + -- 1 = Assisted Aim - Partial + -- 2 = Free Aim - Assisted + -- 3 = Free Aim + ["SET_PLAYER_TARGETING_MODE"]=--[[void]] function(--[[int]] targetMode)native_invoker.begin_call();native_invoker.push_arg_int(targetMode);native_invoker.end_call("B1906895227793F3");end, + ["SET_PLAYER_TARGET_LEVEL"]=--[[void]] function(--[[int]] targetLevel)native_invoker.begin_call();native_invoker.push_arg_int(targetLevel);native_invoker.end_call("5702B917B99DB1CD");end, + -- Returns profile setting 237. + -- + -- GET_* + ["_0xB9CF1F793A9F1BF1"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B9CF1F793A9F1BF1");return native_invoker.get_return_value_bool();end, + -- Returns profile setting 243. + -- + -- GET_* + ["_0xCB645E85E97EA48B"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("CB645E85E97EA48B");return native_invoker.get_return_value_bool();end, + ["CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_PED"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("F0B67A4DE6AB5F98");end, + ["HAS_PLAYER_DAMAGED_AT_LEAST_ONE_PED"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("20CE80B0C2BF4ACC");return native_invoker.get_return_value_bool();end, + ["CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_NON_ANIMAL_PED"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("4AACB96203D11A31");end, + ["HAS_PLAYER_DAMAGED_AT_LEAST_ONE_NON_ANIMAL_PED"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("E4B90F367BD81752");return native_invoker.get_return_value_bool();end, + -- This can be between 1.0f - 14.9f + -- + -- You can change the max in IDA from 15.0. I say 15.0 as the function blrs if what you input is greater than or equal to 15.0 hence why it's 14.9 max default. + -- + -- + ["SET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE"]=--[[void]] function(--[[Player (int)]] player,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(multiplier);native_invoker.end_call("CA7DC8329F0A1E9E");end, + -- Swim speed multiplier. + -- Multiplier goes up to 1.49 + -- + -- Just call it one time, it is not required to be called once every tick. - Note copied from below native. + -- + -- Note: At least the IDA method if you change the max float multiplier from 1.5 it will change it for both this and RUN_SPRINT below. I say 1.5 as the function blrs if what you input is greater than or equal to 1.5 hence why it's 1.49 max default. + ["SET_SWIM_MULTIPLIER_FOR_PLAYER"]=--[[void]] function(--[[Player (int)]] player,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(multiplier);native_invoker.end_call("A91C6F0FF7D16A13");end, + -- Multiplier goes up to 1.49 any value above will be completely overruled by the game and the multiplier will not take effect, this can be edited in memory however. + -- + -- Just call it one time, it is not required to be called once every tick. + -- + -- Note: At least the IDA method if you change the max float multiplier from 1.5 it will change it for both this and SWIM above. I say 1.5 as the function blrs if what you input is greater than or equal to 1.5 hence why it's 1.49 max default. + ["SET_RUN_SPRINT_MULTIPLIER_FOR_PLAYER"]=--[[void]] function(--[[Player (int)]] player,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(multiplier);native_invoker.end_call("6DB47AA77FD94E09");end, + -- Returns the time since the character was arrested in (ms) milliseconds. + -- + -- example + -- + -- var time = Function.call(Hash.GET_TIME_SINCE_LAST_ARREST(); + -- + -- UI.DrawSubtitle(time.ToString()); + -- + -- if player has not been arrested, the int returned will be -1. + ["GET_TIME_SINCE_LAST_ARREST"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("5063F92F07C2A316");return native_invoker.get_return_value_int();end, + -- Returns the time since the character died in (ms) milliseconds. + -- + -- example + -- + -- var time = Function.call(Hash.GET_TIME_SINCE_LAST_DEATH(); + -- + -- UI.DrawSubtitle(time.ToString()); + -- + -- if player has not died, the int returned will be -1. + ["GET_TIME_SINCE_LAST_DEATH"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("C7034807558DDFCA");return native_invoker.get_return_value_int();end, + ["ASSISTED_MOVEMENT_CLOSE_ROUTE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("AEBF081FFC0A0E5E");end, + ["ASSISTED_MOVEMENT_FLUSH_ROUTE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("8621390F0CDCFE1F");end, + ["SET_PLAYER_FORCED_AIM"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("0FEE4F80AC44A726");end, + ["SET_PLAYER_FORCED_ZOOM"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("75E7D505F2B15902");end, + ["SET_PLAYER_FORCE_SKIP_AIM_INTRO"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("7651BC64AE59E128");end, + -- Inhibits the player from using any method of combat including melee and firearms. + -- + -- NOTE: Only disables the firing for one frame + ["DISABLE_PLAYER_FIRING"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("5E6CC07646BBEAB8");end, + -- Disables something. Used only once in R* scripts (freemode.ysc). + -- + -- DISABLE_PLAYER_* + ["_0xB885852C39CC265D"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B885852C39CC265D");end, + ["SET_DISABLE_AMBIENT_MELEE_MOVE"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2E8AABFA40A84F8C");end, + -- Default is 100. Use player id and not ped id. For instance: PLAYER::SET_PLAYER_MAX_ARMOUR(PLAYER::PLAYER_ID(), 100); // main_persistent.ct4 + ["SET_PLAYER_MAX_ARMOUR"]=--[[void]] function(--[[Player (int)]] player,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(value);native_invoker.end_call("77DFCCF5948B8C71");end, + ["_SPECIAL_ABILITY_ACTIVATE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("821FDC827D6F4090");end, + ["_SET_SPECIAL_ABILITY"]=--[[void]] function(--[[Player (int)]] player,--[[int]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("B214D570EAD7F81A");end, + ["_SPECIAL_ABILITY_DEPLETE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("17F7471EACA78290");end, + ["SPECIAL_ABILITY_DEACTIVATE"]=--[[void]] function(--[[Player (int)]] player,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.end_call("D6A953C6D1492057");end, + ["SPECIAL_ABILITY_DEACTIVATE_FAST"]=--[[void]] function(--[[Player (int)]] player,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.end_call("9CB5CE07A3968D5A");end, + ["SPECIAL_ABILITY_RESET"]=--[[void]] function(--[[Player (int)]] player,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.end_call("375F0E738F861A94");end, + ["SPECIAL_ABILITY_CHARGE_ON_MISSION_FAILED"]=--[[void]] function(--[[Player (int)]] player,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.end_call("C9A763D8FE87436A");end, + -- Every occurrence of p1 & p2 were both true. + ["SPECIAL_ABILITY_CHARGE_SMALL"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("2E7B9B683481687D");end, + -- Only 1 match. Both p1 & p2 were true. + ["SPECIAL_ABILITY_CHARGE_MEDIUM"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("F113E3AA9BC54613");end, + -- 2 matches. p1 was always true. + ["SPECIAL_ABILITY_CHARGE_LARGE"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("F733F45FA4497D93");end, + -- p1 appears to always be 1 (only comes up twice) + ["SPECIAL_ABILITY_CHARGE_CONTINUOUS"]=--[[void]] function(--[[Player (int)]] player,--[[Ped (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("ED481732DFF7E997");end, + -- p1 appears as 5, 10, 15, 25, or 30. p2 is always true. + ["SPECIAL_ABILITY_CHARGE_ABSOLUTE"]=--[[void]] function(--[[Player (int)]] player,--[[int]] p1,--[[BOOL (bool)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("B7B0870EB531D08D");end, + -- + -- normalizedValue is from 0.0 - 1.0 + -- p2 is always 1 + ["SPECIAL_ABILITY_CHARGE_NORMALIZED"]=--[[void]] function(--[[Player (int)]] player,--[[float]] normalizedValue,--[[BOOL (bool)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(normalizedValue);native_invoker.push_arg_bool(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("A0696A65F009EE18");end, + -- Also known as _RECHARGE_SPECIAL_ABILITY + ["SPECIAL_ABILITY_FILL_METER"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("3DACA8DDC6FD4980");end, + -- p1 was always true. + ["SPECIAL_ABILITY_DEPLETE_METER"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("1D506DBBBC51E64B");end, + ["SPECIAL_ABILITY_LOCK"]=--[[void]] function(--[[Hash (int)]] playerModel,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(playerModel);native_invoker.push_arg_int(p1);native_invoker.end_call("6A09D0D590A47D13");end, + ["SPECIAL_ABILITY_UNLOCK"]=--[[void]] function(--[[Hash (int)]] playerModel,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(playerModel);native_invoker.push_arg_int(p1);native_invoker.end_call("F145F3BE2EFA9A3B");end, + ["IS_SPECIAL_ABILITY_UNLOCKED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] playerModel)native_invoker.begin_call();native_invoker.push_arg_int(playerModel);native_invoker.end_call("C6017F6A6CDFA694");return native_invoker.get_return_value_bool();end, + ["IS_SPECIAL_ABILITY_ACTIVE"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.end_call("3E5F7FC85D854E15");return native_invoker.get_return_value_bool();end, + ["IS_SPECIAL_ABILITY_METER_FULL"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.end_call("05A1FE504B7F2587");return native_invoker.get_return_value_bool();end, + ["ENABLE_SPECIAL_ABILITY"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(p2);native_invoker.end_call("181EC197DAEFE121");end, + ["IS_SPECIAL_ABILITY_ENABLED"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.end_call("B1D200FE26AEF3CB");return native_invoker.get_return_value_bool();end, + ["SET_SPECIAL_ABILITY_MULTIPLIER"]=--[[void]] function(--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_float(multiplier);native_invoker.end_call("A49C426ED0CA4AB7");end, + ["_0xFFEE8FA29AB9A18E"]=--[[void]] function(--[[Player (int)]] player,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.end_call("FFEE8FA29AB9A18E");end, + -- Appears once in "re_dealgonewrong" + ["_0x5FC472C501CCADB3"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("5FC472C501CCADB3");return native_invoker.get_return_value_bool();end, + -- Only 1 occurrence. p1 was 2. + ["_0xF10B44FD479D69F3"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.end_call("F10B44FD479D69F3");return native_invoker.get_return_value_bool();end, + -- 2 occurrences in agency_heist3a. p1 was 0.7f then 0.4f. + ["_0xDD2620B7B9D16FF1"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(p1);native_invoker.end_call("DD2620B7B9D16FF1");return native_invoker.get_return_value_bool();end, + -- `findCollisionLand`: This teleports the player to land when set to true and will not consider the Z coordinate parameter provided by you. It will automatically put the Z coordinate so that you don't fall from sky. + ["START_PLAYER_TELEPORT"]=--[[void]] function(--[[Player (int)]] player,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] findCollisionLand,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(findCollisionLand);native_invoker.push_arg_bool(p7);native_invoker.end_call("AD15F075A4DA0FDE");end, + ["_HAS_PLAYER_TELEPORT_FINISHED"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("E23D5873C2394C61");return native_invoker.get_return_value_bool();end, + -- Disables the player's teleportation + ["STOP_PLAYER_TELEPORT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C449EDED9D73009C");end, + ["IS_PLAYER_TELEPORT_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("02B15662D7F8886F");return native_invoker.get_return_value_bool();end, + ["GET_PLAYER_CURRENT_STEALTH_NOISE"]=--[[float]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("2F395D61F3A1F877");return native_invoker.get_return_value_float();end, + -- `regenRate`: The recharge multiplier, a value between 0.0 and 1.0. + -- Use 1.0 to reset it back to normal + ["SET_PLAYER_HEALTH_RECHARGE_MULTIPLIER"]=--[[void]] function(--[[Player (int)]] player,--[[float]] regenRate)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(regenRate);native_invoker.end_call("5DB660B38DD98A31");end, + ["_GET_PLAYER_HEALTH_RECHARGE_LIMIT"]=--[[float]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("8BC515BAE4AAF8FF");return native_invoker.get_return_value_float();end, + ["_SET_PLAYER_HEALTH_RECHARGE_LIMIT"]=--[[void]] function(--[[Player (int)]] player,--[[float]] limit)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(limit);native_invoker.end_call("C388A0F065F5BC34");end, + ["_SET_PLAYER_FALL_DISTANCE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("EFD79FA81DFBA9CB");end, + -- This modifies the damage value of your weapon. Whether it is a multiplier or base damage is unknown. + -- + -- Based on tests, it is unlikely to be a multiplier. + -- + -- modifier's min value is 0.1 + ["SET_PLAYER_WEAPON_DAMAGE_MODIFIER"]=--[[void]] function(--[[Player (int)]] player,--[[float]] modifier)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(modifier);native_invoker.end_call("CE07B9F7817AADA3");end, + -- modifier's min value is 0.1 + ["SET_PLAYER_WEAPON_DEFENSE_MODIFIER"]=--[[void]] function(--[[Player (int)]] player,--[[float]] modifier)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(modifier);native_invoker.end_call("2D83BC011CA14A3C");end, + -- modifier's min value is 0.1 + ["_SET_PLAYER_WEAPON_DEFENSE_MODIFIER_2"]=--[[void]] function(--[[Player (int)]] player,--[[float]] modifier)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(modifier);native_invoker.end_call("BCFDE9EDE4CF27DC");end, + -- modifier's min value is 0.1 + ["SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER"]=--[[void]] function(--[[Player (int)]] player,--[[float]] modifier,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(modifier);native_invoker.push_arg_bool(p2);native_invoker.end_call("4A3DC7ECCC321032");end, + -- modifier's min value is 0.1 + ["SET_PLAYER_MELEE_WEAPON_DEFENSE_MODIFIER"]=--[[void]] function(--[[Player (int)]] player,--[[float]] modifier)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(modifier);native_invoker.end_call("AE540335B4ABC4E2");end, + -- modifier's min value is 0.1 + ["SET_PLAYER_VEHICLE_DAMAGE_MODIFIER"]=--[[void]] function(--[[Player (int)]] player,--[[float]] modifier)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(modifier);native_invoker.end_call("A50E117CDDF82F0C");end, + -- modifier's min value is 0.1 + ["SET_PLAYER_VEHICLE_DEFENSE_MODIFIER"]=--[[void]] function(--[[Player (int)]] player,--[[float]] modifier)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(modifier);native_invoker.end_call("4C60E6EFDAFF2462");end, + -- SET_PLAYER_MAX_* + ["_0x8D768602ADEF2245"]=--[[void]] function(--[[Player (int)]] player,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(p1);native_invoker.end_call("8D768602ADEF2245");end, + ["_0xD821056B9ACF8052"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("D821056B9ACF8052");end, + ["_0x31E90B8873A4CD3B"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("31E90B8873A4CD3B");end, + -- Tints: + -- None = -1, + -- Rainbow = 0, + -- Red = 1, + -- SeasideStripes = 2, + -- WidowMaker = 3, + -- Patriot = 4, + -- Blue = 5, + -- Black = 6, + -- Hornet = 7, + -- AirFocce = 8, + -- Desert = 9, + -- Shadow = 10, + -- HighAltitude = 11, + -- Airbone = 12, + -- Sunrise = 13, + -- + ["SET_PLAYER_PARACHUTE_TINT_INDEX"]=--[[void]] function(--[[Player (int)]] player,--[[int]] tintIndex)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(tintIndex);native_invoker.end_call("A3D0E54541D9A5E5");end, + -- Tints: + -- None = -1, + -- Rainbow = 0, + -- Red = 1, + -- SeasideStripes = 2, + -- WidowMaker = 3, + -- Patriot = 4, + -- Blue = 5, + -- Black = 6, + -- Hornet = 7, + -- AirFocce = 8, + -- Desert = 9, + -- Shadow = 10, + -- HighAltitude = 11, + -- Airbone = 12, + -- Sunrise = 13, + ["GET_PLAYER_PARACHUTE_TINT_INDEX"]=--[[void]] function(--[[Player (int)]] player,--[[int* (pointer)]] tintIndex)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_pointer(tintIndex);native_invoker.end_call("75D3F7A1B0D9B145");end, + -- Tints: + -- None = -1, + -- Rainbow = 0, + -- Red = 1, + -- SeasideStripes = 2, + -- WidowMaker = 3, + -- Patriot = 4, + -- Blue = 5, + -- Black = 6, + -- Hornet = 7, + -- AirFocce = 8, + -- Desert = 9, + -- Shadow = 10, + -- HighAltitude = 11, + -- Airbone = 12, + -- Sunrise = 13, + ["SET_PLAYER_RESERVE_PARACHUTE_TINT_INDEX"]=--[[void]] function(--[[Player (int)]] player,--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(index);native_invoker.end_call("AF04C87F5DC1DF38");end, + -- Tints: + -- None = -1, + -- Rainbow = 0, + -- Red = 1, + -- SeasideStripes = 2, + -- WidowMaker = 3, + -- Patriot = 4, + -- Blue = 5, + -- Black = 6, + -- Hornet = 7, + -- AirFocce = 8, + -- Desert = 9, + -- Shadow = 10, + -- HighAltitude = 11, + -- Airbone = 12, + -- Sunrise = 13, + ["GET_PLAYER_RESERVE_PARACHUTE_TINT_INDEX"]=--[[void]] function(--[[Player (int)]] player,--[[int* (pointer)]] index)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_pointer(index);native_invoker.end_call("D5A016BC3C09CF40");end, + -- tints 0- 13 + -- 0 - unkown + -- 1 - unkown + -- 2 - unkown + -- 3 - unkown + -- 4 - unkown + ["SET_PLAYER_PARACHUTE_PACK_TINT_INDEX"]=--[[void]] function(--[[Player (int)]] player,--[[int]] tintIndex)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(tintIndex);native_invoker.end_call("93B0FB27C9A04060");end, + ["GET_PLAYER_PARACHUTE_PACK_TINT_INDEX"]=--[[void]] function(--[[Player (int)]] player,--[[int* (pointer)]] tintIndex)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_pointer(tintIndex);native_invoker.end_call("6E9C742F340CE5A2");end, + ["SET_PLAYER_HAS_RESERVE_PARACHUTE"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("7DDAB28D31FAC363");end, + ["GET_PLAYER_HAS_RESERVE_PARACHUTE"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("5DDFE2FF727F3CA3");return native_invoker.get_return_value_bool();end, + ["SET_PLAYER_CAN_LEAVE_PARACHUTE_SMOKE_TRAIL"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] enabled)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(enabled);native_invoker.end_call("F401B182DBA8AF53");end, + ["SET_PLAYER_PARACHUTE_SMOKE_TRAIL_COLOR"]=--[[void]] function(--[[Player (int)]] player,--[[int]] r,--[[int]] g,--[[int]] b)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.end_call("8217FD371A4625CF");end, + ["GET_PLAYER_PARACHUTE_SMOKE_TRAIL_COLOR"]=--[[void]] function(--[[Player (int)]] player,--[[int* (pointer)]] r,--[[int* (pointer)]] g,--[[int* (pointer)]] b)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_pointer(r);native_invoker.push_arg_pointer(g);native_invoker.push_arg_pointer(b);native_invoker.end_call("EF56DBABD3CD4887");end, + -- example: + -- + -- flags: 0-6 + -- + -- PLAYER::SET_PLAYER_RESET_FLAG_PREFER_REAR_SEATS(PLAYER::PLAYER_ID(), 6); + -- + -- wouldnt the flag be the seatIndex? + ["SET_PLAYER_RESET_FLAG_PREFER_REAR_SEATS"]=--[[void]] function(--[[Player (int)]] player,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(flags);native_invoker.end_call("11D5F725F0E780E0");end, + ["SET_PLAYER_NOISE_MULTIPLIER"]=--[[void]] function(--[[Player (int)]] player,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(multiplier);native_invoker.end_call("DB89EF50FF25FCE9");end, + -- Values around 1.0f to 2.0f used in game scripts. + ["SET_PLAYER_SNEAKING_NOISE_MULTIPLIER"]=--[[void]] function(--[[Player (int)]] player,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(multiplier);native_invoker.end_call("B2C1A29588A9F47C");end, + ["CAN_PED_HEAR_PLAYER"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(ped);native_invoker.end_call("F297383AA91DCA29");return native_invoker.get_return_value_bool();end, + -- This is to make the player walk without accepting input from INPUT. + -- + -- gaitType is in increments of 100s. 2000, 500, 300, 200, etc. + -- + -- p4 is always 1 and p5 is always 0. + -- + -- C# Example : + -- + -- Function.Call(Hash.SIMULATE_PLAYER_INPUT_GAIT, Game.Player, 1.0f, 100, 1.0f, 1, 0); //Player will go forward for 100ms + ["SIMULATE_PLAYER_INPUT_GAIT"]=--[[void]] function(--[[Player (int)]] player,--[[float]] amount,--[[int]] gaitType,--[[float]] speed,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(amount);native_invoker.push_arg_int(gaitType);native_invoker.push_arg_float(speed);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("477D5D63E63ECA5D");end, + ["RESET_PLAYER_INPUT_GAIT"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("19531C47A2ABD691");end, + ["SET_AUTO_GIVE_PARACHUTE_WHEN_ENTER_PLANE"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("9F343285A00B4BB6");end, + ["SET_AUTO_GIVE_SCUBA_GEAR_WHEN_EXIT_VEHICLE"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D2B315B6689D537D");end, + ["SET_PLAYER_STEALTH_PERCEPTION_MODIFIER"]=--[[void]] function(--[[Player (int)]] player,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_float(value);native_invoker.end_call("4E9021C1FCDD507A");end, + -- IS_* + ["_0x690A61A6D13583F6"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("690A61A6D13583F6");return native_invoker.get_return_value_bool();end, + ["_0x9EDD76E87D5D51BA"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("9EDD76E87D5D51BA");end, + ["SET_PLAYER_SIMULATE_AIMING"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C54C95DA968EC5B5");end, + ["SET_PLAYER_CLOTH_PIN_FRAMES"]=--[[void]] function(--[[Player (int)]] player,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.end_call("749FADDF97DFE930");end, + -- Every occurrence was either 0 or 2. + ["SET_PLAYER_CLOTH_PACKAGE_INDEX"]=--[[void]] function(--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.end_call("9F7BBA2EA6372500");end, + -- 6 matches across 4 scripts. 5 occurrences were 240. The other was 255. + ["SET_PLAYER_CLOTH_LOCK_COUNTER"]=--[[void]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("14D913B777DFF5DA");end, + -- Only 1 match. ob_sofa_michael. + -- + -- PLAYER::PLAYER_ATTACH_VIRTUAL_BOUND(-804.5928f, 173.1801f, 71.68436f, 0f, 0f, 0.590625f, 1f, 0.7f);1.0.335.2, 1.0.350.1/2, 1.0.372.2, 1.0.393.2, 1.0.393.4, 1.0.463.1; + ["PLAYER_ATTACH_VIRTUAL_BOUND"]=--[[void]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.end_call("ED51733DC73AED51");end, + -- 1.0.335.2, 1.0.350.1/2, 1.0.372.2, 1.0.393.2, 1.0.393.4, 1.0.463.1; + ["PLAYER_DETACH_VIRTUAL_BOUND"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1DD5897E2FA6E7C9");end, + ["HAS_PLAYER_BEEN_SPOTTED_IN_STOLEN_VEHICLE"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("D705740BB0A1CF4C");return native_invoker.get_return_value_bool();end, + -- Returns true if an unk value is greater than 0.0f + ["IS_PLAYER_BATTLE_AWARE"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("38D28DA81E4E9BF9");return native_invoker.get_return_value_bool();end, + -- var num3 = PLAYER::GET_PLAYER_PED(l_2171); // proof l_2171 is a player + -- + -- var num17 = PLAYER::0x9DF75B2A(l_2171, 100, 0); // l_2171 + -- + -- .ysc: + -- if (PLAYER::GET_PLAYER_WANTED_LEVEL(l_6EF) < v_4) { // l_6EF is a player + -- PLAYER::SET_PLAYER_WANTED_LEVEL(l_6EF, v_4, 0); // l_6EF + -- PLAYER::SET_PLAYER_WANTED_LEVEL_NOW(l_6EF, 0); // l_6EF + -- } else { + -- PLAYER::_4669B3ED80F24B4E(l_6EF); // l_6EF + -- HUD::_BA8D65C1C65702E5(1); + -- a_0 = 1; + -- } + -- + -- if (l_4B24[l_6F2/*156*/]._f8C != PLAYER::_BC0753C9CA14B506(l_6EF, 100, 0)) { // l_6EF + -- l_4B24[l_6F2/*156*/]._f8C = PLAYER::_BC0753C9CA14B506(l_6EF, 100, 0); // l_6EF + -- } + -- + -- Both was taken from fm_mission_controller + -- + -- GET_PLAYER_* + ["_0xBC0753C9CA14B506"]=--[[BOOL (bool)]] function(--[[Player (int)]] player,--[[int]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("BC0753C9CA14B506");return native_invoker.get_return_value_bool();end, + -- Appears only 3 times in the scripts, more specifically in michael1.ysc + -- + -- - + -- This can be used to prevent dying if you are "out of the world" + ["EXTEND_WORLD_BOUNDARY_FOR_PLAYER"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("5006D96C995A5827");end, + ["RESET_WORLD_BOUNDARY_FOR_PLAYER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("DA1DF03D5A315F4E");end, + -- Returns true if the player is riding a train. + ["IS_PLAYER_RIDING_TRAIN"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("4EC12697209F2196");return native_invoker.get_return_value_bool();end, + ["HAS_PLAYER_LEFT_THE_WORLD"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("D55DDFB47991A294");return native_invoker.get_return_value_bool();end, + ["SET_PLAYER_LEAVE_PED_BEHIND"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("FF300C7649724A0B");end, + -- p1 was always 5. + -- p4 was always false. + ["SET_PLAYER_PARACHUTE_VARIATION_OVERRIDE"]=--[[void]] function(--[[Player (int)]] player,--[[int]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("D9284A8C0D48352C");end, + ["CLEAR_PLAYER_PARACHUTE_VARIATION_OVERRIDE"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("0F4CC924CF8C7B21");end, + -- example: + -- + -- PLAYER::SET_PLAYER_PARACHUTE_MODEL_OVERRIDE(PLAYER::PLAYER_ID(), 0x73268708); + ["SET_PLAYER_PARACHUTE_MODEL_OVERRIDE"]=--[[void]] function(--[[Player (int)]] player,--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(model);native_invoker.end_call("977DB4641F6FC3DB");end, + ["CLEAR_PLAYER_PARACHUTE_MODEL_OVERRIDE"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("8753997EB5F6EE3F");end, + ["SET_PLAYER_PARACHUTE_PACK_MODEL_OVERRIDE"]=--[[void]] function(--[[Player (int)]] player,--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(model);native_invoker.end_call("DC80A4C2F18A2B64");end, + ["CLEAR_PLAYER_PARACHUTE_PACK_MODEL_OVERRIDE"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("10C54E4389C12B42");end, + ["DISABLE_PLAYER_VEHICLE_REWARDS"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("C142BE3BB9CE125F");end, + -- Used with radios: + -- + -- void sub_cf383(auto _a0) { + -- if ((a_0)==1) { + -- if (MISC::IS_BIT_SET((g_240005._f1), 3)) { + -- PLAYER::_2F7CEB6520288061(0); + -- AUDIO::SET_AUDIO_FLAG("AllowRadioDuringSwitch", 0); + -- AUDIO::SET_MOBILE_PHONE_RADIO_STATE(0); + -- AUDIO::SET_AUDIO_FLAG("MobileRadioInGame", 0); + -- } + -- sub_cf3f6(1); + -- } else { + -- if (MISC::IS_BIT_SET((g_240005._f1), 3)) { + -- PLAYER::_2F7CEB6520288061(1); + -- AUDIO::SET_AUDIO_FLAG("AllowRadioDuringSwitch", 1); + -- AUDIO::SET_MOBILE_PHONE_RADIO_STATE(1); + -- AUDIO::SET_AUDIO_FLAG("MobileRadioInGame", 1); + -- } + -- sub_cf3f6(0); + -- } + -- } + -- + -- SET_PLAYER_S* + ["_0x2F7CEB6520288061"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("2F7CEB6520288061");end, + ["SET_PLAYER_BLUETOOTH_STATE"]=--[[void]] function(--[[Player (int)]] player,--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_bool(state);native_invoker.end_call("5DC40A8869C22141");end, + ["IS_PLAYER_BLUETOOTH_ENABLE"]=--[[BOOL (bool)]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("65FAEE425DE637B0");return native_invoker.get_return_value_bool();end, + -- DISABLE_* + ["_0x5501B7A5CDB79D37"]=--[[void]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("5501B7A5CDB79D37");end, + ["GET_PLAYER_FAKE_WANTED_LEVEL"]=--[[int]] function(--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.end_call("56105E599CAB0EFA");return native_invoker.get_return_value_int();end, + ["_0x55FCC0C390620314"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("55FCC0C390620314");end, + ["_0x2382AB11450AE7BA"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("2382AB11450AE7BA");end, + ["_0x6E4361FF3E8CD7CA"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6E4361FF3E8CD7CA");return native_invoker.get_return_value_int();end, + -- Unsets playerPed+330 if the current weapon has certain flags. + ["_0x237440E46D918649"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("237440E46D918649");end, + ["_SET_PLAYER_HOMING_ROCKET_DISABLED"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("EE4EBDD2593BA844");end, + -- ADD_* + ["_0x9097EB6D4BB9A12A"]=--[[void]] function(--[[Player (int)]] player,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(entity);native_invoker.end_call("9097EB6D4BB9A12A");end, + -- REMOVE_* + ["_0x9F260BFB59ADBCA3"]=--[[void]] function(--[[Player (int)]] player,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(entity);native_invoker.end_call("9F260BFB59ADBCA3");end, + ["_0x7BAE68775557AE0B"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("7BAE68775557AE0B");end, + -- Resets values set by 0x70A382ADEC069DD3 + -- _RESET_VOIP_* + ["_0x7148E0F43D11F0D9"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("7148E0F43D11F0D9");end, + -- Might be voip related + -- _SET_VOIP_* + ["_0x70A382ADEC069DD3"]=--[[void]] function(--[[float]] coordX,--[[float]] coordY,--[[float]] coordZ)native_invoker.begin_call();native_invoker.push_arg_float(coordX);native_invoker.push_arg_float(coordY);native_invoker.push_arg_float(coordZ);native_invoker.end_call("70A382ADEC069DD3");end, +} +RECORDING={ + ["_0x48621C9FCA3EBD28"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("48621C9FCA3EBD28");end, + ["_0x81CBAE94390F9F89"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("81CBAE94390F9F89");end, + ["_0x13B350B8AD0EEE10"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("13B350B8AD0EEE10");end, + ["_0x293220DA1B46CEBC"]=--[[void]] function(--[[float]] p0,--[[float]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("293220DA1B46CEBC");end, + -- -This function appears to be deprecated/ unused. Tracing the call internally leads to a _nullsub - + -- + -- first one seems to be a string of a mission name, second one seems to be a bool/toggle + -- + -- p1 was always 0. + -- + ["_0x208784099002BC30"]=--[[void]] function(--[[string]] missionNameLabel,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(missionNameLabel);native_invoker.push_arg_int(p1);native_invoker.end_call("208784099002BC30");end, + -- This disable the recording feature and has to be called every frame. + ["_STOP_RECORDING_THIS_FRAME"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EB2D525B57F42B40");end, + ["_0xF854439EFBB3B583"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("F854439EFBB3B583");end, + -- This will disable the ability to make camera changes in R* Editor. + -- + -- RE* + ["_DISABLE_ROCKSTAR_EDITOR_CAMERA_CHANGES"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("AF66DCEE6609B148");end, + -- Does nothing (it's a nullsub). + ["_0x66972397E0757E7A"]=--[[void]] function(--[[int]] p0,--[[int]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("66972397E0757E7A");end, + -- Starts recording a replay. + -- If mode is 0, turns on action replay. + -- If mode is 1, starts recording. + -- If already recording a replay, does nothing. + ["_START_RECORDING"]=--[[void]] function(--[[int]] mode)native_invoker.begin_call();native_invoker.push_arg_int(mode);native_invoker.end_call("C3AC2FFF9612AC81");end, + -- Stops recording and saves the recorded clip. + ["_STOP_RECORDING_AND_SAVE_CLIP"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("071A5197D6AFC8B3");end, + -- Stops recording and discards the recorded clip. + ["_STOP_RECORDING_AND_DISCARD_CLIP"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("88BB3507ED41A240");end, + ["_SAVE_RECORDING_CLIP"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("644546EC5287471B");return native_invoker.get_return_value_bool();end, + -- Checks if you're recording, returns TRUE when you start recording (F1) or turn on action replay (F2) + -- + -- mov al, cs:g_bIsRecordingGameplay // byte_141DD0CD0 in b944 + -- retn + ["_IS_RECORDING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("1897CA71995A90B4");return native_invoker.get_return_value_bool();end, + ["_0xDF4B952F7D381B95"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("DF4B952F7D381B95");return native_invoker.get_return_value_int();end, + ["_0x4282E08174868BE3"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("4282E08174868BE3");return native_invoker.get_return_value_int();end, + ["_0x33D47E85B476ABCD"]=--[[BOOL (bool)]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("33D47E85B476ABCD");return native_invoker.get_return_value_bool();end, +} +REPLAY={ + -- Does nothing (it's a nullsub). + ["_0x7E2BD3EF6C205F09"]=--[[void]] function(--[[string]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("7E2BD3EF6C205F09");end, + -- Returns a bool if interior rendering is disabled, if yes, all "normal" rendered interiors are invisible + ["_IS_INTERIOR_RENDERING_DISABLED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("95AB8B5C992C7B58");return native_invoker.get_return_value_bool();end, + -- Disables some other rendering (internal) + ["_0x5AD3932DAEB1E5D3"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5AD3932DAEB1E5D3");end, + ["_0xE058175F8EAFE79A"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("E058175F8EAFE79A");end, + -- Sets (almost, not sure) all Rockstar Editor values (bIsRecording etc) to 0. + ["_RESET_EDITOR_VALUES"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("3353D13F09307691");end, + -- Please note that you will need to call DO_SCREEN_FADE_IN after exiting the Rockstar Editor when you call this. + ["_ACTIVATE_ROCKSTAR_EDITOR"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("49DA8145672B2725");end, +} +SCRIPT={ + ["REQUEST_SCRIPT"]=--[[void]] function(--[[string]] scriptName)native_invoker.begin_call();native_invoker.push_arg_string(scriptName);native_invoker.end_call("6EB5F71AA68F2E8E");end, + ["SET_SCRIPT_AS_NO_LONGER_NEEDED"]=--[[void]] function(--[[string]] scriptName)native_invoker.begin_call();native_invoker.push_arg_string(scriptName);native_invoker.end_call("C90D2DCACD56184C");end, + -- Returns if a script has been loaded into the game. Used to see if a script was loaded after requesting. + ["HAS_SCRIPT_LOADED"]=--[[BOOL (bool)]] function(--[[string]] scriptName)native_invoker.begin_call();native_invoker.push_arg_string(scriptName);native_invoker.end_call("E6CC9F3BA0FB9EF1");return native_invoker.get_return_value_bool();end, + ["DOES_SCRIPT_EXIST"]=--[[BOOL (bool)]] function(--[[string]] scriptName)native_invoker.begin_call();native_invoker.push_arg_string(scriptName);native_invoker.end_call("FC04745FBE67C19A");return native_invoker.get_return_value_bool();end, + -- formerly _REQUEST_STREAMED_SCRIPT + ["REQUEST_SCRIPT_WITH_NAME_HASH"]=--[[void]] function(--[[Hash (int)]] scriptHash)native_invoker.begin_call();native_invoker.push_arg_int(scriptHash);native_invoker.end_call("D62A67D26D9653E6");end, + ["SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED"]=--[[void]] function(--[[Hash (int)]] scriptHash)native_invoker.begin_call();native_invoker.push_arg_int(scriptHash);native_invoker.end_call("C5BC038960E9DB27");end, + ["HAS_SCRIPT_WITH_NAME_HASH_LOADED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] scriptHash)native_invoker.begin_call();native_invoker.push_arg_int(scriptHash);native_invoker.end_call("5F0F0C783EB16C04");return native_invoker.get_return_value_bool();end, + ["DOES_SCRIPT_WITH_NAME_HASH_EXIST"]=--[[BOOL (bool)]] function(--[[Hash (int)]] scriptHash)native_invoker.begin_call();native_invoker.push_arg_int(scriptHash);native_invoker.end_call("F86AA3C56BA31381");return native_invoker.get_return_value_bool();end, + ["TERMINATE_THREAD"]=--[[void]] function(--[[int]] threadId)native_invoker.begin_call();native_invoker.push_arg_int(threadId);native_invoker.end_call("C8B189ED9138BCD4");end, + ["IS_THREAD_ACTIVE"]=--[[BOOL (bool)]] function(--[[int]] threadId)native_invoker.begin_call();native_invoker.push_arg_int(threadId);native_invoker.end_call("46E9AE36D8FA6417");return native_invoker.get_return_value_bool();end, + ["_GET_NAME_OF_THREAD"]=--[[string]] function(--[[int]] threadId)native_invoker.begin_call();native_invoker.push_arg_int(threadId);native_invoker.end_call("05A42BA9FC8DA96B");return native_invoker.get_return_value_string();end, + -- Starts a new iteration of the current threads. + -- Call this first, then SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID (0x30B4FA1C82DD4B9F) + ["SCRIPT_THREAD_ITERATOR_RESET"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("DADFADA5A20143A8");end, + -- If the function returns 0, the end of the iteration has been reached. + ["SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("30B4FA1C82DD4B9F");return native_invoker.get_return_value_int();end, + ["GET_ID_OF_THIS_THREAD"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("C30338E8088E2E21");return native_invoker.get_return_value_int();end, + ["TERMINATE_THIS_THREAD"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1090044AD1DA76FA");end, + -- Gets the number of instances of the specified script is currently running. + -- + -- Actually returns numRefs - 1. + -- if (program) + -- v3 = rage::scrProgram::GetNumRefs(program) - 1; + -- return v3; + ["_GET_NUMBER_OF_REFERENCES_OF_SCRIPT_WITH_NAME_HASH"]=--[[int]] function(--[[Hash (int)]] scriptHash)native_invoker.begin_call();native_invoker.push_arg_int(scriptHash);native_invoker.end_call("2C83A9DA6BFFC4F9");return native_invoker.get_return_value_int();end, + ["GET_THIS_SCRIPT_NAME"]=--[[string]] function()native_invoker.begin_call();native_invoker.end_call("442E0A7EDE4A738A");return native_invoker.get_return_value_string();end, + ["GET_HASH_OF_THIS_SCRIPT_NAME"]=--[[Hash (int)]] function()native_invoker.begin_call();native_invoker.end_call("8A1C8B1738FFE87E");return native_invoker.get_return_value_int();end, + -- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) + ["GET_NUMBER_OF_EVENTS"]=--[[int]] function(--[[int]] eventGroup)native_invoker.begin_call();native_invoker.push_arg_int(eventGroup);native_invoker.end_call("5F92A689A06620AA");return native_invoker.get_return_value_int();end, + -- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) + ["GET_EVENT_EXISTS"]=--[[BOOL (bool)]] function(--[[int]] eventGroup,--[[int]] eventIndex)native_invoker.begin_call();native_invoker.push_arg_int(eventGroup);native_invoker.push_arg_int(eventIndex);native_invoker.end_call("936E6168A9BCEDB5");return native_invoker.get_return_value_bool();end, + -- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) + ["GET_EVENT_AT_INDEX"]=--[[int]] function(--[[int]] eventGroup,--[[int]] eventIndex)native_invoker.begin_call();native_invoker.push_arg_int(eventGroup);native_invoker.push_arg_int(eventIndex);native_invoker.end_call("D8F66A3A60C62153");return native_invoker.get_return_value_int();end, + -- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) + ["GET_EVENT_DATA"]=--[[BOOL (bool)]] function(--[[int]] eventGroup,--[[int]] eventIndex,--[[int* (pointer)]] argStruct,--[[int]] argStructSize)native_invoker.begin_call();native_invoker.push_arg_int(eventGroup);native_invoker.push_arg_int(eventIndex);native_invoker.push_arg_pointer(argStruct);native_invoker.push_arg_int(argStructSize);native_invoker.end_call("2902843FCD2B2D79");return native_invoker.get_return_value_bool();end, + -- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) + ["TRIGGER_SCRIPT_EVENT"]=--[[void]] function(--[[int]] eventGroup,--[[int* (pointer)]] args,--[[int]] argCount,--[[int]] bit)native_invoker.begin_call();native_invoker.push_arg_int(eventGroup);native_invoker.push_arg_pointer(args);native_invoker.push_arg_int(argCount);native_invoker.push_arg_int(bit);native_invoker.end_call("5AE99C571D5BBE5D");end, + ["SHUTDOWN_LOADING_SCREEN"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("078EBE9809CCD637");end, + ["SET_NO_LOADING_SCREEN"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("5262CC1995D07E09");end, + ["GET_NO_LOADING_SCREEN"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("18C1270EA7F199BC");return native_invoker.get_return_value_bool();end, + ["_0xB1577667C3708F9B"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B1577667C3708F9B");end, + -- Returns true if bit 0 in GtaThread+0x154 is set. + -- + -- BG_* + ["_0x836B62713E0534CA"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("836B62713E0534CA");return native_invoker.get_return_value_bool();end, + -- Sets bit 1 in GtaThread+0x154 + -- + -- BG_* + ["_0x760910B49D2B98EA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("760910B49D2B98EA");end, + -- Hashed version of 0x9D5A25BADB742ACD. + ["BG_START_CONTEXT_HASH"]=--[[void]] function(--[[Hash (int)]] contextHash)native_invoker.begin_call();native_invoker.push_arg_int(contextHash);native_invoker.end_call("75B18E49607874C7");end, + -- Hashed version of 0xDC2BACD920D0A0DD. + ["BG_END_CONTEXT_HASH"]=--[[void]] function(--[[Hash (int)]] contextHash)native_invoker.begin_call();native_invoker.push_arg_int(contextHash);native_invoker.end_call("107E5CC7CA942BC1");end, + -- Inserts the given context into the background scripts context map. + ["BG_START_CONTEXT"]=--[[void]] function(--[[string]] contextName)native_invoker.begin_call();native_invoker.push_arg_string(contextName);native_invoker.end_call("9D5A25BADB742ACD");end, + -- Deletes the given context from the background scripts context map. + ["BG_END_CONTEXT"]=--[[void]] function(--[[string]] contextName)native_invoker.begin_call();native_invoker.push_arg_string(contextName);native_invoker.end_call("DC2BACD920D0A0DD");end, + -- BG_* + ["_0x0F6F1EBBC4E1D5E6"]=--[[BOOL (bool)]] function(--[[int]] scriptIndex,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_int(scriptIndex);native_invoker.push_arg_string(p1);native_invoker.end_call("0F6F1EBBC4E1D5E6");return native_invoker.get_return_value_bool();end, + -- BG_* + ["_0x22E21FBCFC88C149"]=--[[int]] function(--[[int]] scriptIndex,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_int(scriptIndex);native_invoker.push_arg_string(p1);native_invoker.end_call("22E21FBCFC88C149");return native_invoker.get_return_value_int();end, + -- BG_* + ["_0x829CD22E043A2577"]=--[[int]] function(--[[Hash (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("829CD22E043A2577");return native_invoker.get_return_value_int();end, + -- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) + ["_TRIGGER_SCRIPT_EVENT_2"]=--[[void]] function(--[[int]] eventGroup,--[[int* (pointer)]] args,--[[int]] argCount,--[[int]] bit)native_invoker.begin_call();native_invoker.push_arg_int(eventGroup);native_invoker.push_arg_pointer(args);native_invoker.push_arg_int(argCount);native_invoker.push_arg_int(bit);native_invoker.end_call("A40CC53DF8E50837");end, +} +SHAPETEST={ + -- Returns a ray (?) going from x1, y1, z1 to x2, y2, z2. + -- entity = 0 most of the time. + -- p8 = 7 most of the time. + -- + -- Result of this function is passed to WORLDPROBE::_GET_RAYCAST_RESULT as a first argument. + ["START_SHAPE_TEST_LOS_PROBE"]=--[[int]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[int]] flags,--[[Entity (int)]] entity,--[[int]] p8)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(flags);native_invoker.push_arg_int(entity);native_invoker.push_arg_int(p8);native_invoker.end_call("7EE9F5D83DD4F90E");return native_invoker.get_return_value_int();end, + -- Not sure how or why this differs from 0x7EE9F5D83DD4F90E, but it does. + -- + -- This function casts a ray from Point1 to Point2 and returns it's ray handle. A simple ray cast will 'shoot' a line from point A to point B, and return whether or not the ray reached it's destination or if it hit anything and if it did hit anything, will return the handle of what it hit (entity handle) and coordinates of where the ray reached. + -- + -- You can use _GET_RAYCAST_RESULT to get the result of the raycast + -- + -- Entity is an entity to ignore, such as the player. + -- + -- Flags are intersection bit flags. They tell the ray what to care about and what not to care about when casting. Passing -1 will intersect with everything, presumably. + -- + -- Flags: + -- 1: Intersect with map + -- 2: Intersect with vehicles (used to be mission entities?) (includes train) + -- 4: Intersect with peds? (same as 8) + -- 8: Intersect with peds? (same as 4) + -- 16: Intersect with objects + -- 32: Unknown + -- 64: Unknown + -- 128: Unknown + -- 256: Intersect with vegetation (plants, coral. trees not included) + -- + -- NOTE: Raycasts that intersect with mission_entites (flag = 2) has limited range and will not register for far away entites. The range seems to be about 30 metres. + ["_START_SHAPE_TEST_RAY"]=--[[int]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[int]] flags,--[[Entity (int)]] entity,--[[int]] p8)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(flags);native_invoker.push_arg_int(entity);native_invoker.push_arg_int(p8);native_invoker.end_call("377906D8A31E5586");return native_invoker.get_return_value_int();end, + ["START_SHAPE_TEST_BOUNDING_BOX"]=--[[int]] function(--[[Entity (int)]] entity,--[[int]] flags1,--[[int]] flags2)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(flags1);native_invoker.push_arg_int(flags2);native_invoker.end_call("052837721A854EC7");return native_invoker.get_return_value_int();end, + ["START_SHAPE_TEST_BOX"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] x1,--[[float]] y2,--[[float]] z2,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[Any (int)]] p9,--[[int]] flags,--[[Entity (int)]] entity,--[[Any (int)]] p12)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_int(p9);native_invoker.push_arg_int(flags);native_invoker.push_arg_int(entity);native_invoker.push_arg_int(p12);native_invoker.end_call("FE466162C4401D18");return native_invoker.get_return_value_int();end, + ["START_SHAPE_TEST_BOUND"]=--[[int]] function(--[[Entity (int)]] entity,--[[int]] flags1,--[[int]] flags2)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(flags1);native_invoker.push_arg_int(flags2);native_invoker.end_call("37181417CE7C8900");return native_invoker.get_return_value_int();end, + -- Raycast from point to point, where the ray has a radius. + -- + -- flags: + -- vehicles=10 + -- peds =12 + -- + -- Iterating through flags yields many ped / vehicle/ object combinations + -- + -- p9 = 7, but no idea what it does + -- + -- Entity is an entity to ignore + ["START_SHAPE_TEST_CAPSULE"]=--[[int]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] radius,--[[int]] flags,--[[Entity (int)]] entity,--[[int]] p9)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(flags);native_invoker.push_arg_int(entity);native_invoker.push_arg_int(p9);native_invoker.end_call("28579D1B8F8AAC80");return native_invoker.get_return_value_int();end, + ["START_SHAPE_TEST_SWEPT_SPHERE"]=--[[int]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[float]] radius,--[[int]] flags,--[[Entity (int)]] entity,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(flags);native_invoker.push_arg_int(entity);native_invoker.push_arg_int(p9);native_invoker.end_call("E6AC6C45FBE83004");return native_invoker.get_return_value_int();end, + -- Actual name starts with START_SHAPE_TEST_??? and it returns a ShapeTest handle that can be used with GET_SHAPE_TEST_RESULT. + -- + -- In its only usage in game scripts its called with flag set to 511, entity to player_ped_id and flag2 set to 7 + ["_START_SHAPE_TEST_SURROUNDING_COORDS"]=--[[int]] function(--[[Vector3* (pointer)]] pVec1,--[[Vector3* (pointer)]] pVec2,--[[int]] flag,--[[Entity (int)]] entity,--[[int]] flag2)native_invoker.begin_call();native_invoker.push_arg_pointer(pVec1);native_invoker.push_arg_pointer(pVec2);native_invoker.push_arg_int(flag);native_invoker.push_arg_int(entity);native_invoker.push_arg_int(flag2);native_invoker.end_call("FF6BE494C7987F34");return native_invoker.get_return_value_int();end, + -- Parameters: + -- rayHandle - Ray Handle from a casted ray, as returned by CAST_RAY_POINT_TO_POINT + -- hit - Where to store whether or not it hit anything. False is when the ray reached its destination. + -- endCoords - Where to store the world-coords of where the ray was stopped (by hitting its desired max range or by colliding with an entity/the map) + -- surfaceNormal - Where to store the surface-normal coords (NOT relative to the game world) of where the entity was hit by the ray + -- entityHit - Where to store the handle of the entity hit by the ray + -- + -- Returns: + -- Result? Some type of enum. + -- + -- NOTE: To get the offset-coords of where the ray hit relative to the entity that it hit (which is NOT the same as surfaceNormal), you can use these two natives: + -- Vector3 offset = ENTITY::GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(entityHit, endCoords.x, endCoords.y, endCoords.z); + -- Vector3 entitySpotCoords = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(entityHit, offset.x, offset.y, offset.z); + -- + -- Use ENTITY::GET_ENTITY_TYPE(entityHit) to quickly distinguish what type of entity you hit (ped/vehicle/object - 1/2/3) + ["GET_SHAPE_TEST_RESULT"]=--[[int]] function(--[[int]] rayHandle,--[[BOOL* (pointer)]] hit,--[[Vector3* (pointer)]] endCoords,--[[Vector3* (pointer)]] surfaceNormal,--[[Entity* (pointer)]] entityHit)native_invoker.begin_call();native_invoker.push_arg_int(rayHandle);native_invoker.push_arg_pointer(hit);native_invoker.push_arg_pointer(endCoords);native_invoker.push_arg_pointer(surfaceNormal);native_invoker.push_arg_pointer(entityHit);native_invoker.end_call("3D87450E15D98694");return native_invoker.get_return_value_int();end, + ["GET_SHAPE_TEST_RESULT_INCLUDING_MATERIAL"]=--[[int]] function(--[[int]] rayHandle,--[[BOOL* (pointer)]] hit,--[[Vector3* (pointer)]] endCoords,--[[Vector3* (pointer)]] surfaceNormal,--[[Hash* (pointer)]] materialHash,--[[Entity* (pointer)]] entityHit)native_invoker.begin_call();native_invoker.push_arg_int(rayHandle);native_invoker.push_arg_pointer(hit);native_invoker.push_arg_pointer(endCoords);native_invoker.push_arg_pointer(surfaceNormal);native_invoker.push_arg_pointer(materialHash);native_invoker.push_arg_pointer(entityHit);native_invoker.end_call("65287525D951F6BE");return native_invoker.get_return_value_int();end, + ["_SHAPE_TEST_RESULT_ENTITY"]=--[[void]] function(--[[Entity (int)]] entityHit)native_invoker.begin_call();native_invoker.push_arg_int(entityHit);native_invoker.end_call("2B3334BCA57CD799");end, +} +SOCIALCLUB={ + ["SC_INBOX_GET_TOTAL_NUM_MESSAGES"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("03A93FF1A2CA0864");return native_invoker.get_return_value_int();end, + ["_SC_INBOX_MESSAGE_INIT"]=--[[Hash (int)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("BB8EA16ECBC976C4");return native_invoker.get_return_value_int();end, + ["_IS_SC_INBOX_VALID"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("93028F1DB42BFD08");return native_invoker.get_return_value_bool();end, + ["_SC_INBOX_MESSAGE_POP"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2C015348CF19CA1D");return native_invoker.get_return_value_bool();end, + ["SC_INBOX_MESSAGE_GET_DATA_INT"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[string]] context,--[[int* (pointer)]] out)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(context);native_invoker.push_arg_pointer(out);native_invoker.end_call("A00EFE4082C4056E");return native_invoker.get_return_value_bool();end, + ["_SC_INBOX_MESSAGE_GET_DATA_BOOL"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(p1);native_invoker.end_call("FFE5C16F402D851D");return native_invoker.get_return_value_bool();end, + ["SC_INBOX_MESSAGE_GET_DATA_STRING"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[string]] context,--[[char* (pointer)]] out)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(context);native_invoker.push_arg_pointer(out);native_invoker.end_call("7572EF42FC6A9B6D");return native_invoker.get_return_value_bool();end, + ["SC_INBOX_MESSAGE_DO_APPLY"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("9A2C8064B6C1E41A");return native_invoker.get_return_value_bool();end, + ["_SC_INBOX_MESSAGE_GET_STRING"]=--[[string]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F3E31D16CBDCB304");return native_invoker.get_return_value_string();end, + ["_SC_INBOX_MESSAGE_PUSH_GAMER_TO_EVENT_RECIP_LIST"]=--[[void]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("DA024BDBD600F44A");end, + ["_SC_INBOX_MESSAGE_SEND_UGC_STAT_UPDATE_EVENT"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("A68D3D229F4F3B06");end, + ["SC_INBOX_MESSAGE_GET_UGCDATA"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("69D82604A1A5A254");return native_invoker.get_return_value_bool();end, + ["_SC_INBOX_MESSAGE_SEND_BOUNTY_PRESENCE_EVENT"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("6AFD2CD753FEEF83");return native_invoker.get_return_value_bool();end, + ["_SC_INBOX_MESSAGE_GET_BOUNTY_DATA"]=--[[BOOL (bool)]] function(--[[int]] index,--[[Any* (pointer)]] outData)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_pointer(outData);native_invoker.end_call("87E0052F08BD64E6");return native_invoker.get_return_value_bool();end, + ["_SC_INBOX_GET_EMAILS"]=--[[void]] function(--[[int]] offset,--[[int]] limit)native_invoker.begin_call();native_invoker.push_arg_int(offset);native_invoker.push_arg_int(limit);native_invoker.end_call("040ADDCBAFA1018A");end, + ["_0x16DA8172459434AA"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("16DA8172459434AA");return native_invoker.get_return_value_int();end, + ["_0x7DB18CA8CAD5B098"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("7DB18CA8CAD5B098");return native_invoker.get_return_value_int();end, + ["_0x4737980E8A283806"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("4737980E8A283806");return native_invoker.get_return_value_bool();end, + ["_0x44ACA259D67651DB"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("44ACA259D67651DB");end, + ["SC_EMAIL_MESSAGE_PUSH_GAMER_TO_RECIP_LIST"]=--[[void]] function(--[[int* (pointer)]] networkHandle)native_invoker.begin_call();native_invoker.push_arg_pointer(networkHandle);native_invoker.end_call("2330C12A7A605D16");end, + ["SC_EMAIL_MESSAGE_CLEAR_RECIP_LIST"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("55DF6DB45179236E");end, + ["_0x116FB94DC4B79F17"]=--[[void]] function(--[[string]] p0)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.end_call("116FB94DC4B79F17");end, + ["_0x07DBD622D9533857"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("07DBD622D9533857");return native_invoker.get_return_value_int();end, + ["_SET_HANDLE_ROCKSTAR_MESSAGE_VIA_SCRIPT"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("BFA0A56A817C6C7D");end, + ["_IS_ROCKSTAR_MESSAGE_READY_FOR_SCRIPT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("BC1CC91205EC8D6E");return native_invoker.get_return_value_bool();end, + ["_ROCKSTAR_MESSAGE_GET_STRING"]=--[[string]] function()native_invoker.begin_call();native_invoker.end_call("DF649C4E9AFDD788");return native_invoker.get_return_value_string();end, + ["SC_PRESENCE_ATTR_SET_INT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] attrHash,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(attrHash);native_invoker.push_arg_int(value);native_invoker.end_call("1F1E9682483697C7");return native_invoker.get_return_value_bool();end, + ["SC_PRESENCE_ATTR_SET_FLOAT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] attrHash,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(attrHash);native_invoker.push_arg_float(value);native_invoker.end_call("C4C4575F62534A24");return native_invoker.get_return_value_bool();end, + ["SC_PRESENCE_ATTR_SET_STRING"]=--[[BOOL (bool)]] function(--[[Hash (int)]] attrHash,--[[string]] value)native_invoker.begin_call();native_invoker.push_arg_int(attrHash);native_invoker.push_arg_string(value);native_invoker.end_call("287F1F75D2803595");return native_invoker.get_return_value_bool();end, + ["_0x487912FD248EFDDF"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("487912FD248EFDDF");return native_invoker.get_return_value_bool();end, + ["_0xC85A7127E7AD02AA"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("C85A7127E7AD02AA");return native_invoker.get_return_value_int();end, + ["_0xA770C8EEC6FB2AC5"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("A770C8EEC6FB2AC5");return native_invoker.get_return_value_int();end, + -- sfink: from scripts: + -- func_720(socialclub::_0x8416FE4E4629D7D7("bIgnoreCheaterOverride")); + -- func_719(socialclub::_0x8416FE4E4629D7D7("bIgnoreBadSportOverride")); + -- + ["_SC_GET_IS_PROFILE_ATTRIBUTE_SET"]=--[[BOOL (bool)]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("8416FE4E4629D7D7");return native_invoker.get_return_value_bool();end, + ["_0x7FFCBFEE44ECFABF"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("7FFCBFEE44ECFABF");return native_invoker.get_return_value_int();end, + ["_0x2D874D4AE612A65F"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("2D874D4AE612A65F");return native_invoker.get_return_value_int();end, + -- Starts a task to check an entered string for profanity on the ROS/Social Club services. + -- + -- See also: 1753344C770358AE, 82E4A58BABC15AE7. + ["SC_PROFANITY_CHECK_STRING"]=--[[BOOL (bool)]] function(--[[string]] string,--[[int* (pointer)]] token)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.push_arg_pointer(token);native_invoker.end_call("75632C5ECD7ED843");return native_invoker.get_return_value_bool();end, + ["_SC_PROFANITY_CHECK_UGC_STRING"]=--[[BOOL (bool)]] function(--[[string]] string,--[[int* (pointer)]] token)native_invoker.begin_call();native_invoker.push_arg_string(string);native_invoker.push_arg_pointer(token);native_invoker.end_call("EB2BF817463DFA28");return native_invoker.get_return_value_bool();end, + ["SC_PROFANITY_GET_CHECK_IS_VALID"]=--[[BOOL (bool)]] function(--[[int]] token)native_invoker.begin_call();native_invoker.push_arg_int(token);native_invoker.end_call("1753344C770358AE");return native_invoker.get_return_value_bool();end, + ["SC_PROFANITY_GET_CHECK_IS_PENDING"]=--[[BOOL (bool)]] function(--[[int]] token)native_invoker.begin_call();native_invoker.push_arg_int(token);native_invoker.end_call("82E4A58BABC15AE7");return native_invoker.get_return_value_bool();end, + ["SC_PROFANITY_GET_STRING_PASSED"]=--[[BOOL (bool)]] function(--[[int]] token)native_invoker.begin_call();native_invoker.push_arg_int(token);native_invoker.end_call("85535ACF97FC0969");return native_invoker.get_return_value_bool();end, + ["SC_PROFANITY_GET_STRING_STATUS"]=--[[int]] function(--[[int]] token)native_invoker.begin_call();native_invoker.push_arg_int(token);native_invoker.end_call("930DE22F07B1CCE3");return native_invoker.get_return_value_int();end, + ["_0xF6BAAAF762E1BF40"]=--[[BOOL (bool)]] function(--[[string]] p0,--[[int* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("F6BAAAF762E1BF40");return native_invoker.get_return_value_bool();end, + ["_0xF22CA0FD74B80E7A"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F22CA0FD74B80E7A");return native_invoker.get_return_value_bool();end, + ["_0x9237E334F6E43156"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("9237E334F6E43156");return native_invoker.get_return_value_int();end, + ["_0x700569DBA175A77C"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("700569DBA175A77C");return native_invoker.get_return_value_int();end, + ["_0x1D4446A62D35B0D0"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("1D4446A62D35B0D0");return native_invoker.get_return_value_int();end, + ["_0x2E89990DDFF670C3"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("2E89990DDFF670C3");return native_invoker.get_return_value_int();end, + ["_0xD0EE05FE193646EA"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("D0EE05FE193646EA");return native_invoker.get_return_value_bool();end, + ["_0x1989C6E6F67E76A8"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("1989C6E6F67E76A8");return native_invoker.get_return_value_bool();end, + ["_0x07C61676E5BB52CD"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("07C61676E5BB52CD");return native_invoker.get_return_value_int();end, + ["_0x8147FFF6A718E1AD"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8147FFF6A718E1AD");return native_invoker.get_return_value_int();end, + ["_0x0F73393BAC7E6730"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[int* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("0F73393BAC7E6730");return native_invoker.get_return_value_bool();end, + ["_0xD302E99EDF0449CF"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("D302E99EDF0449CF");return native_invoker.get_return_value_int();end, + ["_0x5C4EBFFA98BDB41C"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5C4EBFFA98BDB41C");return native_invoker.get_return_value_int();end, + ["_0xFF8F3A92B75ED67A"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("FF8F3A92B75ED67A");return native_invoker.get_return_value_int();end, + ["_0x4ED9C8D6DA297639"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("4ED9C8D6DA297639");return native_invoker.get_return_value_int();end, + ["_0x710BCDA8071EDED1"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("710BCDA8071EDED1");return native_invoker.get_return_value_int();end, + ["_0x50A8A36201DBF83E"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("50A8A36201DBF83E");return native_invoker.get_return_value_int();end, + ["_0x9DE5D2F723575ED0"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("9DE5D2F723575ED0");return native_invoker.get_return_value_int();end, + ["_0xC2C97EA97711D1AE"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("C2C97EA97711D1AE");return native_invoker.get_return_value_int();end, + ["_0x450819D8CF90C416"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("450819D8CF90C416");return native_invoker.get_return_value_int();end, + ["_0x4A7D6E727F941747"]=--[[Any (int)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("4A7D6E727F941747");return native_invoker.get_return_value_int();end, + ["_0xE75A4A2E5E316D86"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("E75A4A2E5E316D86");return native_invoker.get_return_value_int();end, + ["_0x2570E26BE63964E3"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("2570E26BE63964E3");return native_invoker.get_return_value_int();end, + ["_0x1D12A56FC95BE92E"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("1D12A56FC95BE92E");return native_invoker.get_return_value_int();end, + ["_0x33DF47CC0642061B"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("33DF47CC0642061B");return native_invoker.get_return_value_int();end, + ["_0xA468E0BE12B12C70"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("A468E0BE12B12C70");return native_invoker.get_return_value_int();end, + ["_0x8CC469AB4D349B7C"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[string]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("8CC469AB4D349B7C");return native_invoker.get_return_value_bool();end, + ["_0xC5A35C73B68F3C49"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("C5A35C73B68F3C49");return native_invoker.get_return_value_int();end, + ["_0x699E4A5C8C893A18"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[string]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("699E4A5C8C893A18");return native_invoker.get_return_value_bool();end, + ["_0x19853B5B17D77BCA"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("19853B5B17D77BCA");return native_invoker.get_return_value_bool();end, + ["_0x6BFB12CE158E3DD4"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6BFB12CE158E3DD4");return native_invoker.get_return_value_bool();end, + ["_0xFE4C1D0D3B9CC17E"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("FE4C1D0D3B9CC17E");return native_invoker.get_return_value_bool();end, + ["_0xD8122C407663B995"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("D8122C407663B995");return native_invoker.get_return_value_int();end, + ["_0x3001BEF2FECA3680"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("3001BEF2FECA3680");return native_invoker.get_return_value_bool();end, + ["_0x92DA6E70EF249BD1"]=--[[BOOL (bool)]] function(--[[string]] p0,--[[int* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("92DA6E70EF249BD1");return native_invoker.get_return_value_bool();end, + ["_0x675721C9F644D161"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("675721C9F644D161");end, + ["_0xE4F6E8D07A2F0F51"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E4F6E8D07A2F0F51");return native_invoker.get_return_value_int();end, + -- Fills some 0x30 sized struct + ["_0x8A4416C0DB05FA66"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8A4416C0DB05FA66");return native_invoker.get_return_value_bool();end, + ["_0xEA95C0853A27888E"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EA95C0853A27888E");end, + -- Returns the nickname of the logged-in Rockstar Social Club account. + ["_SC_GET_NICKNAME"]=--[[string]] function()native_invoker.begin_call();native_invoker.end_call("198D161F458ECC7F");return native_invoker.get_return_value_string();end, + ["_0x225798743970412B"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("225798743970412B");return native_invoker.get_return_value_bool();end, + -- Same as HAS_ACHIEVEMENT_BEEN_PASSED + ["_SC_GET_HAS_ACHIEVEMENT_BEEN_PASSED"]=--[[BOOL (bool)]] function(--[[int]] achievement)native_invoker.begin_call();native_invoker.push_arg_int(achievement);native_invoker.end_call("418DC16FAE452C1C");return native_invoker.get_return_value_bool();end, +} +STATS={ + -- Example: + -- + -- for (v_2 = 0; v_2 <= 4; v_2 += 1) { + -- STATS::STAT_CLEAR_SLOT_FOR_RELOAD(v_2); + -- } + ["STAT_CLEAR_SLOT_FOR_RELOAD"]=--[[Any (int)]] function(--[[int]] statSlot)native_invoker.begin_call();native_invoker.push_arg_int(statSlot);native_invoker.end_call("EB0A72181D4AA4AD");return native_invoker.get_return_value_int();end, + ["STAT_LOAD"]=--[[BOOL (bool)]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A651443F437B1CE6");return native_invoker.get_return_value_bool();end, + ["STAT_SAVE"]=--[[BOOL (bool)]] function(--[[int]] p0,--[[BOOL (bool)]] p1,--[[int]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("E07BCA305B82D2FD");return native_invoker.get_return_value_bool();end, + -- STAT_SET_* + ["_0x5688585E6D563CD8"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5688585E6D563CD8");end, + ["STAT_LOAD_PENDING"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A1750FFAFA181661");return native_invoker.get_return_value_bool();end, + ["STAT_SAVE_PENDING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("7D3A583856F2C5AC");return native_invoker.get_return_value_bool();end, + ["STAT_SAVE_PENDING_OR_REQUESTED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("BBB6AD006F1BBEA3");return native_invoker.get_return_value_bool();end, + ["STAT_DELETE_SLOT"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("49A49BED12794D70");return native_invoker.get_return_value_int();end, + ["STAT_SLOT_IS_LOADED"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("0D0A9F0E7BD91E3C");return native_invoker.get_return_value_bool();end, + ["_0x7F2C4CDF2E82DF4C"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7F2C4CDF2E82DF4C");return native_invoker.get_return_value_bool();end, + ["_0xE496A53BA5F50A56"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E496A53BA5F50A56");return native_invoker.get_return_value_int();end, + ["STAT_SET_BLOCK_SAVES"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("F434A10BA01C37D0");end, + ["_0x6A7F19756F1A9016"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("6A7F19756F1A9016");return native_invoker.get_return_value_bool();end, + ["_0x7E6946F68A38B74F"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7E6946F68A38B74F");return native_invoker.get_return_value_bool();end, + ["_0xA8733668D1047B51"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A8733668D1047B51");end, + -- STAT_LOAD_* + ["_0xECB41AC6AB754401"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("ECB41AC6AB754401");return native_invoker.get_return_value_bool();end, + ["_0x9B4BD21D69B1E609"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9B4BD21D69B1E609");end, + ["_0xC0E0D686DDFC6EAE"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("C0E0D686DDFC6EAE");return native_invoker.get_return_value_int();end, + -- Example: + -- STATS::STAT_SET_INT(MISC::GET_HASH_KEY("MPPLY_KILLS_PLAYERS"), 1337, true); + ["STAT_SET_INT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[int]] value,--[[BOOL (bool)]] save)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_int(value);native_invoker.push_arg_bool(save);native_invoker.end_call("B3271D7AB655B441");return native_invoker.get_return_value_bool();end, + -- Example: + -- STATS::STAT_SET_FLOAT(MISC::GET_HASH_KEY("MP0_WEAPON_ACCURACY"), 66.6f, true); + ["STAT_SET_FLOAT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[float]] value,--[[BOOL (bool)]] save)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_float(value);native_invoker.push_arg_bool(save);native_invoker.end_call("4851997F37FE9B3C");return native_invoker.get_return_value_bool();end, + -- Example: + -- STATS::STAT_SET_BOOL(MISC::GET_HASH_KEY("MPPLY_MELEECHLENGECOMPLETED"), trur, true); + ["STAT_SET_BOOL"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[BOOL (bool)]] value,--[[BOOL (bool)]] save)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_bool(value);native_invoker.push_arg_bool(save);native_invoker.end_call("4B33C4243DE0C432");return native_invoker.get_return_value_bool();end, + -- The following values have been found in the decompiled scripts: + -- "RC_ABI1" + -- "RC_ABI2" + -- "RC_BA1" + -- "RC_BA2" + -- "RC_BA3" + -- "RC_BA3A" + -- "RC_BA3C" + -- "RC_BA4" + -- "RC_DRE1" + -- "RC_EPS1" + -- "RC_EPS2" + -- "RC_EPS3" + -- "RC_EPS4" + -- "RC_EPS5" + -- "RC_EPS6" + -- "RC_EPS7" + -- "RC_EPS8" + -- "RC_EXT1" + -- "RC_EXT2" + -- "RC_EXT3" + -- "RC_EXT4" + -- "RC_FAN1" + -- "RC_FAN2" + -- "RC_FAN3" + -- "RC_HAO1" + -- "RC_HUN1" + -- "RC_HUN2" + -- "RC_JOS1" + -- "RC_JOS2" + -- "RC_JOS3" + -- "RC_JOS4" + -- "RC_MAU1" + -- "RC_MIN1" + -- "RC_MIN2" + -- "RC_MIN3" + -- "RC_MRS1" + -- "RC_MRS2" + -- "RC_NI1" + -- "RC_NI1A" + -- "RC_NI1B" + -- "RC_NI1C" + -- "RC_NI1D" + -- "RC_NI2" + -- "RC_NI3" + -- "RC_OME1" + -- "RC_OME2" + -- "RC_PA1" + -- "RC_PA2" + -- "RC_PA3" + -- "RC_PA3A" + -- "RC_PA3B" + -- "RC_PA4" + -- "RC_RAM1" + -- "RC_RAM2" + -- "RC_RAM3" + -- "RC_RAM4" + -- "RC_RAM5" + -- "RC_SAS1" + -- "RC_TON1" + -- "RC_TON2" + -- "RC_TON3" + -- "RC_TON4" + -- "RC_TON5" + ["STAT_SET_GXT_LABEL"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[string]] value,--[[BOOL (bool)]] save)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_string(value);native_invoker.push_arg_bool(save);native_invoker.end_call("17695002FD8B2AE0");return native_invoker.get_return_value_bool();end, + -- 'value' is a structure to a structure, 'numFields' is how many fields there are in said structure (usually 7). + -- + -- The structure looks like this: + -- + -- int year + -- int month + -- int day + -- int hour + -- int minute + -- int second + -- int millisecond + -- + -- The decompiled scripts use TIME::GET_POSIX_TIME to fill this structure. + ["STAT_SET_DATE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[Any* (pointer)]] value,--[[int]] numFields,--[[BOOL (bool)]] save)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_pointer(value);native_invoker.push_arg_int(numFields);native_invoker.push_arg_bool(save);native_invoker.end_call("2C29BFB64F4FCBE4");return native_invoker.get_return_value_bool();end, + ["STAT_SET_STRING"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[string]] value,--[[BOOL (bool)]] save)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_string(value);native_invoker.push_arg_bool(save);native_invoker.end_call("A87B2335D12531D7");return native_invoker.get_return_value_bool();end, + ["STAT_SET_POS"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] save)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(save);native_invoker.end_call("DB283FDE680FE72E");return native_invoker.get_return_value_bool();end, + ["STAT_SET_MASKED_INT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[int]] p3,--[[BOOL (bool)]] save)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_bool(save);native_invoker.end_call("7BBB1B54583ED410");return native_invoker.get_return_value_bool();end, + ["STAT_SET_USER_ID"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[string]] value,--[[BOOL (bool)]] save)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_string(value);native_invoker.push_arg_bool(save);native_invoker.end_call("8CDDF1E452BABE11");return native_invoker.get_return_value_bool();end, + -- p1 always true. + ["STAT_SET_CURRENT_POSIX_TIME"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_bool(p1);native_invoker.end_call("C2F84B7F9C4D0C61");return native_invoker.get_return_value_bool();end, + -- p2 appears to always be -1 + -- + ["STAT_GET_INT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statHash,--[[int* (pointer)]] outValue,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(statHash);native_invoker.push_arg_pointer(outValue);native_invoker.push_arg_int(p2);native_invoker.end_call("767FBC2AC802EF3D");return native_invoker.get_return_value_bool();end, + ["STAT_GET_FLOAT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statHash,--[[float* (pointer)]] outValue,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(statHash);native_invoker.push_arg_pointer(outValue);native_invoker.push_arg_int(p2);native_invoker.end_call("D7AE6C9C9C6AC54C");return native_invoker.get_return_value_bool();end, + ["STAT_GET_BOOL"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statHash,--[[BOOL* (pointer)]] outValue,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(statHash);native_invoker.push_arg_pointer(outValue);native_invoker.push_arg_int(p2);native_invoker.end_call("11B5E6D2AE73F48E");return native_invoker.get_return_value_bool();end, + ["STAT_GET_DATE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statHash,--[[Any* (pointer)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(statHash);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("8B0FACEFC36C824B");return native_invoker.get_return_value_bool();end, + -- p1 is always -1 in the script files + ["STAT_GET_STRING"]=--[[string]] function(--[[Hash (int)]] statHash,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(statHash);native_invoker.push_arg_int(p1);native_invoker.end_call("E50384ACC2C3DB74");return native_invoker.get_return_value_string();end, + ["STAT_GET_POS"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("350F82CCB186AA1B");return native_invoker.get_return_value_bool();end, + ["STAT_GET_MASKED_INT"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("655185A06D9EEAAB");return native_invoker.get_return_value_bool();end, + -- Needs more research. Seems to return "STAT_UNKNOWN" if no such user id exists. + ["STAT_GET_USER_ID"]=--[[string]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2365C388E393BBE2");return native_invoker.get_return_value_string();end, + ["STAT_GET_LICENSE_PLATE"]=--[[string]] function(--[[Hash (int)]] statName)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.end_call("5473D4195058B2E4");return native_invoker.get_return_value_string();end, + ["STAT_SET_LICENSE_PLATE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[string]] str)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_string(str);native_invoker.end_call("69FF13266D7296DA");return native_invoker.get_return_value_bool();end, + ["STAT_INCREMENT"]=--[[void]] function(--[[Hash (int)]] statName,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_float(value);native_invoker.end_call("9B5A68C6489E9909");end, + ["_0x5A556B229A169402"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5A556B229A169402");return native_invoker.get_return_value_bool();end, + ["_0xB1D2BB1E1631F5B1"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B1D2BB1E1631F5B1");return native_invoker.get_return_value_bool();end, + ["_0xBED9F5693F34ED17"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[int]] p1,--[[float* (pointer)]] outValue)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(outValue);native_invoker.end_call("BED9F5693F34ED17");return native_invoker.get_return_value_bool();end, + -- STATS::0x343B27E2(0); + -- STATS::0x343B27E2(1); + -- STATS::0x343B27E2(2); + -- STATS::0x343B27E2(3); + -- STATS::0x343B27E2(4); + -- STATS::0x343B27E2(5); + -- STATS::0x343B27E2(6); + -- STATS::0x343B27E2(7); + -- + -- Identical in ingamehud & maintransition. + ["_0x26D7399B9587FE89"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("26D7399B9587FE89");end, + -- STATS::0xE3247582(0); + -- STATS::0xE3247582(1); + -- STATS::0xE3247582(2); + -- STATS::0xE3247582(3); + -- STATS::0xE3247582(4); + -- STATS::0xE3247582(5); + -- STATS::0xE3247582(6); + ["_0xA78B8FA58200DA56"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A78B8FA58200DA56");end, + ["STAT_GET_NUMBER_OF_DAYS"]=--[[int]] function(--[[Hash (int)]] statName)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.end_call("E0E854F5280FB769");return native_invoker.get_return_value_int();end, + ["STAT_GET_NUMBER_OF_HOURS"]=--[[int]] function(--[[Hash (int)]] statName)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.end_call("F2D4B2FE415AAFC3");return native_invoker.get_return_value_int();end, + ["STAT_GET_NUMBER_OF_MINUTES"]=--[[int]] function(--[[Hash (int)]] statName)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.end_call("7583B4BE4C5A41B5");return native_invoker.get_return_value_int();end, + ["STAT_GET_NUMBER_OF_SECONDS"]=--[[int]] function(--[[Hash (int)]] statName)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.end_call("2CE056FF3723F00B");return native_invoker.get_return_value_int();end, + -- Does not take effect immediately, unfortunately. + -- + -- profileSetting seems to only be 936, 937 and 938 in scripts + ["STAT_SET_PROFILE_SETTING_VALUE"]=--[[void]] function(--[[int]] profileSetting,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(profileSetting);native_invoker.push_arg_int(value);native_invoker.end_call("68F01422BE1D838F");end, + -- Needs more research. Possibly used to calculate the "mask" when calling "STAT_SET_BOOL_MASKED"? + ["_STAT_GET_PACKED_BOOL_MASK"]=--[[int]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F4D8E7AC2A27758C");return native_invoker.get_return_value_int();end, + -- Needs more research. Possibly used to calculate the "mask" when calling "STAT_SET_MASKED_INT"? + ["_STAT_GET_PACKED_INT_MASK"]=--[[int]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("94F12ABF9C79E339");return native_invoker.get_return_value_int();end, + ["GET_PACKED_BOOL_STAT_KEY"]=--[[Hash (int)]] function(--[[int]] index,--[[BOOL (bool)]] spStat,--[[BOOL (bool)]] charStat,--[[int]] character)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_bool(spStat);native_invoker.push_arg_bool(charStat);native_invoker.push_arg_int(character);native_invoker.end_call("80C75307B1C42837");return native_invoker.get_return_value_int();end, + ["GET_PACKED_INT_STAT_KEY"]=--[[Hash (int)]] function(--[[int]] index,--[[BOOL (bool)]] spStat,--[[BOOL (bool)]] charStat,--[[int]] character)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_bool(spStat);native_invoker.push_arg_bool(charStat);native_invoker.push_arg_int(character);native_invoker.end_call("61E111E323419E07");return native_invoker.get_return_value_int();end, + ["_GET_PACKED_TITLE_UPDATE_BOOL_STAT_KEY"]=--[[Hash (int)]] function(--[[int]] index,--[[BOOL (bool)]] spStat,--[[BOOL (bool)]] charStat,--[[int]] character)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_bool(spStat);native_invoker.push_arg_bool(charStat);native_invoker.push_arg_int(character);native_invoker.end_call("C4BB08EE7907471E");return native_invoker.get_return_value_int();end, + ["_GET_PACKED_TITLE_UPDATE_INT_STAT_KEY"]=--[[Hash (int)]] function(--[[int]] index,--[[BOOL (bool)]] spStat,--[[BOOL (bool)]] charStat,--[[int]] character)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_bool(spStat);native_invoker.push_arg_bool(charStat);native_invoker.push_arg_int(character);native_invoker.end_call("D16C2AD6B8E32854");return native_invoker.get_return_value_int();end, + -- Needs more research. Gets the stat name of a masked bool? + -- + -- section - values used in the decompiled scripts: + -- "_NGPSTAT_BOOL" + -- "_NGTATPSTAT_BOOL" + -- "_NGDLCPSTAT_BOOL" + -- "_DLCBIKEPSTAT_BOOL" + -- "_DLCGUNPSTAT_BOOL" + -- "_GUNTATPSTAT_BOOL" + -- "_DLCSMUGCHARPSTAT_BOOL" + -- "_GANGOPSPSTAT_BOOL" + -- "_BUSINESSBATPSTAT_BOOL" + -- "_ARENAWARSPSTAT_BOOL" + -- "_CASINOPSTAT_BOOL" + -- "_CASINOHSTPSTAT_BOOL" + -- "_HEIST3TATTOOSTAT_BOOL" + ["_GET_NGSTAT_BOOL_HASH"]=--[[Hash (int)]] function(--[[int]] index,--[[BOOL (bool)]] spStat,--[[BOOL (bool)]] charStat,--[[int]] character,--[[string]] section)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_bool(spStat);native_invoker.push_arg_bool(charStat);native_invoker.push_arg_int(character);native_invoker.push_arg_string(section);native_invoker.end_call("BA52FF538ED2BC71");return native_invoker.get_return_value_int();end, + -- Needs more research. Gets the stat name of a masked int? + -- + -- section - values used in the decompiled scripts: + -- "_NGPSTAT_INT" + -- "_MP_NGPSTAT_INT" + -- "_MP_LRPSTAT_INT" + -- "_MP_APAPSTAT_INT" + -- "_MP_LR2PSTAT_INT" + -- "_MP_BIKEPSTAT_INT" + -- "_MP_IMPEXPPSTAT_INT" + -- "_MP_GUNRPSTAT_INT" + -- "_NGDLCPSTAT_INT" + -- "_MP_NGDLCPSTAT_INT" + -- "_DLCSMUGCHARPSTAT_INT" + -- "_GANGOPSPSTAT_INT" + -- "_BUSINESSBATPSTAT_INT" + -- "_ARENAWARSPSTAT_INT" + -- "_CASINOPSTAT_INT" + -- "_CASINOHSTPSTAT_INT" + ["_GET_NGSTAT_INT_HASH"]=--[[Hash (int)]] function(--[[int]] index,--[[BOOL (bool)]] spStat,--[[BOOL (bool)]] charStat,--[[int]] character,--[[string]] section)native_invoker.begin_call();native_invoker.push_arg_int(index);native_invoker.push_arg_bool(spStat);native_invoker.push_arg_bool(charStat);native_invoker.push_arg_int(character);native_invoker.push_arg_string(section);native_invoker.end_call("2B4CDCA6F07FF3DA");return native_invoker.get_return_value_int();end, + -- p2 - Default value? Seems to be -1 most of the time. + ["STAT_GET_BOOL_MASKED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[int]] mask,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_int(mask);native_invoker.push_arg_int(p2);native_invoker.end_call("10FE3F1B79F9B071");return native_invoker.get_return_value_bool();end, + ["STAT_SET_BOOL_MASKED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] statName,--[[BOOL (bool)]] value,--[[int]] mask,--[[BOOL (bool)]] save)native_invoker.begin_call();native_invoker.push_arg_int(statName);native_invoker.push_arg_bool(value);native_invoker.push_arg_int(mask);native_invoker.push_arg_bool(save);native_invoker.end_call("5BC62EC1937B9E5B");return native_invoker.get_return_value_bool();end, + ["PLAYSTATS_BACKGROUND_SCRIPT_ACTION"]=--[[void]] function(--[[string]] action,--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_string(action);native_invoker.push_arg_int(value);native_invoker.end_call("5009DFD741329729");end, + ["PLAYSTATS_NPC_INVITE"]=--[[void]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("93054C88E6AA7C44");end, + ["PLAYSTATS_AWARD_XP"]=--[[void]] function(--[[int]] amount,--[[Hash (int)]] type,--[[Hash (int)]] category)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(type);native_invoker.push_arg_int(category);native_invoker.end_call("46F917F6B4128FE4");end, + ["PLAYSTATS_RANK_UP"]=--[[void]] function(--[[int]] rank)native_invoker.begin_call();native_invoker.push_arg_int(rank);native_invoker.end_call("C7F2DE41D102BFB4");end, + ["_PLAYSTATS_START_OFFLINE_MODE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("098760C7461724CD");end, + ["_0xA071E0ED98F91286"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("A071E0ED98F91286");end, + ["_0xC5BE134EC7BA96A0"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("C5BE134EC7BA96A0");end, + ["PLAYSTATS_MISSION_STARTED"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("C19A2925C34D2231");end, + ["PLAYSTATS_MISSION_OVER"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("7C4BB33A8CED7324");end, + ["PLAYSTATS_MISSION_CHECKPOINT"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("C900596A63978C1D");end, + ["PLAYSTATS_RANDOM_MISSION_DONE"]=--[[void]] function(--[[string]] name,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("71862B1D855F32E1");end, + ["PLAYSTATS_ROS_BET"]=--[[void]] function(--[[int]] amount,--[[int]] act,--[[Player (int)]] player,--[[float]] cm)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.push_arg_int(act);native_invoker.push_arg_int(player);native_invoker.push_arg_float(cm);native_invoker.end_call("121FB4DDDC2D5291");end, + ["PLAYSTATS_RACE_CHECKPOINT"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("9C375C315099DDE4");end, + -- PLAYSTATS_* + ["_0x6DEE77AFF8C21BD1"]=--[[BOOL (bool)]] function(--[[int* (pointer)]] playerAccountId,--[[int* (pointer)]] posixTime)native_invoker.begin_call();native_invoker.push_arg_pointer(playerAccountId);native_invoker.push_arg_pointer(posixTime);native_invoker.end_call("6DEE77AFF8C21BD1");return native_invoker.get_return_value_bool();end, + ["PLAYSTATS_MATCH_STARTED"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("BC80E22DED931E3D");end, + ["PLAYSTATS_SHOP_ITEM"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("176852ACAAC173D1");end, + ["_PLAYSTATS_CRATE_DROP"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.end_call("1CAE5D2E3F9A07F0");end, + ["_PLAYSTATS_CRATE_CREATED"]=--[[void]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.end_call("AFC7E5E075A96F46");end, + ["_PLAYSTATS_HOLD_UP"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("CB00196B31C39EB1");end, + ["_PLAYSTATS_IMP_EXP"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("2B69F5074C894811");end, + ["_PLAYSTATS_RACE_TO_POINT"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("ADDD1C754E2E2914");end, + ["PLAYSTATS_ACQUIRED_HIDDEN_PACKAGE"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("79AB33F0FBFAC40C");end, + ["PLAYSTATS_WEBSITE_VISITED"]=--[[void]] function(--[[Hash (int)]] scaleformHash,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(scaleformHash);native_invoker.push_arg_int(p1);native_invoker.end_call("DDF24D535060F811");end, + ["PLAYSTATS_FRIEND_ACTIVITY"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("0F71DE29AB2258F1");end, + -- This native does absolutely nothing, just a nullsub + ["PLAYSTATS_ODDJOB_DONE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("69DEA3E9DB727B4C");end, + ["PLAYSTATS_PROP_CHANGE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("BA739D6D5A05D6E7");end, + ["PLAYSTATS_CLOTH_CHANGE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("34B973047A2268B9");end, + -- This is a typo made by R*. It's supposed to be called PLAYSTATS_WEAPON_MOD_CHANGE. + ["PLAYSTATS_WEAPON_MODE_CHANGE"]=--[[void]] function(--[[Hash (int)]] weaponHash,--[[Hash (int)]] componentHashTo,--[[Hash (int)]] componentHashFrom)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(componentHashTo);native_invoker.push_arg_int(componentHashFrom);native_invoker.end_call("E95C8A1875A02CA4");end, + ["PLAYSTATS_CHEAT_APPLIED"]=--[[void]] function(--[[string]] cheat)native_invoker.begin_call();native_invoker.push_arg_string(cheat);native_invoker.end_call("6058665D72302D3F");end, + ["_0xF8C54A461C3E11DC"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("F8C54A461C3E11DC");end, + ["_0xF5BB8DAC426A52C0"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("F5BB8DAC426A52C0");end, + ["_0xA736CF7FB7C5BFF4"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("A736CF7FB7C5BFF4");end, + ["_0x14E0B2D1AD1044E0"]=--[[void]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("14E0B2D1AD1044E0");end, + ["PLAYSTATS_QUICKFIX_TOOL"]=--[[void]] function(--[[int]] element,--[[string]] item)native_invoker.begin_call();native_invoker.push_arg_int(element);native_invoker.push_arg_string(item);native_invoker.end_call("90D0622866E80445");end, + -- longest time being ilde? + ["PLAYSTATS_IDLE_KICK"]=--[[void]] function(--[[int]] time)native_invoker.begin_call();native_invoker.push_arg_int(time);native_invoker.end_call("5DA3A8DE8CB6226F");end, + -- PLAYSTATS_S* + ["_0xD1032E482629049E"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("D1032E482629049E");end, + ["_PLAYSTATS_HEIST_SAVE_CHEAT"]=--[[void]] function(--[[Hash (int)]] hash,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(hash);native_invoker.push_arg_int(p1);native_invoker.end_call("F4FF020A08BC8863");end, + ["_PLAYSTATS_DIRECTOR_MODE"]=--[[void]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("46326E13DA4E0546");end, + ["_PLAYSTATS_AWARD_BADSPORT"]=--[[void]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("47B32F5611E6E483");end, + ["_PLAYSTATS_PEGASAIRCRAFT"]=--[[void]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("9572BD4DD6B72122");end, + ["_0x6A60E43998228229"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6A60E43998228229");end, + ["_0xBFAFDB5FAAA5C5AB"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("BFAFDB5FAAA5C5AB");end, + ["_0x8C9D11605E59D955"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8C9D11605E59D955");end, + ["_0x3DE3AA516FB126A4"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("3DE3AA516FB126A4");end, + ["_0xBAA2F0490E146BE8"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("BAA2F0490E146BE8");end, + ["_0x1A7CE7CD3E653485"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("1A7CE7CD3E653485");end, + ["_0x419615486BBF1956"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("419615486BBF1956");end, + ["_0x84DFC579C2FC214C"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("84DFC579C2FC214C");end, + ["_0x0A9C7F36E5D7B683"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("0A9C7F36E5D7B683");end, + ["_0x164C5FF663790845"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("164C5FF663790845");end, + ["_0xEDBF6C9B0D2C65C8"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("EDBF6C9B0D2C65C8");end, + ["_0x6551B1F7F6CD46EA"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6551B1F7F6CD46EA");end, + ["_0x2CD90358F67D0AA8"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2CD90358F67D0AA8");end, + ["_PLAYSTATS_PI_MENU_HIDE_SETTINGS"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("203B381133817079");end, + ["LEADERBOARDS_GET_NUMBER_OF_COLUMNS"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("117B45156D7EFF2E");return native_invoker.get_return_value_int();end, + ["LEADERBOARDS_GET_COLUMN_ID"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("C4B5467A1886EA7E");return native_invoker.get_return_value_int();end, + ["LEADERBOARDS_GET_COLUMN_TYPE"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("BF4FEF46DB7894D3");return native_invoker.get_return_value_int();end, + ["LEADERBOARDS_READ_CLEAR_ALL"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("A34CB6E6F0DF4A0B");return native_invoker.get_return_value_int();end, + ["LEADERBOARDS_READ_CLEAR"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("7CCE5C737A665701");return native_invoker.get_return_value_int();end, + ["LEADERBOARDS_READ_PENDING"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("AC392C8483342AC2");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS_READ_ANY_PENDING"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A31FD15197B192BD");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS_READ_SUCCESSFUL"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("2FB19228983E832C");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS2_READ_FRIENDS_BY_ROW"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any (int)]] p2,--[[BOOL (bool)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("918B101666F9CB83");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS2_READ_BY_HANDLE"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("C30713A383BFBF0E");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS2_READ_BY_ROW"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any (int)]] p2,--[[Any* (pointer)]] p3,--[[Any (int)]] p4,--[[Any* (pointer)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_pointer(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_pointer(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("A9CDB1E3F0A49883");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS2_READ_BY_RANK"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("BA2C7DB0C129449A");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS2_READ_BY_RADIUS"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("5CE587FB5A42C8C4");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS2_READ_BY_SCORE_INT"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("7EEC7E4F6984A16A");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS2_READ_BY_SCORE_FLOAT"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[float]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("E662C8B759D08F3C");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS2_READ_RANK_PREDICTION"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("C38DC1E90D22547C");return native_invoker.get_return_value_bool();end, + ["_LEADERBOARDS2_READ_BY_PLATFORM"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[string]] gamerHandleCsv,--[[string]] platformName)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_string(gamerHandleCsv);native_invoker.push_arg_string(platformName);native_invoker.end_call("F1AE5DCDBFCA2721");return native_invoker.get_return_value_bool();end, + ["_0xA0F93D5465B3094D"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("A0F93D5465B3094D");return native_invoker.get_return_value_bool();end, + ["_0x71B008056E5692D6"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("71B008056E5692D6");end, + ["_0x34770B9CE0E03B91"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("34770B9CE0E03B91");return native_invoker.get_return_value_bool();end, + ["_0x88578F6EC36B4A3A"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("88578F6EC36B4A3A");return native_invoker.get_return_value_int();end, + ["_0x38491439B6BA7F7D"]=--[[float]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("38491439B6BA7F7D");return native_invoker.get_return_value_float();end, + ["LEADERBOARDS2_WRITE_DATA"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("AE2206545888AE49");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS_WRITE_ADD_COLUMN"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.end_call("0BCA1D2C47B0D269");end, + ["LEADERBOARDS_WRITE_ADD_COLUMN_LONG"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("2E65248609523599");end, + ["LEADERBOARDS_CACHE_DATA_ROW"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("B9BB18E2C40142ED");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS_CLEAR_CACHE_DATA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D4B02A6B476E1FDC");end, + ["_0x8EC74CEB042E7CFF"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8EC74CEB042E7CFF");end, + ["LEADERBOARDS_GET_CACHE_EXISTS"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("9C51349BE6CDFE2C");return native_invoker.get_return_value_bool();end, + ["LEADERBOARDS_GET_CACHE_TIME"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F04C1C27DA35F6C8");return native_invoker.get_return_value_int();end, + ["LEADERBOARDS_GET_CACHE_NUMBER_OF_ROWS"]=--[[int]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("58A651CD201D89AD");return native_invoker.get_return_value_int();end, + ["LEADERBOARDS_GET_CACHE_DATA_ROW"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any* (pointer)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(p2);native_invoker.end_call("9120E8DBA3D69273");return native_invoker.get_return_value_bool();end, + ["_UPDATE_STAT_INT"]=--[[void]] function(--[[Hash (int)]] statHash,--[[int]] value,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(statHash);native_invoker.push_arg_int(value);native_invoker.push_arg_int(p2);native_invoker.end_call("11FF1C80276097ED");end, + ["_UPDATE_STAT_FLOAT"]=--[[void]] function(--[[Hash (int)]] statHash,--[[float]] value,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(statHash);native_invoker.push_arg_float(value);native_invoker.push_arg_int(p2);native_invoker.end_call("30A6614C1F7799B8");end, + ["_0x6483C25849031C4F"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_pointer(p3);native_invoker.end_call("6483C25849031C4F");end, + -- example from completionpercentage_controller.ysc.c4 + -- + -- if (STATS::_5EAD2BF6484852E4()) { + -- MISC::SET_BIT(g_17b95._f20df._ff10, 15); + -- STATS::_11FF1C80276097ED(0xe9ec4dd1, 200, 0); + -- } + ["_0x5EAD2BF6484852E4"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5EAD2BF6484852E4");return native_invoker.get_return_value_bool();end, + ["_0xC141B8917E0017EC"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C141B8917E0017EC");end, + ["_0xB475F27C6A994D65"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B475F27C6A994D65");end, + -- Sets profile setting 939 + ["_0xC67E2DA1CBE759E2"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C67E2DA1CBE759E2");end, + -- Sets profile setting 933 + ["_0xF1A1803D3476F215"]=--[[void]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("F1A1803D3476F215");end, + -- Sets profile setting 934 + ["_0x38BAAA5DD4C9D19F"]=--[[void]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("38BAAA5DD4C9D19F");end, + -- Sets profile setting 935 + ["_0x55384438FC55AD8E"]=--[[void]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("55384438FC55AD8E");end, + ["_0x723C1CE13FBFDB67"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("723C1CE13FBFDB67");end, + ["_0x0D01D20616FC73FB"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("0D01D20616FC73FB");end, + ["_0x428EAF89E24F6C36"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("428EAF89E24F6C36");end, + ["_0x047CBED6F6F8B63C"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("047CBED6F6F8B63C");end, + ["LEADERBOARDS2_WRITE_DATA_FOR_EVENT_TYPE"]=--[[BOOL (bool)]] function(--[[Any* (pointer)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("C980E62E33DF1D5C");return native_invoker.get_return_value_bool();end, + ["_0x6F361B8889A792A3"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("6F361B8889A792A3");end, + ["_0xC847B43F369AC0B5"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C847B43F369AC0B5");end, + -- platformName must be one of the following: ps3, xbox360, ps4, xboxone + ["_STAT_MIGRATE_SAVE"]=--[[BOOL (bool)]] function(--[[string]] platformName)native_invoker.begin_call();native_invoker.push_arg_string(platformName);native_invoker.end_call("A5C80D8E768A9E66");return native_invoker.get_return_value_bool();end, + ["_0x9A62EC95AE10E011"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("9A62EC95AE10E011");return native_invoker.get_return_value_int();end, + ["_0x4C89FE2BDEB3F169"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("4C89FE2BDEB3F169");return native_invoker.get_return_value_int();end, + ["_0xC6E0E2616A7576BB"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("C6E0E2616A7576BB");return native_invoker.get_return_value_int();end, + ["_0x5BD5F255321C4AAF"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5BD5F255321C4AAF");return native_invoker.get_return_value_int();end, + ["_0xDEAAF77EB3687E97"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.end_call("DEAAF77EB3687E97");return native_invoker.get_return_value_int();end, + ["STAT_SAVE_MIGRATION_STATUS_START"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C70DDCE56D0D3A99");return native_invoker.get_return_value_bool();end, + ["STAT_GET_SAVE_MIGRATION_STATUS"]=--[[int]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("886913BBEACA68C1");return native_invoker.get_return_value_int();end, + ["_STAT_SAVE_MIGRATION_CANCEL"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("4FEF53183C3C6414");return native_invoker.get_return_value_bool();end, + ["_STAT_GET_CANCEL_SAVE_MIGRATION_STATUS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("567384DFA67029E6");return native_invoker.get_return_value_int();end, + ["_STAT_SAVE_MIGRATION_CONSUME_CONTENT_UNLOCK"]=--[[BOOL (bool)]] function(--[[Hash (int)]] contentId,--[[string]] srcPlatform,--[[string]] srcGamerHandle)native_invoker.begin_call();native_invoker.push_arg_int(contentId);native_invoker.push_arg_string(srcPlatform);native_invoker.push_arg_string(srcGamerHandle);native_invoker.end_call("3270F67EED31FBC1");return native_invoker.get_return_value_bool();end, + ["_STAT_GET_SAVE_MIGRATION_CONSUME_CONTENT_UNLOCK_STATUS"]=--[[int]] function(--[[int* (pointer)]] p0)native_invoker.begin_call();native_invoker.push_arg_pointer(p0);native_invoker.end_call("CE5AA445ABA8DEE0");return native_invoker.get_return_value_int();end, + ["_0x98E2BC1CA26287C3"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("98E2BC1CA26287C3");end, + ["_0x629526ABA383BCAA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("629526ABA383BCAA");end, + ["_0xBE3DB208333D9844"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("BE3DB208333D9844");return native_invoker.get_return_value_int();end, + ["_0x33D72899E24C3365"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("33D72899E24C3365");return native_invoker.get_return_value_int();end, + ["_0xA761D4AC6115623D"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("A761D4AC6115623D");return native_invoker.get_return_value_int();end, + ["_0xF11F01D98113536A"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F11F01D98113536A");return native_invoker.get_return_value_int();end, + ["_0x8B9CDBD6C566C38C"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("8B9CDBD6C566C38C");return native_invoker.get_return_value_int();end, + ["_0xE8853FBCE7D8D0D6"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("E8853FBCE7D8D0D6");return native_invoker.get_return_value_int();end, + ["_0xA943FD1722E11EFD"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("A943FD1722E11EFD");return native_invoker.get_return_value_int();end, + ["_0x84A810B375E69C0E"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("84A810B375E69C0E");return native_invoker.get_return_value_int();end, + ["_0x9EC8858184CD253A"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("9EC8858184CD253A");return native_invoker.get_return_value_int();end, + ["_0xBA9749CC94C1FD85"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("BA9749CC94C1FD85");return native_invoker.get_return_value_int();end, + ["_0x55A8BECAF28A4EB7"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("55A8BECAF28A4EB7");return native_invoker.get_return_value_int();end, + ["_0x32CAC93C9DE73D32"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("32CAC93C9DE73D32");return native_invoker.get_return_value_int();end, + ["_0xAFF47709F1D5DCCE"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("AFF47709F1D5DCCE");return native_invoker.get_return_value_int();end, + ["_0x6E0A5253375C4584"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("6E0A5253375C4584");return native_invoker.get_return_value_int();end, + ["_0x1A8EA222F9C67DBB"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("1A8EA222F9C67DBB");return native_invoker.get_return_value_int();end, + ["_0xF9F2922717B819EC"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("F9F2922717B819EC");return native_invoker.get_return_value_int();end, + ["_0x0B8B7F74BF061C6D"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("0B8B7F74BF061C6D");return native_invoker.get_return_value_int();end, + -- This function is hard-coded to always return 1. + -- + -- NETWORK_IS_* + ["_0xB3DA2606774A8E2D"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("B3DA2606774A8E2D");return native_invoker.get_return_value_bool();end, + -- Sets profile setting 866 + -- + -- SET_* + ["_SET_HAS_CONTENT_UNLOCKS_FLAGS"]=--[[void]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("DAC073C7901F9E15");end, + -- Sets profile setting 501 + ["_SET_SAVE_MIGRATION_TRANSACTION_ID"]=--[[void]] function(--[[int]] transactionId)native_invoker.begin_call();native_invoker.push_arg_int(transactionId);native_invoker.end_call("F6792800AC95350D");end, + ["_0x6BC0ACD0673ACEBE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("6BC0ACD0673ACEBE");end, + ["_0x8D8ADB562F09A245"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8D8ADB562F09A245");end, + ["_0xD1A1EE3B4FA8E760"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("D1A1EE3B4FA8E760");end, + ["_0x88087EE1F28024AE"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("88087EE1F28024AE");end, + ["_0xFCC228E07217FCAC"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("FCC228E07217FCAC");end, + ["_0x678F86D8FC040BDB"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("678F86D8FC040BDB");end, + ["_0xA6F54BB2FFCA35EA"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A6F54BB2FFCA35EA");end, + ["_0x5FF2C33B13A02A11"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5FF2C33B13A02A11");end, + ["_0x282B6739644F4347"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("282B6739644F4347");end, + ["_0xF06A6F41CB445443"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F06A6F41CB445443");end, + ["_0x7B18DA61F6BAE9D5"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7B18DA61F6BAE9D5");end, + ["_0x06EAF70AE066441E"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("06EAF70AE066441E");end, + ["_0x14EDA9EE27BD1626"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("14EDA9EE27BD1626");end, + ["_0x930F504203F561C9"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("930F504203F561C9");end, + ["_0xE3261D791EB44ACB"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E3261D791EB44ACB");end, + ["_0x73001E34F85137F8"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("73001E34F85137F8");end, + ["_0x53CAE13E9B426993"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("53CAE13E9B426993");end, + ["_0x7D36291161859389"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7D36291161859389");end, + ["_PLAYSTATS_SPENT_PI_CUSTOM_LOADOUT"]=--[[void]] function(--[[int]] amount)native_invoker.begin_call();native_invoker.push_arg_int(amount);native_invoker.end_call("BE509B0A3693DE8B");end, + ["_PLAYSTATS_BUY_CONTRABAND"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("D6781E42755531F7");end, + ["_PLAYSTATS_SELL_CONTRABAND"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("C729991A9065376E");end, + ["_PLAYSTATS_DEFEND_CONTRABAND"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("2605663BD4F23B5D");end, + ["_PLAYSTATS_RECOVER_CONTRABAND"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("04D90BA8207ADA2D");end, + ["_0x60EEDC12AF66E846"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("60EEDC12AF66E846");end, + ["_0x3EBEAC6C3F81F6BD"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("3EBEAC6C3F81F6BD");end, + ["_0x96E6D5150DBF1C09"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("96E6D5150DBF1C09");end, + ["_0xA3C53804BDB68ED2"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("A3C53804BDB68ED2");end, + ["_0x6BCCF9948492FD85"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("6BCCF9948492FD85");end, + ["_HIRED_LIMO"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("792271AB35C356A4");end, + ["_ORDERED_BOSS_VEHICLE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Hash (int)]] vehicleHash)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(vehicleHash);native_invoker.end_call("CEA553E35C2246E1");end, + ["_0xD1C9B92BDD3F151D"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("D1C9B92BDD3F151D");end, + ["_0x44919CC079BB60BF"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("44919CC079BB60BF");end, + ["_0x7033EEFD9B28088E"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7033EEFD9B28088E");end, + ["_0xAA525DFF66BB82F5"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("AA525DFF66BB82F5");end, + ["_0x015B03EE1C43E6EC"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("015B03EE1C43E6EC");end, + -- Allows CEventNetworkStuntPerformed to be triggered. + ["_PLAYSTATS_STUNT_PERFORMED_EVENT_ALLOW_TRIGGER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("928DBFB892638EF3");end, + -- Disallows CEventNetworkStuntPerformed to be triggered. + ["_PLAYSTATS_STUNT_PERFORMED_EVENT_DISALLOW_TRIGGER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("8A800DACCC0DA55D");end, + ["_0xBF371CD2B64212FD"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("BF371CD2B64212FD");end, + ["_0x7D8BA05688AD64C7"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7D8BA05688AD64C7");end, + ["_0x0B565B0AAE56A0E8"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("0B565B0AAE56A0E8");end, + ["_0x28ECB8AC2F607DB2"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("28ECB8AC2F607DB2");end, + ["_PLAYSTATS_CHANGE_MC_EMBLEM"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("0A50D2604E05CB94");end, + ["_0xCC25A4553DFBF9EA"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("CC25A4553DFBF9EA");end, + ["_0xF534D94DFA2EAD26"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("F534D94DFA2EAD26");end, + ["_0xD558BEC0BBA7E8D2"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("D558BEC0BBA7E8D2");end, + ["_PLAYSTATS_EARNED_MC_POINTS"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("501478855A6074CE");end, + ["_0x03C2EEBB04B3FB72"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("03C2EEBB04B3FB72");end, + ["_0x8989CBD7B4E82534"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("8989CBD7B4E82534");end, + ["_0x27AA1C973CACFE63"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("27AA1C973CACFE63");end, + ["_PLAYSTATS_COPY_RANK_INTO_NEW_SLOT"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("B7257BA2550EA10A");end, + ["_PLAYSTATS_DUPE_DETECTION"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("848B66100EE33B05");end, + ["_PLAYSTATS_BAN_ALERT"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("516FC96EB88EEFE5");end, + ["_PLAYSTATS_GUNRUN_MISSION_ENDED"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("0EACDF8487D5155A");end, + ["_0xDAF80797FC534BEC"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DAF80797FC534BEC");end, + ["_0x316DB59CD14C1774"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("316DB59CD14C1774");end, + ["_0x2D7A9B577E72385E"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2D7A9B577E72385E");end, + ["_0x830C3A44EB3F2CF9"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("830C3A44EB3F2CF9");end, + ["_0xB26F670685631727"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("B26F670685631727");end, + ["_0xC14BD9F5337219B2"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("C14BD9F5337219B2");end, + ["_PLAYSTATS_STONE_HATCHET_END"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("35E39E5570358630");end, + ["_PLAYSTATS_SMUG_MISSION_ENDED"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("320C35147D5B5DDD");end, + ["_PLAYSTATS_H2_FMPREP_END"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("D8AFB345A9C5CCBB");end, + ["_PLAYSTATS_H2_INSTANCE_END"]=--[[void]] function(--[[Any* (pointer)]] data,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("1E1497D0D2108115");end, + ["_PLAYSTATS_DAR_MISSION_END"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("0BC254FF3A911501");end, + ["_PLAYSTATS_ENTER_SESSION_PACK"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("878FF156D36E9956");end, + ["_PLAYSTATS_DRONE_USAGE"]=--[[void]] function(--[[int]] p0,--[[int]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("66C7BB2416ED3FCE");end, + ["_PLAYSTATS_SPECTATOR_WHEEL_SPIN"]=--[[void]] function(--[[int]] p0,--[[int]] p1,--[[int]] p2,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("6731DE84A38BFAD0");end, + ["_PLAYSTATS_ARENA_WAR_SPECTATOR"]=--[[void]] function(--[[int]] p0,--[[int]] p1,--[[int]] p2,--[[int]] p3,--[[int]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("6F4F599753F8200A");end, + ["_PLAYSTATS_ARENA_WARS_ENDED"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("B479D9F0D48A1BC5");end, + ["_PLAYSTATS_PASSIVE_MODE"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[int]] p1,--[[int]] p2,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("35EEC6C2BC821A71");end, + ["_PLAYSTATS_COLLECTIBLE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("CD0A8A9338681CF2");end, + ["_PLAYSTATS_CASINO_STORY_MISSION_ENDED"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("FCCCAC2BD3C1F180");end, + ["_PLAYSTATS_CASINO_CHIP"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("0999F3F090EC5012");end, + ["_PLAYSTATS_CASINO_ROULETTE"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("95101C443A84E7F1");end, + ["_PLAYSTATS_CASINO_BLACKJACK"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("3EAE97309727E7AD");end, + ["_PLAYSTATS_CASINO_THREECARDPOKER"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F740FB339D471C35");end, + ["_PLAYSTATS_CASINO_SLOTMACHINE"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("EF5EC67D392B830A");end, + ["_PLAYSTATS_CASINO_INSIDETRACK"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("049F059625058A86");end, + ["_PLAYSTATS_CASINO_LUCKYSEVEN"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("0C432C1435F5E4FA");end, + ["_PLAYSTATS_CASINO_ROULETTE_LIGHT"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6572ABA3DE1197FC");end, + ["_PLAYSTATS_CASINO_BLACKJACK_LIGHT"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("D5451C7BF151EB6F");end, + ["_PLAYSTATS_CASINO_THREECARDPOKER_LIGHT"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("C9001364B4388F22");end, + ["_PLAYSTATS_CASINO_SLOTMACHINE_LIGHT"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E60054A0FAE8227F");end, + ["_PLAYSTATS_CASINO_INSIDETRACK_LIGHT"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("23A3CBCD50D54E47");end, + ["_PLAYSTATS_ARCADEGAME"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("533A7D1EA58DF958");end, + ["_0x4FCDBD3F0A813C25"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("4FCDBD3F0A813C25");end, + ["_PLAYSTATS_CASINO_MISSION_ENDED"]=--[[void]] function(--[[Any* (pointer)]] data)native_invoker.begin_call();native_invoker.push_arg_pointer(data);native_invoker.end_call("1A0D4A6C336B7BC5");end, + ["_0xDFBD93BF2943E29B"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DFBD93BF2943E29B");end, + ["_0x92FC0EEDFAC04A14"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("92FC0EEDFAC04A14");end, + ["_0x0077F15613D36993"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("0077F15613D36993");end, + ["_0xF9096193DF1F99D4"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F9096193DF1F99D4");end, + ["_0x2E0259BABC27A327"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2E0259BABC27A327");end, + ["_0x53C31853EC9531FF"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("53C31853EC9531FF");end, + ["_0x810B5FCC52EC7FF0"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("810B5FCC52EC7FF0");end, + ["_0x5BF29846C6527C54"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("5BF29846C6527C54");end, + ["_0xC03FAB2C2F92289B"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("C03FAB2C2F92289B");end, + ["_0x5CDAED54B34B0ED0"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5CDAED54B34B0ED0");end, + ["_0x4AFF7E02E485E92B"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("4AFF7E02E485E92B");end, + ["_0xDFCDB14317A9B361"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("DFCDB14317A9B361");end, + ["_0xC1E963C58664B556"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("C1E963C58664B556");end, + ["_0x2FA3173480008493"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("2FA3173480008493");end, + ["_0xD4367D310F079DB0"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("D4367D310F079DB0");end, + ["_0x4DC416F246A41FC8"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("4DC416F246A41FC8");end, + ["_0x2818FF6638CB09DE"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("2818FF6638CB09DE");end, + ["_0xD6CA58B3B53A0F22"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("D6CA58B3B53A0F22");end, +} +STREAMING={ + ["LOAD_ALL_OBJECTS_NOW"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("BD6E84632DD4CB3F");end, + ["LOAD_SCENE"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("4448EB75B4904BDB");end, + ["NETWORK_UPDATE_LOAD_SCENE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("C4582015556D1C46");return native_invoker.get_return_value_bool();end, + ["IS_NETWORK_LOADING_SCENE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("41CA5A33160EA4AB");return native_invoker.get_return_value_bool();end, + ["SET_INTERIOR_ACTIVE"]=--[[void]] function(--[[int]] interiorID,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(interiorID);native_invoker.push_arg_bool(toggle);native_invoker.end_call("E37B76C387BE28ED");end, + -- Request a model to be loaded into memory. + -- + ["REQUEST_MODEL"]=--[[void]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("963D27A58DF860AC");end, + ["REQUEST_MENU_PED_MODEL"]=--[[void]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("A0261AEF7ACFC51E");end, + -- Checks if the specified model has loaded into memory. + ["HAS_MODEL_LOADED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("98A4EB5D89A0C952");return native_invoker.get_return_value_bool();end, + -- STREAMING::REQUEST_MODELS_IN_ROOM(l_13BC, "V_FIB01_cur_elev"); + -- STREAMING::REQUEST_MODELS_IN_ROOM(l_13BC, "limbo"); + -- STREAMING::REQUEST_MODELS_IN_ROOM(l_13BB, "V_Office_gnd_lifts"); + -- STREAMING::REQUEST_MODELS_IN_ROOM(l_13BB, "limbo"); + -- STREAMING::REQUEST_MODELS_IN_ROOM(l_13BC, "v_fib01_jan_elev"); + -- STREAMING::REQUEST_MODELS_IN_ROOM(l_13BC, "limbo"); + ["REQUEST_MODELS_IN_ROOM"]=--[[void]] function(--[[Interior (int)]] interior,--[[string]] roomName)native_invoker.begin_call();native_invoker.push_arg_int(interior);native_invoker.push_arg_string(roomName);native_invoker.end_call("8A7A40100EDFEC58");end, + -- Unloads model from memory + ["SET_MODEL_AS_NO_LONGER_NEEDED"]=--[[void]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("E532F5D78798DAAB");end, + -- Check if model is in cdimage(rpf) + ["IS_MODEL_IN_CDIMAGE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("35B9E0803292B641");return native_invoker.get_return_value_bool();end, + -- Returns whether the specified model exists in the game. + ["IS_MODEL_VALID"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("C0296A2EDF545E92");return native_invoker.get_return_value_bool();end, + ["IS_MODEL_A_PED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("75816577FEA6DAD5");return native_invoker.get_return_value_bool();end, + -- Returns whether the specified model represents a vehicle. + ["IS_MODEL_A_VEHICLE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("19AAC8F07BFEC53E");return native_invoker.get_return_value_bool();end, + ["REQUEST_COLLISION_AT_COORD"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("07503F7948F491A7");end, + ["REQUEST_COLLISION_FOR_MODEL"]=--[[void]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("923CB32A3B874FCB");end, + ["HAS_COLLISION_FOR_MODEL_LOADED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("22CCA434E368F03A");return native_invoker.get_return_value_bool();end, + -- MulleDK19: Alias of REQUEST_COLLISION_AT_COORD. + ["REQUEST_ADDITIONAL_COLLISION_AT_COORD"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("C9156DC11411A9EA");end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["DOES_ANIM_DICT_EXIST"]=--[[BOOL (bool)]] function(--[[string]] animDict)native_invoker.begin_call();native_invoker.push_arg_string(animDict);native_invoker.end_call("2DA49C3B79856961");return native_invoker.get_return_value_bool();end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["REQUEST_ANIM_DICT"]=--[[void]] function(--[[string]] animDict)native_invoker.begin_call();native_invoker.push_arg_string(animDict);native_invoker.end_call("D3BD40951412FEF6");end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["HAS_ANIM_DICT_LOADED"]=--[[BOOL (bool)]] function(--[[string]] animDict)native_invoker.begin_call();native_invoker.push_arg_string(animDict);native_invoker.end_call("D031A9162D01088C");return native_invoker.get_return_value_bool();end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["REMOVE_ANIM_DICT"]=--[[void]] function(--[[string]] animDict)native_invoker.begin_call();native_invoker.push_arg_string(animDict);native_invoker.end_call("F66A602F829E2A06");end, + -- Starts loading the specified animation set. An animation set provides movement animations for a ped. See SET_PED_MOVEMENT_CLIPSET. + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + -- + -- Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json + ["REQUEST_ANIM_SET"]=--[[void]] function(--[[string]] animSet)native_invoker.begin_call();native_invoker.push_arg_string(animSet);native_invoker.end_call("6EA47DAE7FAD0EED");end, + -- Gets whether the specified animation set has finished loading. An animation set provides movement animations for a ped. See SET_PED_MOVEMENT_CLIPSET. + -- + -- Animation set and clip set are synonymous. + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + -- + -- Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json + ["HAS_ANIM_SET_LOADED"]=--[[BOOL (bool)]] function(--[[string]] animSet)native_invoker.begin_call();native_invoker.push_arg_string(animSet);native_invoker.end_call("C4EA073D86FB29B0");return native_invoker.get_return_value_bool();end, + -- Unloads the specified animation set. An animation set provides movement animations for a ped. See SET_PED_MOVEMENT_CLIPSET. + -- + -- Animation set and clip set are synonymous. + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + -- + -- Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json + ["REMOVE_ANIM_SET"]=--[[void]] function(--[[string]] animSet)native_invoker.begin_call();native_invoker.push_arg_string(animSet);native_invoker.end_call("16350528F93024B3");end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + -- + -- Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json + ["REQUEST_CLIP_SET"]=--[[void]] function(--[[string]] clipSet)native_invoker.begin_call();native_invoker.push_arg_string(clipSet);native_invoker.end_call("D2A71E1A77418A49");end, + -- Alias for HAS_ANIM_SET_LOADED. + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + -- + -- Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json + ["HAS_CLIP_SET_LOADED"]=--[[BOOL (bool)]] function(--[[string]] clipSet)native_invoker.begin_call();native_invoker.push_arg_string(clipSet);native_invoker.end_call("318234F4F3738AF3");return native_invoker.get_return_value_bool();end, + -- Alias for REMOVE_ANIM_SET. + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + -- + -- Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json + ["REMOVE_CLIP_SET"]=--[[void]] function(--[[string]] clipSet)native_invoker.begin_call();native_invoker.push_arg_string(clipSet);native_invoker.end_call("01F73A131C18CD94");end, + -- Exemple: REQUEST_IPL("TrevorsTrailerTrash"); + -- + -- Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json + ["REQUEST_IPL"]=--[[void]] function(--[[string]] iplName)native_invoker.begin_call();native_invoker.push_arg_string(iplName);native_invoker.end_call("41B4893843BBDB74");end, + -- Removes an IPL from the map. + -- + -- Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json + -- + -- Example: + -- C#: + -- Function.Call(Hash.REMOVE_IPL, "trevorstrailertidy"); + -- + -- C++: + -- STREAMING::REMOVE_IPL("trevorstrailertidy"); + -- + -- iplName = Name of IPL you want to remove. + ["REMOVE_IPL"]=--[[void]] function(--[[string]] iplName)native_invoker.begin_call();native_invoker.push_arg_string(iplName);native_invoker.end_call("EE6C5AD3ECE0A82D");end, + -- Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json + ["IS_IPL_ACTIVE"]=--[[BOOL (bool)]] function(--[[string]] iplName)native_invoker.begin_call();native_invoker.push_arg_string(iplName);native_invoker.end_call("88A741E44A2B3495");return native_invoker.get_return_value_bool();end, + ["SET_STREAMING"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("6E0C692677008888");end, + -- 0 - default + -- 1 - HeistIsland + ["_LOAD_GLOBAL_WATER_TYPE"]=--[[void]] function(--[[int]] waterType)native_invoker.begin_call();native_invoker.push_arg_int(waterType);native_invoker.end_call("7E3F55ED251B76D3");end, + ["_GET_GLOBAL_WATER_TYPE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("F741BD853611592D");return native_invoker.get_return_value_int();end, + ["SET_GAME_PAUSES_FOR_STREAMING"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("717CD6E6FAEBBEDC");end, + ["SET_REDUCE_PED_MODEL_BUDGET"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("77B5F9A36BF96710");end, + ["SET_REDUCE_VEHICLE_MODEL_BUDGET"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("80C527893080CCF3");end, + -- This is a NOP function. It does nothing at all. + ["SET_DITCH_POLICE_MODELS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("42CBE54462D92634");end, + ["GET_NUMBER_OF_STREAMING_REQUESTS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("4060057271CEBC89");return native_invoker.get_return_value_int();end, + -- maps script name (thread + 0xD0) by lookup via scriptfx.dat - does nothing when script name is empty + ["REQUEST_PTFX_ASSET"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("944955FB2A3935C8");end, + ["HAS_PTFX_ASSET_LOADED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("CA7D9B86ECA7481B");return native_invoker.get_return_value_bool();end, + ["REMOVE_PTFX_ASSET"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("88C6814073DD4A73");end, + -- From the b678d decompiled scripts: + -- + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("core_snow"); + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("fm_mission_controler"); + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("proj_xmas_firework"); + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_apartment_mp"); + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_biolab_heist"); + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_indep_fireworks"); + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_indep_parachute"); + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_indep_wheelsmoke"); + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_mp_cig_plane"); + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_mp_creator"); + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_mp_tankbattle"); + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_ornate_heist"); + -- STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_prison_break_heist_station"); + ["REQUEST_NAMED_PTFX_ASSET"]=--[[void]] function(--[[string]] fxName)native_invoker.begin_call();native_invoker.push_arg_string(fxName);native_invoker.end_call("B80D8756B4668AB6");end, + ["HAS_NAMED_PTFX_ASSET_LOADED"]=--[[BOOL (bool)]] function(--[[string]] fxName)native_invoker.begin_call();native_invoker.push_arg_string(fxName);native_invoker.end_call("8702416E512EC454");return native_invoker.get_return_value_bool();end, + ["REMOVE_NAMED_PTFX_ASSET"]=--[[void]] function(--[[string]] fxName)native_invoker.begin_call();native_invoker.push_arg_string(fxName);native_invoker.end_call("5F61EBBE1A00F96D");end, + ["SET_VEHICLE_POPULATION_BUDGET"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("CB9E1EB3BE2AF4E9");end, + -- Control how many new (ambient?) peds will spawn in the game world. + -- Range for p0 seems to be 0-3, where 0 is none and 3 is the normal level. + ["SET_PED_POPULATION_BUDGET"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8C95333CFC3340F3");end, + ["CLEAR_FOCUS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("31B73D1EA9F01DA2");end, + -- Override the area where the camera will render the terrain. + -- p3, p4 and p5 are usually set to 0.0 + -- + ["SET_FOCUS_POS_AND_VEL"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.end_call("BB7454BAFF08FE25");end, + -- It seems to make the entity's coords mark the point from which LOD-distances are measured. In my testing, setting a vehicle as the focus entity and moving that vehicle more than 300 distance units away from the player will make the level of detail around the player go down drastically (shadows disappear, textures go extremely low res, etc). The player seems to be the default focus entity. + ["SET_FOCUS_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("198F77705FA0931D");end, + ["IS_ENTITY_FOCUS"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("2DDFF3FB9075D747");return native_invoker.get_return_value_bool();end, + ["_0x0811381EF5062FEC"]=--[[void]] function(--[[Entity (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("0811381EF5062FEC");end, + -- Possible p0 values: + -- + -- "prologue" + -- "Prologue_Main" + ["SET_MAPDATACULLBOX_ENABLED"]=--[[void]] function(--[[string]] name,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_bool(toggle);native_invoker.end_call("AF12610C644A35C9");end, + -- This native does absolutely nothing, just a nullsub + ["_0x4E52E752C76E7E7A"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("4E52E752C76E7E7A");end, + ["FORMAT_FOCUS_HEADING"]=--[[Any (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] rad,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(rad);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("219C7B8D53E429FD");return native_invoker.get_return_value_int();end, + ["_0x1F3F018BC3AFA77C"]=--[[Any (int)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("1F3F018BC3AFA77C");return native_invoker.get_return_value_int();end, + ["_0x0AD9710CEE2F590F"]=--[[Any (int)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("0AD9710CEE2F590F");return native_invoker.get_return_value_int();end, + ["_0x1EE7D8DF4425F053"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("1EE7D8DF4425F053");end, + ["_0x7D41E9D2D17C5B2D"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7D41E9D2D17C5B2D");return native_invoker.get_return_value_int();end, + ["_0x07C313F94746702C"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("07C313F94746702C");return native_invoker.get_return_value_int();end, + ["_0xBC9823AB80A3DCAC"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("BC9823AB80A3DCAC");return native_invoker.get_return_value_int();end, + -- `radius` value is usually between `3f` and `7000f` in original 1868 scripts. + -- `p7` is 0, 1, 2, 3 or 4 used in decompiled scripts, 0 is by far the most common. + -- Returns True if success, used only 7 times in decompiled scripts of 1868 + ["NEW_LOAD_SCENE_START"]=--[[BOOL (bool)]] function(--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ,--[[float]] radius,--[[int]] p7)native_invoker.begin_call();native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(p7);native_invoker.end_call("212A8D0D2BABFAC2");return native_invoker.get_return_value_bool();end, + -- if (!sub_8f12("START LOAD SCENE SAFE")) { + -- if (CUTSCENE::GET_CUTSCENE_TIME() > 4178) { + -- STREAMING::_ACCFB4ACF53551B0(1973.845458984375, 3818.447265625, 32.43629837036133, 15.0, 2); + -- sub_8e9e("START LOAD SCENE SAFE", 1); + -- } + -- } + -- + -- (Previously known as STREAMING::_NEW_LOAD_SCENE_START_SAFE) + ["NEW_LOAD_SCENE_START_SPHERE"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(p4);native_invoker.end_call("ACCFB4ACF53551B0");return native_invoker.get_return_value_bool();end, + ["NEW_LOAD_SCENE_STOP"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("C197616D221FF4A4");end, + ["IS_NEW_LOAD_SCENE_ACTIVE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("A41A05B6CB741B85");return native_invoker.get_return_value_bool();end, + ["IS_NEW_LOAD_SCENE_LOADED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("01B8247A7A8B9AD1");return native_invoker.get_return_value_bool();end, + ["_0x71E7B2E657449AAD"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("71E7B2E657449AAD");return native_invoker.get_return_value_int();end, + -- // this enum comes directly from R* so don't edit this + -- enum ePlayerSwitchTypes + -- { + -- SWITCH_TYPE_AUTO, + -- SWITCH_TYPE_LONG, + -- SWITCH_TYPE_MEDIUM, + -- SWITCH_TYPE_SHORT + -- }; + -- + -- Use GET_IDEAL_PLAYER_SWITCH_TYPE for the best switch type. + -- + -- ---------------------------------------------------- + -- + -- Examples from the decompiled scripts: + -- + -- STREAMING::START_PLAYER_SWITCH(l_832._f3, PLAYER::PLAYER_PED_ID(), 0, 3); + -- STREAMING::START_PLAYER_SWITCH(l_832._f3, PLAYER::PLAYER_PED_ID(), 2050, 3); + -- STREAMING::START_PLAYER_SWITCH(PLAYER::PLAYER_PED_ID(), l_832._f3, 1024, 3); + -- STREAMING::START_PLAYER_SWITCH(g_141F27, PLAYER::PLAYER_PED_ID(), 513, v_14); + -- + -- Note: DO NOT, use SWITCH_TYPE_LONG with flag 513. It leaves you stuck in the clouds. You'll have to call STOP_PLAYER_SWITCH() to return to your ped. + -- + -- Flag 8 w/ SWITCH_TYPE_LONG will zoom out 3 steps, then zoom in 2/3 steps and stop on the 3rd and just hang there. + -- Flag 8 w/ SWITCH_TYPE_MEDIUM will zoom out 1 step, and just hang there. + ["START_PLAYER_SWITCH"]=--[[void]] function(--[[Ped (int)]] from,--[[Ped (int)]] to,--[[int]] flags,--[[int]] switchType)native_invoker.begin_call();native_invoker.push_arg_int(from);native_invoker.push_arg_int(to);native_invoker.push_arg_int(flags);native_invoker.push_arg_int(switchType);native_invoker.end_call("FAA23F2CBA159D67");end, + ["STOP_PLAYER_SWITCH"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("95C0A5BBDC189AA1");end, + -- Returns true if the player is currently switching, false otherwise. + -- (When the camera is in the sky moving from Trevor to Franklin for example) + ["IS_PLAYER_SWITCH_IN_PROGRESS"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D9D2CFFF49FAB35F");return native_invoker.get_return_value_bool();end, + ["GET_PLAYER_SWITCH_TYPE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("B3C94A90D9FC9E62");return native_invoker.get_return_value_int();end, + -- x1, y1, z1 -- Coords of your ped model + -- x2, y2, z2 -- Coords of the ped you want to switch to + ["GET_IDEAL_PLAYER_SWITCH_TYPE"]=--[[int]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.end_call("B5D7B26B45720E05");return native_invoker.get_return_value_int();end, + ["GET_PLAYER_SWITCH_STATE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("470555300D10B2A5");return native_invoker.get_return_value_int();end, + ["GET_PLAYER_SHORT_SWITCH_STATE"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("20F898A5D9782800");return native_invoker.get_return_value_int();end, + -- SET_PLAYER_* + ["_0x5F2013F8BC24EE69"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("5F2013F8BC24EE69");end, + ["GET_PLAYER_SWITCH_JUMP_CUT_INDEX"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("78C0D93253149435");return native_invoker.get_return_value_int();end, + ["SET_PLAYER_SWITCH_OUTRO"]=--[[void]] function(--[[float]] cameraCoordX,--[[float]] cameraCoordY,--[[float]] cameraCoordZ,--[[float]] camRotationX,--[[float]] camRotationY,--[[float]] camRotationZ,--[[float]] camFov,--[[float]] camFarClip,--[[int]] rotationOrder)native_invoker.begin_call();native_invoker.push_arg_float(cameraCoordX);native_invoker.push_arg_float(cameraCoordY);native_invoker.push_arg_float(cameraCoordZ);native_invoker.push_arg_float(camRotationX);native_invoker.push_arg_float(camRotationY);native_invoker.push_arg_float(camRotationZ);native_invoker.push_arg_float(camFov);native_invoker.push_arg_float(camFarClip);native_invoker.push_arg_int(rotationOrder);native_invoker.end_call("C208B673CE446B61");end, + -- All names can be found in playerswitchestablishingshots.meta + ["SET_PLAYER_SWITCH_ESTABLISHING_SHOT"]=--[[void]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("0FDE9DBFC0A6BC65");end, + ["ALLOW_PLAYER_SWITCH_PAN"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("43D1680C6D19A8E9");end, + ["ALLOW_PLAYER_SWITCH_OUTRO"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("74DE2E8739086740");end, + ["ALLOW_PLAYER_SWITCH_ASCENT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("8E2A065ABDAE6994");end, + ["ALLOW_PLAYER_SWITCH_DESCENT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("AD5FDF34B81BFE79");end, + ["IS_SWITCH_READY_FOR_DESCENT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("DFA80CB25D0A19B3");return native_invoker.get_return_value_bool();end, + ["ENABLE_SWITCH_PAUSE_BEFORE_DESCENT"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("D4793DFF3AF2ABCD");end, + ["DISABLE_SWITCH_OUTRO_FX"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("BD605B8E0E18B3BB");end, + -- doesn't act normally when used on mount chilliad + -- Flags is a bitflag: + -- 2^n - Enabled Functionality: + -- 0 - Skip camera rotate up + -- 3 - Wait for SET_PLAYER_SWITCH_ESTABLISHING_SHOT / hang at last step. You will still need to run 0x74DE2E8739086740 to exit "properly" and then STOP_PLAYER_SWITCH + -- 6 - Invert Switch Direction (false = out, true = in) + -- 8 - Hang above ped + -- + -- switchType: 0 - 3 + -- 0: 1 step towards ped + -- 1: 3 steps out from ped + -- 2: 1 step out from ped + -- 3: 1 step towards ped + ["_SWITCH_OUT_PLAYER"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] flags,--[[int]] switchType)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(flags);native_invoker.push_arg_int(switchType);native_invoker.end_call("AAB3200ED59016BC");end, + ["_SWITCH_IN_PLAYER"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("D8295AF639FD9CB8");end, + -- Probably IS_SWITCH_* + ["_0x933BBEEB8C61B5F4"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("933BBEEB8C61B5F4");return native_invoker.get_return_value_bool();end, + ["GET_PLAYER_SWITCH_INTERP_OUT_DURATION"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("08C2D6C52A3104BB");return native_invoker.get_return_value_int();end, + ["_0x5B48A06DD0E792A5"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("5B48A06DD0E792A5");return native_invoker.get_return_value_int();end, + ["IS_SWITCH_SKIPPING_DESCENT"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("5B74EA8CFD5E3E7E");return native_invoker.get_return_value_bool();end, + ["_0x1E9057A74FD73E23"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1E9057A74FD73E23");end, + ["GET_LODSCALE"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("0C15B0E443B2349D");return native_invoker.get_return_value_float();end, + -- This allows you to override "extended distance scaling" setting. Needs to be called each frame. + -- Max scaling seems to be 200.0, normal is 1.0 + -- See https://gfycat.com/DetailedHauntingIncatern + ["OVERRIDE_LODSCALE_THIS_FRAME"]=--[[void]] function(--[[float]] scaling)native_invoker.begin_call();native_invoker.push_arg_float(scaling);native_invoker.end_call("A76359FC80B2438E");end, + ["_0xBED8CA5FF5E04113"]=--[[void]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("BED8CA5FF5E04113");end, + ["_0x472397322E92A856"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("472397322E92A856");end, + ["_0x40AEFD1A244741F2"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("40AEFD1A244741F2");end, + ["_0x03F1A106BDA7DD3E"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("03F1A106BDA7DD3E");end, + ["_0x95A7DABDDBB78AE7"]=--[[void]] function(--[[string]] iplName1,--[[string]] iplName2)native_invoker.begin_call();native_invoker.push_arg_string(iplName1);native_invoker.push_arg_string(iplName2);native_invoker.end_call("95A7DABDDBB78AE7");end, + ["_0x63EB2B972A218CAC"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("63EB2B972A218CAC");end, + ["_0xFB199266061F820A"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("FB199266061F820A");return native_invoker.get_return_value_bool();end, + ["_0xF4A0DADB70F57FA6"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("F4A0DADB70F57FA6");end, + ["_0x5068F488DDB54DD8"]=--[[Any (int)]] function()native_invoker.begin_call();native_invoker.end_call("5068F488DDB54DD8");return native_invoker.get_return_value_int();end, + -- This native is used to attribute the SRL that BEGIN_SRL is going to load. This is usually used for 'in-game' cinematics (not cutscenes but camera stuff) instead of SET_FOCUS_POS_AND_VEL because it loads a specific area of the map which is pretty useful when the camera moves from distant areas. + -- For instance, GTA:O opening cutscene. + -- https://pastebin.com/2EeKVeLA : a list of SRL found in srllist.meta + -- https://pastebin.com/zd9XYUWY here is the content of a SRL file opened with codewalker. + ["PREFETCH_SRL"]=--[[void]] function(--[[string]] srl)native_invoker.begin_call();native_invoker.push_arg_string(srl);native_invoker.end_call("3D245789CE12982C");end, + -- Returns true when the srl from BEGIN_SRL is loaded. + ["IS_SRL_LOADED"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("D0263801A4C5B0BB");return native_invoker.get_return_value_bool();end, + ["BEGIN_SRL"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("9BADDC94EF83B823");end, + -- Clear the current srl and stop rendering the area selected by PREFETCH_SRL and started with BEGIN_SRL. + ["END_SRL"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0A41540E63C9EE17");end, + ["SET_SRL_TIME"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("A74A541C6884E7B8");end, + ["_0xEF39EE20C537E98C"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("EF39EE20C537E98C");end, + ["_0xBEB2D9A1D9A8F55A"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("BEB2D9A1D9A8F55A");end, + ["_0x20C6C7E4EB082A7F"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("20C6C7E4EB082A7F");end, + ["_0xF8155A7F03DDFC8E"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F8155A7F03DDFC8E");end, + ["SET_HD_AREA"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("B85F26619073E775");end, + ["CLEAR_HD_AREA"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("CE58B1CFB9290813");end, + ["INIT_CREATOR_BUDGET"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B5A4DB34FE89B88A");end, + ["SHUTDOWN_CREATOR_BUDGET"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("CCE26000E9A6FAD7");end, + ["ADD_MODEL_TO_CREATOR_BUDGET"]=--[[BOOL (bool)]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("0BC3144DEB678666");return native_invoker.get_return_value_bool();end, + ["REMOVE_MODEL_FROM_CREATOR_BUDGET"]=--[[void]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("F086AD9354FAC3A3");end, + -- 0.0 = no memory used + -- 1.0 = all memory used + -- + -- Maximum model memory (as defined in common\data\missioncreatordata.meta) is 100 MiB + -- + -- GET_* + ["_GET_USED_CREATOR_MODEL_MEMORY_PERCENTAGE"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("3D3D8B3BE5A83D35");return native_invoker.get_return_value_float();end, + -- Enables the specified island. For more information, see islandhopper.meta + ["_SET_ISLAND_HOPPER_ENABLED"]=--[[void]] function(--[[string]] name,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_bool(toggle);native_invoker.end_call("9A9D1BA639675CF1");end, +} +TASK={ + -- Stand still (?) + ["TASK_PAUSE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] ms)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(ms);native_invoker.end_call("E73A266DB0CA9042");end, + -- Makes the specified ped stand still for (time) milliseconds. + ["TASK_STAND_STILL"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] time)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(time);native_invoker.end_call("919BE13EED931959");end, + -- Definition is wrong. This has 4 parameters (Not sure when they were added. v350 has 2, v678 has 4). + -- + -- v350: Ped ped, bool unused + -- v678: Ped ped, bool unused, bool flag1, bool flag2 + -- + -- flag1 = super jump, flag2 = do nothing if flag1 is false and doubles super jump height if flag1 is true. + ["TASK_JUMP"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] unused,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(unused);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("0AE4086104E067B1");end, + ["TASK_COWER"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(duration);native_invoker.end_call("3EB1FE9E8E908E15");end, + -- In the scripts, p3 was always -1. + -- + -- p3 seems to be duration or timeout of turn animation. + -- Also facingPed can be 0 or -1 so ped will just raise hands up. + ["TASK_HANDS_UP"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] duration,--[[Ped (int)]] facingPed,--[[int]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(facingPed);native_invoker.push_arg_int(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("F2EAB31979A7F910");end, + ["UPDATE_TASK_HANDS_UP_DURATION"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(duration);native_invoker.end_call("A98FCAFD7893C834");end, + -- The given ped will try to open the nearest door to 'seat'. + -- Example: telling the ped to open the door for the driver seat does not necessarily mean it will open the driver door, it may choose to open the passenger door instead if that one is closer. + ["TASK_OPEN_VEHICLE_DOOR"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[int]] timeOut,--[[int]] seat,--[[float]] speed)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(timeOut);native_invoker.push_arg_int(seat);native_invoker.push_arg_float(speed);native_invoker.end_call("965791A9A488A062");end, + -- speed 1.0 = walk, 2.0 = run + -- p5 1 = normal, 3 = teleport to vehicle, 16 = teleport directly into vehicle + -- p6 is always 0 + -- + -- Usage of seat + -- -1 = driver + -- 0 = passenger + -- 1 = left back seat + -- 2 = right back seat + -- 3 = outside left + -- 4 = outside right + ["TASK_ENTER_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[int]] timeout,--[[int]] seat,--[[float]] speed,--[[int]] flag,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(timeout);native_invoker.push_arg_int(seat);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(flag);native_invoker.push_arg_int(p6);native_invoker.end_call("C20E50AA46D09CA8");end, + -- Flags from decompiled scripts: + -- 0 = normal exit and closes door. + -- 1 = normal exit and closes door. + -- 16 = teleports outside, door kept closed. + -- 64 = normal exit and closes door, maybe a bit slower animation than 0. + -- 256 = normal exit but does not close the door. + -- 4160 = ped is throwing himself out, even when the vehicle is still. + -- 262144 = ped moves to passenger seat first, then exits normally + -- + -- Others to be tried out: 320, 512, 131072. + ["TASK_LEAVE_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(flags);native_invoker.end_call("D3DBCE61A490BE02");end, + ["TASK_GET_OFF_BOAT"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] boat)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(boat);native_invoker.end_call("9C00E77AF14B2DFF");end, + ["TASK_SKY_DIVE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("601736CFE536B0A0");end, + -- Second parameter is unused. + -- + -- second parameter was for jetpack in the early stages of gta and the hard coded code is now removed + ["TASK_PARACHUTE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("D2F1C53C97EE81AB");end, + -- makes ped parachute to coords x y z. Works well with PATHFIND::GET_SAFE_COORD_FOR_PED + ["TASK_PARACHUTE_TO_TARGET"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("B33E291AFA6BD03A");end, + ["SET_PARACHUTE_TASK_TARGET"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("C313379AF0FCEDA7");end, + ["SET_PARACHUTE_TASK_THRUST"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] thrust)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(thrust);native_invoker.end_call("0729BAC1B8C64317");end, + -- Only appears twice in the scripts. + -- + -- TASK::TASK_RAPPEL_FROM_HELI(PLAYER::PLAYER_PED_ID(), 0x41200000); + -- TASK::TASK_RAPPEL_FROM_HELI(a_0, 0x41200000); + ["TASK_RAPPEL_FROM_HELI"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.end_call("09693B0312F91649");end, + -- info about driving modes: HTTP://gtaforums.com/topic/822314-guide-driving-styles/ + -- --------------------------------------------------------------- + -- Passing P6 value as floating value didn't throw any errors, though unsure what is it exactly, looks like radius or something. + -- + -- P10 though, it is mentioned as float, however, I used bool and set it to true, that too worked. + -- Here the e.g. code I used + -- Function.Call(Hash.TASK_VEHICLE_DRIVE_TO_COORD, Ped, Vehicle, Cor X, Cor Y, Cor Z, 30f, 1f, Vehicle.GetHashCode(), 16777216, 1f, true); + ["TASK_VEHICLE_DRIVE_TO_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] speed,--[[Any (int)]] p6,--[[Hash (int)]] vehicleModel,--[[int]] drivingMode,--[[float]] stopRange,--[[float]] p10)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(vehicleModel);native_invoker.push_arg_int(drivingMode);native_invoker.push_arg_float(stopRange);native_invoker.push_arg_float(p10);native_invoker.end_call("E2A2AA2F659D77A7");end, + ["TASK_VEHICLE_DRIVE_TO_COORD_LONGRANGE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] speed,--[[int]] driveMode,--[[float]] stopRange)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(driveMode);native_invoker.push_arg_float(stopRange);native_invoker.end_call("158BB33F920D360C");end, + ["TASK_VEHICLE_DRIVE_WANDER"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[float]] speed,--[[int]] drivingStyle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(drivingStyle);native_invoker.end_call("480142959D337D00");end, + -- p6 always -1 + -- p7 always 10.0 + -- p8 always 1 + ["TASK_FOLLOW_TO_OFFSET_OF_ENTITY"]=--[[void]] function(--[[Ped (int)]] ped,--[[Entity (int)]] entity,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ,--[[float]] movementSpeed,--[[int]] timeout,--[[float]] stoppingRange,--[[BOOL (bool)]] persistFollowing)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.push_arg_float(movementSpeed);native_invoker.push_arg_int(timeout);native_invoker.push_arg_float(stoppingRange);native_invoker.push_arg_bool(persistFollowing);native_invoker.end_call("304AE42E357B8C7E");end, + ["TASK_GO_STRAIGHT_TO_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] speed,--[[int]] timeout,--[[float]] targetHeading,--[[float]] distanceToSlide)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(timeout);native_invoker.push_arg_float(targetHeading);native_invoker.push_arg_float(distanceToSlide);native_invoker.end_call("D76B57B44F1E6F8B");end, + ["TASK_GO_STRAIGHT_TO_COORD_RELATIVE_TO_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity1,--[[Entity (int)]] entity2,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(entity1);native_invoker.push_arg_int(entity2);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("61E360B7E040D12E");end, + -- Makes the specified ped achieve the specified heading. + -- + -- pedHandle: The handle of the ped to assign the task to. + -- heading: The desired heading. + -- timeout: The time, in milliseconds, to allow the task to complete. If the task times out, it is cancelled, and the ped will stay at the heading it managed to reach in the time. + ["TASK_ACHIEVE_HEADING"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] heading,--[[int]] timeout)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(heading);native_invoker.push_arg_int(timeout);native_invoker.end_call("93B93A37987F1F3D");end, + -- MulleKD19: Clears the current point route. Call this before TASK_EXTEND_ROUTE and TASK_FOLLOW_POINT_ROUTE. + ["TASK_FLUSH_ROUTE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("841142A1376E9006");end, + -- MulleKD19: Adds a new point to the current point route. Call TASK_FLUSH_ROUTE before the first call to this. Call TASK_FOLLOW_POINT_ROUTE to make the Ped go the route. + -- + -- A maximum of 8 points can be added. + ["TASK_EXTEND_ROUTE"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("1E7889778264843A");end, + -- MulleKD19: Makes the ped go on the created point route. + -- + -- ped: The ped to give the task to. + -- speed: The speed to move at in m/s. + -- int: Unknown. Can be 0, 1, 2 or 3. + -- + -- Example: + -- TASK_FLUSH_ROUTE(); + -- TASK_EXTEND_ROUTE(0f, 0f, 70f); + -- TASK_EXTEND_ROUTE(10f, 0f, 70f); + -- TASK_EXTEND_ROUTE(10f, 10f, 70f); + -- TASK_FOLLOW_POINT_ROUTE(GET_PLAYER_PED(), 1f, 0); + ["TASK_FOLLOW_POINT_ROUTE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] speed,--[[int]] unknown)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(unknown);native_invoker.end_call("595583281858626E");end, + -- The entity will move towards the target until time is over (duration) or get in target's range (distance). p5 and p6 are unknown, but you could leave p5 = 1073741824 or 100 or even 0 (didn't see any difference but on the decompiled scripts, they use 1073741824 mostly) and p6 = 0 + -- + -- Note: I've only tested it on entity -> ped and target -> vehicle. It could work differently on other entities, didn't try it yet. + -- + -- Example: TASK::TASK_GO_TO_ENTITY(pedHandle, vehicleHandle, 5000, 4.0, 100, 1073741824, 0) + -- + -- Ped will run towards the vehicle for 5 seconds and stop when time is over or when he gets 4 meters(?) around the vehicle (with duration = -1, the task duration will be ignored). + ["TASK_GO_TO_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[Entity (int)]] target,--[[int]] duration,--[[float]] distance,--[[float]] speed,--[[float]] p5,--[[int]] p6)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(target);native_invoker.push_arg_int(duration);native_invoker.push_arg_float(distance);native_invoker.push_arg_float(speed);native_invoker.push_arg_float(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("6A071245EB0D1882");end, + -- Makes the specified ped flee the specified distance from the specified position. + ["TASK_SMART_FLEE_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] distance,--[[int]] time,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(distance);native_invoker.push_arg_int(time);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.end_call("94587F17E9C365D5");end, + -- Makes a ped run away from another ped (fleeTarget). + -- + -- distance = ped will flee this distance. + -- fleeTime = ped will flee for this amount of time, set to "-1" to flee forever + ["TASK_SMART_FLEE_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] fleeTarget,--[[float]] distance,--[[Any (int)]] fleeTime,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(fleeTarget);native_invoker.push_arg_float(distance);native_invoker.push_arg_int(fleeTime);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("22B0D0E37CCB840D");end, + ["TASK_REACT_AND_FLEE_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] fleeTarget)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(fleeTarget);native_invoker.end_call("72C896464915D1B1");end, + ["TASK_SHOCKING_EVENT_REACT"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] eventHandle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(eventHandle);native_invoker.end_call("452419CBD838065B");end, + ["TASK_WANDER_IN_AREA"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[float]] minimalLength,--[[float]] timeBetweenWalks)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_float(minimalLength);native_invoker.push_arg_float(timeBetweenWalks);native_invoker.end_call("E054346CA3A0F315");end, + -- Makes ped walk around the area. + -- + -- set p1 to 10.0f and p2 to 10 if you want the ped to walk anywhere without a duration. + ["TASK_WANDER_STANDARD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("BB9CE077274F6A1B");end, + ["TASK_WANDER_SPECIFIC"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("6919A2F136426098");end, + -- Modes: + -- 0 - ignore heading + -- 1 - park forward + -- 2 - park backwards + -- + -- Depending on the angle of approach, the vehicle can park at the specified heading or at its exact opposite (-180) angle. + -- + -- Radius seems to define how close the vehicle has to be -after parking- to the position for this task considered completed. If the value is too small, the vehicle will try to park again until it's exactly where it should be. 20.0 Works well but lower values don't, like the radius is measured in centimeters or something. + ["TASK_VEHICLE_PARK"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading,--[[int]] mode,--[[float]] radius,--[[BOOL (bool)]] keepEngineOn)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.push_arg_int(mode);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(keepEngineOn);native_invoker.end_call("0F3E34E968EA374E");end, + -- known "killTypes" are: "AR_stealth_kill_knife" and "AR_stealth_kill_a". + ["TASK_STEALTH_KILL"]=--[[void]] function(--[[Ped (int)]] killer,--[[Ped (int)]] target,--[[Hash (int)]] actionType,--[[float]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(killer);native_invoker.push_arg_int(target);native_invoker.push_arg_int(actionType);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("AA5DC05579D60BD9");end, + ["TASK_PLANT_BOMB"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.end_call("965FEC691D55E9BF");end, + -- If no timeout, set timeout to -1. + ["TASK_FOLLOW_NAV_MESH_TO_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] speed,--[[int]] timeout,--[[float]] stoppingRange,--[[BOOL (bool)]] persistFollowing,--[[float]] unk)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(timeout);native_invoker.push_arg_float(stoppingRange);native_invoker.push_arg_bool(persistFollowing);native_invoker.push_arg_float(unk);native_invoker.end_call("15D3A79D4E44B913");end, + ["TASK_FOLLOW_NAV_MESH_TO_COORD_ADVANCED"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] speed,--[[int]] timeout,--[[float]] unkFloat,--[[int]] unkInt,--[[float]] unkX,--[[float]] unkY,--[[float]] unkZ,--[[float]] unk_40000f)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(timeout);native_invoker.push_arg_float(unkFloat);native_invoker.push_arg_int(unkInt);native_invoker.push_arg_float(unkX);native_invoker.push_arg_float(unkY);native_invoker.push_arg_float(unkZ);native_invoker.push_arg_float(unk_40000f);native_invoker.end_call("17F58B88D085DBAC");end, + ["SET_PED_PATH_CAN_USE_CLIMBOVERS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] Toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(Toggle);native_invoker.end_call("8E06A6FE76C9EFF4");end, + ["SET_PED_PATH_CAN_USE_LADDERS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] Toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(Toggle);native_invoker.end_call("77A5B103C87F476E");end, + ["SET_PED_PATH_CAN_DROP_FROM_HEIGHT"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] Toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(Toggle);native_invoker.end_call("E361C5C71C431A4F");end, + -- Default modifier is 1.0, minimum is 0.0 and maximum is 10.0. + ["SET_PED_PATH_CLIMB_COST_MODIFIER"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] modifier)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(modifier);native_invoker.end_call("88E32DB8C1A4AA4B");end, + ["SET_PED_PATH_MAY_ENTER_WATER"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] mayEnterWater)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(mayEnterWater);native_invoker.end_call("F35425A4204367EC");end, + ["SET_PED_PATH_PREFER_TO_AVOID_WATER"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] avoidWater)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(avoidWater);native_invoker.end_call("38FE1EC73743793C");end, + ["SET_PED_PATH_AVOID_FIRE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] avoidFire)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(avoidFire);native_invoker.end_call("4455517B28441E60");end, + -- Needs to be looped! And yes, it does work and is not a hash collision. + -- Birds will try to reach the given height. + ["SET_GLOBAL_MIN_BIRD_FLIGHT_HEIGHT"]=--[[void]] function(--[[float]] height)native_invoker.begin_call();native_invoker.push_arg_float(height);native_invoker.end_call("6C6B148586F934F7");end, + -- Looks like the last parameter returns true if the path has been calculated, while the first returns the remaining distance to the end of the path. + -- Return value of native is the same as GET_NAVMESH_ROUTE_RESULT + -- Looks like the native returns an int for the path's state: + -- 1 - ??? + -- 2 - ??? + -- 3 - Finished Generating + ["GET_NAVMESH_ROUTE_DISTANCE_REMAINING"]=--[[int]] function(--[[Ped (int)]] ped,--[[float* (pointer)]] distanceRemaining,--[[BOOL* (pointer)]] isPathReady)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(distanceRemaining);native_invoker.push_arg_pointer(isPathReady);native_invoker.end_call("C6F5C0BCDC74D62D");return native_invoker.get_return_value_int();end, + -- See GET_NAVMESH_ROUTE_DISTANCE_REMAINING for more details. + ["GET_NAVMESH_ROUTE_RESULT"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("632E831F382A0FA8");return native_invoker.get_return_value_int();end, + -- IS_* + ["_0x3E38E28A1D80DDF6"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("3E38E28A1D80DDF6");return native_invoker.get_return_value_bool();end, + -- example from fm_mission_controller + -- + -- TASK::TASK_GO_TO_COORD_ANY_MEANS(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000); + -- + ["TASK_GO_TO_COORD_ANY_MEANS"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] speed,--[[Any (int)]] p5,--[[BOOL (bool)]] p6,--[[int]] walkingStyle,--[[float]] p8)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_int(walkingStyle);native_invoker.push_arg_float(p8);native_invoker.end_call("5BC448CB78FA3E88");end, + ["TASK_GO_TO_COORD_ANY_MEANS_EXTRA_PARAMS"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] speed,--[[Any (int)]] p5,--[[BOOL (bool)]] p6,--[[int]] walkingStyle,--[[float]] p8,--[[Any (int)]] p9,--[[Any (int)]] p10,--[[Any (int)]] p11,--[[Any (int)]] p12)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_int(walkingStyle);native_invoker.push_arg_float(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_int(p10);native_invoker.push_arg_int(p11);native_invoker.push_arg_int(p12);native_invoker.end_call("1DD45F9ECFDB1BC9");end, + ["TASK_GO_TO_COORD_ANY_MEANS_EXTRA_PARAMS_WITH_CRUISE_SPEED"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] speed,--[[Any (int)]] p5,--[[BOOL (bool)]] p6,--[[int]] walkingStyle,--[[float]] p8,--[[Any (int)]] p9,--[[Any (int)]] p10,--[[Any (int)]] p11,--[[Any (int)]] p12,--[[Any (int)]] p13)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_int(walkingStyle);native_invoker.push_arg_float(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_int(p10);native_invoker.push_arg_int(p11);native_invoker.push_arg_int(p12);native_invoker.push_arg_int(p13);native_invoker.end_call("B8ECD61F531A7B02");end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + -- + -- float speed > normal speed is 8.0f + -- ---------------------- + -- + -- float speedMultiplier > multiply the playback speed + -- ---------------------- + -- + -- int duration: time in millisecond + -- ---------------------- + -- -1 _ _ _ _ _ _ _> Default (see flag) + -- 0 _ _ _ _ _ _ _ > Not play at all + -- Small value _ _ > Slow down animation speed + -- Other _ _ _ _ _ > freeze player control until specific time (ms) has + -- _ _ _ _ _ _ _ _ _ passed. (No effect if flag is set to be + -- _ _ _ _ _ _ _ _ _ controllable.) + -- + -- int flag: + -- ---------------------- + -- enum eAnimationFlags + -- { + -- ANIM_FLAG_NORMAL = 0, + -- ANIM_FLAG_REPEAT = 1, + -- ANIM_FLAG_STOP_LAST_FRAME = 2, + -- ANIM_FLAG_UPPERBODY = 16, + -- ANIM_FLAG_ENABLE_PLAYER_CONTROL = 32, + -- ANIM_FLAG_CANCELABLE = 120, + -- }; + -- Odd number : loop infinitely + -- Even number : Freeze at last frame + -- Multiple of 4: Freeze at last frame but controllable + -- + -- 01 to 15 > Full body + -- 10 to 31 > Upper body + -- 32 to 47 > Full body > Controllable + -- 48 to 63 > Upper body > Controllable + -- ... + -- 001 to 255 > Normal + -- 256 to 511 > Garbled + -- ... + -- + -- playbackRate: + -- + -- values are between 0.0 and 1.0 + -- + -- + -- lockX: + -- + -- 0 in most cases 1 for rcmepsilonism8 and rcmpaparazzo_3 + -- > 1 for mini@sprunk + -- + -- + -- lockY: + -- + -- 0 in most cases + -- 1 for missfam5_yoga, missfra1mcs_2_crew_react + -- + -- + -- lockZ: + -- + -- 0 for single player + -- Can be 1 but only for MP + ["TASK_PLAY_ANIM"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] animDictionary,--[[string]] animationName,--[[float]] blendInSpeed,--[[float]] blendOutSpeed,--[[int]] duration,--[[int]] flag,--[[float]] playbackRate,--[[BOOL (bool)]] lockX,--[[BOOL (bool)]] lockY,--[[BOOL (bool)]] lockZ)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(animDictionary);native_invoker.push_arg_string(animationName);native_invoker.push_arg_float(blendInSpeed);native_invoker.push_arg_float(blendOutSpeed);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(flag);native_invoker.push_arg_float(playbackRate);native_invoker.push_arg_bool(lockX);native_invoker.push_arg_bool(lockY);native_invoker.push_arg_bool(lockZ);native_invoker.end_call("EA47FE3719165B94");end, + -- It's similar to TASK_PLAY_ANIM, except the first 6 floats let you specify the initial position and rotation of the task. (Ped gets teleported to the position). + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["TASK_PLAY_ANIM_ADVANCED"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] animDict,--[[string]] animName,--[[float]] posX,--[[float]] posY,--[[float]] posZ,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[float]] animEnterSpeed,--[[float]] animExitSpeed,--[[int]] duration,--[[Any (int)]] flag,--[[float]] animTime,--[[Any (int)]] p14,--[[Any (int)]] p15)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.push_arg_float(posX);native_invoker.push_arg_float(posY);native_invoker.push_arg_float(posZ);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_float(animEnterSpeed);native_invoker.push_arg_float(animExitSpeed);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(flag);native_invoker.push_arg_float(animTime);native_invoker.push_arg_int(p14);native_invoker.push_arg_int(p15);native_invoker.end_call("83CDB10EA29B370B");end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["STOP_ANIM_TASK"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] animDictionary,--[[string]] animationName,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(animDictionary);native_invoker.push_arg_string(animationName);native_invoker.push_arg_float(p3);native_invoker.end_call("97FF36A1D40EA00A");end, + -- From fm_mission_controller.c: + -- reserve_network_mission_objects(get_num_reserved_mission_objects(0) + 1); + -- vVar28 = {0.094f, 0.02f, -0.005f}; + -- vVar29 = {-92.24f, 63.64f, 150.24f}; + -- func_253(&uVar30, joaat("prop_ld_case_01"), Global_1592429.imm_34757[iParam1 <268>], 1, 1, 0, 1); + -- set_entity_lod_dist(net_to_ent(uVar30), 500); + -- attach_entity_to_entity(net_to_ent(uVar30), iParam0, get_ped_bone_index(iParam0, 28422), vVar28, vVar29, 1, 0, 0, 0, 2, 1); + -- Var31.imm_4 = 1065353216; + -- Var31.imm_5 = 1065353216; + -- Var31.imm_9 = 1065353216; + -- Var31.imm_10 = 1065353216; + -- Var31.imm_14 = 1065353216; + -- Var31.imm_15 = 1065353216; + -- Var31.imm_17 = 1040187392; + -- Var31.imm_18 = 1040187392; + -- Var31.imm_19 = -1; + -- Var32.imm_4 = 1065353216; + -- Var32.imm_5 = 1065353216; + -- Var32.imm_9 = 1065353216; + -- Var32.imm_10 = 1065353216; + -- Var32.imm_14 = 1065353216; + -- Var32.imm_15 = 1065353216; + -- Var32.imm_17 = 1040187392; + -- Var32.imm_18 = 1040187392; + -- Var32.imm_19 = -1; + -- Var31 = 1; + -- Var31.imm_1 = "weapons@misc@jerrycan@mp_male"; + -- Var31.imm_2 = "idle"; + -- Var31.imm_20 = 1048633; + -- Var31.imm_4 = 0.5f; + -- Var31.imm_16 = get_hash_key("BONEMASK_ARMONLY_R"); + -- task_scripted_animation(iParam0, &Var31, &Var32, &Var32, 0f, 0.25f); + -- set_model_as_no_longer_needed(joaat("prop_ld_case_01")); + -- remove_anim_dict("anim@heists@biolab@"); + ["TASK_SCRIPTED_ANIMATION"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3,--[[float]] p4,--[[float]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.end_call("126EF75F1E17ABE5");end, + ["PLAY_ENTITY_SCRIPTED_ANIM"]=--[[void]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3,--[[float]] p4,--[[float]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.end_call("77A1EEC547E7FCF1");end, + -- Looks like p1 may be a flag, still need to do some research, though. + ["STOP_ANIM_PLAYBACK"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("EE08C992D238C5D1");end, + ["SET_ANIM_WEIGHT"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("207F1A47C0342F48");end, + ["SET_ANIM_RATE"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[Any (int)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("032D49C5E359C847");end, + ["SET_ANIM_LOOPED"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[Any (int)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("70033C3CC29A1FF4");end, + -- Example from the scripts: + -- TASK::TASK_PLAY_PHONE_GESTURE_ANIMATION(PLAYER::PLAYER_PED_ID(), v_3, v_2, v_4, 0.25, 0.25, 0, 0); + -- + -- ========================================================= + -- ^^ No offense, but Idk how that would really help anyone. + -- + -- As for the animDict & animation, they're both store in a global in all 5 scripts. So if anyone would be so kind as to read that global and comment what strings they use. Thanks. + -- + -- Known boneMaskTypes' + -- "BONEMASK_HEADONLY" + -- "BONEMASK_HEAD_NECK_AND_ARMS" + -- "BONEMASK_HEAD_NECK_AND_L_ARM" + -- "BONEMASK_HEAD_NECK_AND_R_ARM" + -- + -- p4 known args - 0.0f, 0.5f, 0.25f + -- p5 known args - 0.0f, 0.25f + -- p6 known args - 1 if a global if check is passed. + -- p7 known args - 1 if a global if check is passed. + -- + -- The values found above, I found within the 5 scripts this is ever called in. (fmmc_launcher, fm_deathmatch_controller, fm_impromptu_dm_controller, fm_mission_controller, and freemode). + -- ========================================================= + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["TASK_PLAY_PHONE_GESTURE_ANIMATION"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] animDict,--[[string]] animation,--[[string]] boneMaskType,--[[float]] p4,--[[float]] p5,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animation);native_invoker.push_arg_string(boneMaskType);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.end_call("8FBB6758B3B3E9EC");end, + ["TASK_STOP_PHONE_GESTURE_ANIMATION"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("3FA00D4F4641BFAE");end, + ["IS_PLAYING_PHONE_GESTURE_ANIM"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("B8EBB1E9D3588C10");return native_invoker.get_return_value_bool();end, + ["GET_PHONE_GESTURE_ANIM_CURRENT_TIME"]=--[[float]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("47619ABE8B268C60");return native_invoker.get_return_value_float();end, + ["GET_PHONE_GESTURE_ANIM_TOTAL_TIME"]=--[[float]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("1EE0F68A7C25DEC6");return native_invoker.get_return_value_float();end, + -- Most probably plays a specific animation on vehicle. For example getting chop out of van etc... + -- + -- Here's how its used - + -- + -- TASK::TASK_VEHICLE_PLAY_ANIM(l_325, "rcmnigel1b", "idle_speedo"); + -- + -- TASK::TASK_VEHICLE_PLAY_ANIM(l_556[0/*1*/], "missfra0_chop_drhome", "InCar_GetOutofBack_Speedo"); + -- + -- FYI : Speedo is the name of van in which chop was put in the mission. + ["TASK_VEHICLE_PLAY_ANIM"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[string]] animationSet,--[[string]] animationName)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_string(animationSet);native_invoker.push_arg_string(animationName);native_invoker.end_call("69F5C3BD0F3EBD89");end, + -- p5 = 0, p6 = 2 + ["TASK_LOOK_AT_COORD"]=--[[void]] function(--[[Entity (int)]] entity,--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] duration,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("6FA46612594F7973");end, + -- param3: duration in ms, use -1 to look forever + -- param4: using 2048 is fine + -- param5: using 3 is fine + ["TASK_LOOK_AT_ENTITY"]=--[[void]] function(--[[Ped (int)]] ped,--[[Entity (int)]] lookAt,--[[int]] duration,--[[int]] unknown1,--[[int]] unknown2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(lookAt);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(unknown1);native_invoker.push_arg_int(unknown2);native_invoker.end_call("69F4BE8C8CC4796C");end, + -- Not clear what it actually does, but here's how script uses it - + -- + -- if (OBJECT::HAS_PICKUP_BEEN_COLLECTED(...) + -- { + -- if(ENTITY::DOES_ENTITY_EXIST(PLAYER::PLAYER_PED_ID())) + -- { + -- TASK::TASK_CLEAR_LOOK_AT(PLAYER::PLAYER_PED_ID()); + -- } + -- ... + -- } + -- + -- Another one where it doesn't "look" at current player - + -- + -- TASK::TASK_PLAY_ANIM(l_3ED, "missheist_agency2aig_2", "look_at_phone_a", 1000.0, -2.0, -1, 48, v_2, 0, 0, 0); + -- PED::_2208438012482A1A(l_3ED, 0, 0); + -- TASK::TASK_CLEAR_LOOK_AT(l_3ED); + ["TASK_CLEAR_LOOK_AT"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("0F804F1DB19B9689");end, + ["OPEN_SEQUENCE_TASK"]=--[[void]] function(--[[int* (pointer)]] taskSequenceId)native_invoker.begin_call();native_invoker.push_arg_pointer(taskSequenceId);native_invoker.end_call("E8854A4326B9E12B");end, + ["CLOSE_SEQUENCE_TASK"]=--[[void]] function(--[[int]] taskSequenceId)native_invoker.begin_call();native_invoker.push_arg_int(taskSequenceId);native_invoker.end_call("39E72BC99E6360CB");end, + ["TASK_PERFORM_SEQUENCE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] taskSequenceId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(taskSequenceId);native_invoker.end_call("5ABA3986D90D8A3B");end, + ["TASK_PERFORM_SEQUENCE_LOCALLY"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] taskSequenceId)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(taskSequenceId);native_invoker.end_call("8C33220C8D78CA0D");end, + ["CLEAR_SEQUENCE_TASK"]=--[[void]] function(--[[int* (pointer)]] taskSequenceId)native_invoker.begin_call();native_invoker.push_arg_pointer(taskSequenceId);native_invoker.end_call("3841422E9C488D8C");end, + ["SET_SEQUENCE_TO_REPEAT"]=--[[void]] function(--[[int]] taskSequenceId,--[[BOOL (bool)]] _repeat)native_invoker.begin_call();native_invoker.push_arg_int(taskSequenceId);native_invoker.push_arg_bool(_repeat);native_invoker.end_call("58C70CF3A41E4AE7");end, + -- returned values: + -- 0 to 7 = task that's currently in progress, 0 meaning the first one. + -- -1 no task sequence in progress. + ["GET_SEQUENCE_PROGRESS"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("00A9010CFE1E3533");return native_invoker.get_return_value_int();end, + -- Task index enum: https://alloc8or.re/gta5/doc/enums/eTaskTypeIndex.txt + ["GET_IS_TASK_ACTIVE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] taskIndex)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(taskIndex);native_invoker.end_call("B0760331C7AA4155");return native_invoker.get_return_value_bool();end, + -- Gets the status of a script-assigned task. + -- taskHash: https://alloc8or.re/gta5/doc/enums/eScriptTaskHash.txt + ["GET_SCRIPT_TASK_STATUS"]=--[[int]] function(--[[Ped (int)]] ped,--[[Hash (int)]] taskHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(taskHash);native_invoker.end_call("77F1BEB8863288D5");return native_invoker.get_return_value_int();end, + -- https://alloc8or.re/gta5/doc/enums/eVehicleMissionType.txt + ["GET_ACTIVE_VEHICLE_MISSION_TYPE"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("534AEBA6E5ED4CAB");return native_invoker.get_return_value_int();end, + -- Flags are the same flags used in TASK_LEAVE_VEHICLE + ["TASK_LEAVE_ANY_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(flags);native_invoker.end_call("504D54DF3F6F2247");end, + ["TASK_AIM_GUN_SCRIPTED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] scriptTask,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(scriptTask);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("7A192BE16D373D00");end, + ["TASK_AIM_GUN_SCRIPTED_WITH_TARGET"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[Any (int)]] p5,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.end_call("8605AF0DE8B3A5AC");end, + ["UPDATE_TASK_AIM_GUN_SCRIPTED_TARGET"]=--[[void]] function(--[[Ped (int)]] p0,--[[Ped (int)]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("9724FB59A3E72AD0");end, + ["GET_CLIP_SET_FOR_SCRIPTED_GUN_TASK"]=--[[string]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("3A8CADC7D37AACC5");return native_invoker.get_return_value_string();end, + -- duration: the amount of time in milliseconds to do the task. -1 will keep the task going until either another task is applied, or CLEAR_ALL_TASKS() is called with the ped + ["TASK_AIM_GUN_AT_ENTITY"]=--[[void]] function(--[[Ped (int)]] ped,--[[Entity (int)]] entity,--[[int]] duration,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(entity);native_invoker.push_arg_int(duration);native_invoker.push_arg_bool(p3);native_invoker.end_call("9B53BB6E8943AF53");end, + -- duration: the amount of time in milliseconds to do the task. -1 will keep the task going until either another task is applied, or CLEAR_ALL_TASKS() is called with the ped + ["TASK_TURN_PED_TO_FACE_ENTITY"]=--[[void]] function(--[[Ped (int)]] ped,--[[Entity (int)]] entity,--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(entity);native_invoker.push_arg_int(duration);native_invoker.end_call("5AD23D40115353AC");end, + -- + -- + ["TASK_AIM_GUN_AT_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] time,--[[BOOL (bool)]] p5,--[[BOOL (bool)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(time);native_invoker.push_arg_bool(p5);native_invoker.push_arg_bool(p6);native_invoker.end_call("6671F3EEC681BDA1");end, + -- Firing Pattern Hash Information: https://pastebin.com/Px036isB + ["TASK_SHOOT_AT_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] duration,--[[Hash (int)]] firingPattern)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(firingPattern);native_invoker.end_call("46A6CC01E0826106");end, + -- Makes the specified ped shuffle to the next vehicle seat. + -- The ped MUST be in a vehicle and the vehicle parameter MUST be the ped's current vehicle. + ["TASK_SHUFFLE_TO_NEXT_VEHICLE_SEAT"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p2);native_invoker.end_call("7AA80209BDA643EB");end, + ["CLEAR_PED_TASKS"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("E1EF3C1216AFF2CD");end, + ["CLEAR_PED_SECONDARY_TASK"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("176CECF6F920D707");end, + ["TASK_EVERYONE_LEAVE_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("7F93691AB4B92272");end, + ["TASK_GOTO_ENTITY_OFFSET"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(duration);native_invoker.end_call("E39B4FF4FDEBDE27");end, + ["TASK_GOTO_ENTITY_OFFSET_XY"]=--[[void]] function(--[[int]] p0,--[[Ped (int)]] oed,--[[int]] duration,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(oed);native_invoker.push_arg_int(duration);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_bool(p7);native_invoker.end_call("338E7EF52B6095A9");end, + -- duration in milliseconds + ["TASK_TURN_PED_TO_FACE_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(duration);native_invoker.end_call("1DDA930A0AC38571");end, + -- '1 - brake + -- '3 - brake + reverse + -- '4 - turn left 90 + braking + -- '5 - turn right 90 + braking + -- '6 - brake strong (handbrake?) until time ends + -- '7 - turn left + accelerate + -- '7 - turn right + accelerate + -- '9 - weak acceleration + -- '10 - turn left + restore wheel pos to center in the end + -- '11 - turn right + restore wheel pos to center in the end + -- '13 - turn left + go reverse + -- '14 - turn left + go reverse + -- '16 - crash the game after like 2 seconds :) + -- '17 - keep actual state, game crashed after few tries + -- '18 - game crash + -- '19 - strong brake + turn left/right + -- '20 - weak brake + turn left then turn right + -- '21 - weak brake + turn right then turn left + -- '22 - brake + reverse + -- '23 - accelerate fast + -- '24 - brake + -- '25 - brake turning left then when almost stopping it turns left more + -- '26 - brake turning right then when almost stopping it turns right more + -- '27 - brake until car stop or until time ends + -- '28 - brake + strong reverse acceleration + -- '30 - performs a burnout (brake until stop + brake and accelerate) + -- '31 - accelerate + handbrake + -- '32 - accelerate very strong + -- + -- Seems to be this: + -- Works on NPCs, but overrides their current task. If inside a task sequence (and not being the last task), "time" will work, otherwise the task will be performed forever until tasked with something else + ["TASK_VEHICLE_TEMP_ACTION"]=--[[void]] function(--[[Ped (int)]] driver,--[[Vehicle (int)]] vehicle,--[[int]] action,--[[int]] time)native_invoker.begin_call();native_invoker.push_arg_int(driver);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(action);native_invoker.push_arg_int(time);native_invoker.end_call("C429DCEEB339E129");end, + -- missionType: https://alloc8or.re/gta5/doc/enums/eVehicleMissionType.txt + ["TASK_VEHICLE_MISSION"]=--[[void]] function(--[[Ped (int)]] driver,--[[Vehicle (int)]] vehicle,--[[Vehicle (int)]] vehicleTarget,--[[int]] missionType,--[[float]] p4,--[[Any (int)]] p5,--[[float]] p6,--[[float]] p7,--[[BOOL (bool)]] DriveAgainstTraffic)native_invoker.begin_call();native_invoker.push_arg_int(driver);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(vehicleTarget);native_invoker.push_arg_int(missionType);native_invoker.push_arg_float(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_bool(DriveAgainstTraffic);native_invoker.end_call("659427E0EF36BCDE");end, + -- See TASK_VEHICLE_MISSION + ["TASK_VEHICLE_MISSION_PED_TARGET"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[Ped (int)]] pedTarget,--[[int]] missionType,--[[float]] maxSpeed,--[[int]] drivingStyle,--[[float]] minDistance,--[[float]] p7,--[[BOOL (bool)]] DriveAgainstTraffic)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(pedTarget);native_invoker.push_arg_int(missionType);native_invoker.push_arg_float(maxSpeed);native_invoker.push_arg_int(drivingStyle);native_invoker.push_arg_float(minDistance);native_invoker.push_arg_float(p7);native_invoker.push_arg_bool(DriveAgainstTraffic);native_invoker.end_call("9454528DF15D657A");end, + -- See TASK_VEHICLE_MISSION + ["TASK_VEHICLE_MISSION_COORS_TARGET"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] p5,--[[int]] p6,--[[int]] p7,--[[float]] p8,--[[float]] p9,--[[BOOL (bool)]] DriveAgainstTraffic)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_bool(DriveAgainstTraffic);native_invoker.end_call("F0AF20AA7731F8C3");end, + -- Makes a ped follow the targetVehicle with in between. + -- + -- note: minDistance is ignored if drivingstyle is avoiding traffic, but Rushed is fine. + -- + -- Mode: The mode defines the relative position to the targetVehicle. The ped will try to position its vehicle there. + -- -1 = behind + -- 0 = ahead + -- 1 = left + -- 2 = right + -- 3 = back left + -- 4 = back right + -- + -- if the target is closer than noRoadsDistance, the driver will ignore pathing/roads and follow you directly. + -- + -- Driving Styles guide: gtaforums.com/topic/822314-guide-driving-styles/ + ["TASK_VEHICLE_ESCORT"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[Vehicle (int)]] targetVehicle,--[[int]] mode,--[[float]] speed,--[[int]] drivingStyle,--[[float]] minDistance,--[[int]] p7,--[[float]] noRoadsDistance)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(targetVehicle);native_invoker.push_arg_int(mode);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(drivingStyle);native_invoker.push_arg_float(minDistance);native_invoker.push_arg_int(p7);native_invoker.push_arg_float(noRoadsDistance);native_invoker.end_call("0FA6E4B75F302400");end, + -- Makes a ped in a vehicle follow an entity (ped, vehicle, etc.) + -- + -- drivingStyle: http://gtaforums.com/topic/822314-guide-driving-styles/ + ["TASK_VEHICLE_FOLLOW"]=--[[void]] function(--[[Ped (int)]] driver,--[[Vehicle (int)]] vehicle,--[[Entity (int)]] targetEntity,--[[float]] speed,--[[int]] drivingStyle,--[[int]] minDistance)native_invoker.begin_call();native_invoker.push_arg_int(driver);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(targetEntity);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(drivingStyle);native_invoker.push_arg_int(minDistance);native_invoker.end_call("FC545A9F0626E3B6");end, + -- chases targetEnt fast and aggressively + -- -- + -- Makes ped (needs to be in vehicle) chase targetEnt. + ["TASK_VEHICLE_CHASE"]=--[[void]] function(--[[Ped (int)]] driver,--[[Entity (int)]] targetEnt)native_invoker.begin_call();native_invoker.push_arg_int(driver);native_invoker.push_arg_int(targetEnt);native_invoker.end_call("3C08A8E30363B353");end, + -- pilot, vehicle and altitude are rather self-explanatory. + -- + -- p4: is unused variable in the function. + -- + -- entityToFollow: you can provide a Vehicle entity or a Ped entity, the heli will protect them. + -- + -- 'targetSpeed': The pilot will dip the nose AS MUCH AS POSSIBLE so as to reach this value AS FAST AS POSSIBLE. As such, you'll want to modulate it as opposed to calling it via a hard-wired, constant #. + -- + -- 'radius' isn't just "stop within radius of X of target" like with ground vehicles. In this case, the pilot will fly an entire circle around 'radius' and continue to do so. + -- + -- NOT CONFIRMED: p7 appears to be a FlyingStyle enum. Still investigating it as of this writing, but playing around with values here appears to result in different -behavior- as opposed to offsetting coordinates, altitude, target speed, etc. + -- + -- NOTE: If the pilot finds enemies, it will engage them until it kills them, but will return to protect the ped/vehicle given shortly thereafter. + ["TASK_VEHICLE_HELI_PROTECT"]=--[[void]] function(--[[Ped (int)]] pilot,--[[Vehicle (int)]] vehicle,--[[Entity (int)]] entityToFollow,--[[float]] targetSpeed,--[[int]] p4,--[[float]] radius,--[[int]] altitude,--[[int]] p7)native_invoker.begin_call();native_invoker.push_arg_int(pilot);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(entityToFollow);native_invoker.push_arg_float(targetSpeed);native_invoker.push_arg_int(p4);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(altitude);native_invoker.push_arg_int(p7);native_invoker.end_call("1E09C32048FEFD1C");end, + -- Flag 8: Medium-aggressive boxing tactic with a bit of PIT + -- Flag 1: Aggressive ramming of suspect + -- Flag 2: Ram attempts + -- Flag 32: Stay back from suspect, no tactical contact. Convoy-like. + -- Flag 16: Ramming, seems to be slightly less aggressive than 1-2. + ["SET_TASK_VEHICLE_CHASE_BEHAVIOR_FLAG"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] flag,--[[BOOL (bool)]] set)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(flag);native_invoker.push_arg_bool(set);native_invoker.end_call("CC665AAC360D31E7");end, + ["SET_TASK_VEHICLE_CHASE_IDEAL_PURSUIT_DISTANCE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] distance)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(distance);native_invoker.end_call("639B642FACBE4EDD");end, + -- Ped pilot should be in a heli. + -- EntityToFollow can be a vehicle or Ped. + -- + -- x,y,z appear to be how close to the EntityToFollow the heli should be. Scripts use 0.0, 0.0, 80.0. Then the heli tries to position itself 80 units above the EntityToFollow. If you reduce it to -5.0, it tries to go below (if the EntityToFollow is a heli or plane) + -- + -- + -- NOTE: If the pilot finds enemies, it will engage them, then remain there idle, not continuing to chase the Entity given. + ["TASK_HELI_CHASE"]=--[[void]] function(--[[Ped (int)]] pilot,--[[Entity (int)]] entityToFollow,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(pilot);native_invoker.push_arg_int(entityToFollow);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("AC83B1DB38D0ADA0");end, + ["TASK_PLANE_CHASE"]=--[[void]] function(--[[Ped (int)]] pilot,--[[Entity (int)]] entityToFollow,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(pilot);native_invoker.push_arg_int(entityToFollow);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("2D2386F273FF7A25");end, + ["TASK_PLANE_LAND"]=--[[void]] function(--[[Ped (int)]] pilot,--[[Vehicle (int)]] plane,--[[float]] runwayStartX,--[[float]] runwayStartY,--[[float]] runwayStartZ,--[[float]] runwayEndX,--[[float]] runwayEndY,--[[float]] runwayEndZ)native_invoker.begin_call();native_invoker.push_arg_int(pilot);native_invoker.push_arg_int(plane);native_invoker.push_arg_float(runwayStartX);native_invoker.push_arg_float(runwayStartY);native_invoker.push_arg_float(runwayStartZ);native_invoker.push_arg_float(runwayEndX);native_invoker.push_arg_float(runwayEndY);native_invoker.push_arg_float(runwayEndZ);native_invoker.end_call("BF19721FA34D32C0");end, + ["_0x6100B3CEFD43452E"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6100B3CEFD43452E");end, + -- Seems to stop the engine + ["_CLEAR_VEHICLE_TASKS"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("DBBC7A2432524127");end, + -- CLEAR_* + ["_0x53DDC75BC3AC0A90"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("53DDC75BC3AC0A90");end, + ["TASK_PLANE_GOTO_PRECISE_VTOL"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("F7F9DCCA89E7505B");end, + ["TASK_SUBMARINE_GOTO_AND_STOP"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("C22B40579A498CA4");end, + -- Needs more research. + -- + -- Default value of p13 is -1.0 or 0xBF800000. + -- Default value of p14 is 0. + -- + -- Modified examples from "fm_mission_controller.ysc", line ~203551: + -- TASK::TASK_HELI_MISSION(ped, vehicle, 0, 0, posX, posY, posZ, 4, 1.0, -1.0, -1.0, 10, 10, 5.0, 0); + -- TASK::TASK_HELI_MISSION(ped, vehicle, 0, 0, posX, posY, posZ, 4, 1.0, -1.0, -1.0, 0, ?, 5.0, 4096); + -- + -- int mode seams to set mission type 4 = coords target, 23 = ped target. + -- int 14 set to 32 = ped will land at destination. + -- + -- My findings: + -- mode 4 or 7 forces heli to snap to the heading set + -- 8 makes the heli flee from the ped. + -- 9 circles around ped with angle set + -- 10, 11 normal + imitate ped heading + -- 20 makes the heli land when he's near the ped. It won't resume chasing. + -- 21 emulates an helicopter crash + -- 23 makes the heli circle erratically around ped + -- + -- I change p2 to 'vehicleToFollow' as it seems to work like the task natives to set targets. In the heli_taxi script where as the merryweather heli takes you to your waypoint it has no need to follow a vehicle or a ped, so of course both have 0 set. + ["TASK_HELI_MISSION"]=--[[void]] function(--[[Ped (int)]] pilot,--[[Vehicle (int)]] aircraft,--[[Vehicle (int)]] targetVehicle,--[[Ped (int)]] targetPed,--[[float]] destinationX,--[[float]] destinationY,--[[float]] destinationZ,--[[int]] missionFlag,--[[float]] maxSpeed,--[[float]] landingRadius,--[[float]] targetHeading,--[[int]] unk1,--[[int]] unk2,--[[Hash (int)]] unk3,--[[int]] landingFlags)native_invoker.begin_call();native_invoker.push_arg_int(pilot);native_invoker.push_arg_int(aircraft);native_invoker.push_arg_int(targetVehicle);native_invoker.push_arg_int(targetPed);native_invoker.push_arg_float(destinationX);native_invoker.push_arg_float(destinationY);native_invoker.push_arg_float(destinationZ);native_invoker.push_arg_int(missionFlag);native_invoker.push_arg_float(maxSpeed);native_invoker.push_arg_float(landingRadius);native_invoker.push_arg_float(targetHeading);native_invoker.push_arg_int(unk1);native_invoker.push_arg_int(unk2);native_invoker.push_arg_int(unk3);native_invoker.push_arg_int(landingFlags);native_invoker.end_call("DAD029E187A2BEB4");end, + ["TASK_HELI_ESCORT_HELI"]=--[[void]] function(--[[Ped (int)]] pilot,--[[Vehicle (int)]] heli1,--[[Vehicle (int)]] heli2,--[[float]] p3,--[[float]] p4,--[[float]] p5)native_invoker.begin_call();native_invoker.push_arg_int(pilot);native_invoker.push_arg_int(heli1);native_invoker.push_arg_int(heli2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.end_call("B385523325077210");end, + -- EXAMPLE USAGE: + -- + -- Fly around target (Precautiously, keeps high altitude): + -- Function.Call(Hash.TASK_PLANE_MISSION, pilot, selectedAirplane, 0, 0, Target.X, Target.Y, Target.Z, 4, 100f, 0f, 90f, 0, 200f); + -- + -- Fly around target (Dangerously, keeps VERY low altitude): + -- Function.Call(Hash.TASK_PLANE_MISSION, pilot, selectedAirplane, 0, 0, Target.X, Target.Y, Target.Z, 4, 100f, 0f, 90f, 0, -500f); + -- + -- Fly directly into target: + -- Function.Call(Hash.TASK_PLANE_MISSION, pilot, selectedAirplane, 0, 0, Target.X, Target.Y, Target.Z, 4, 100f, 0f, 90f, 0, -5000f); + -- + -- EXPANDED INFORMATION FOR ADVANCED USAGE (custom pilot) + -- + -- 'physicsSpeed': (THIS IS NOT YOUR ORDINARY SPEED PARAMETER: READ!!) + -- Think of this -first- as a radius value, not a true speed value. The ACTUAL effective speed of the plane will be that of the maximum speed permissible to successfully fly in a -circle- with a radius of 'physicsSpeed'. This also means that the plane must complete a circle before it can begin its "bombing run", its straight line pass towards the target. p9 appears to influence the angle at which a "bombing run" begins, although I can't confirm yet. + -- + -- VERY IMPORTANT: A "bombing run" will only occur if a plane can successfully determine a possible navigable route (the slower the value of 'physicsSpeed', the more precise the pilot can be due to less influence of physics on flightpath). Otherwise, the pilot will continue to patrol around Destination (be it a dynamic Entity position vector or a fixed world coordinate vector.) + -- + -- 0 = Plane's physics are almost entirely frozen, plane appears to "orbit" around precise destination point + -- 1-299 = Blend of "frozen, small radius" vs. normal vs. "accelerated, hyperfast, large radius" + -- 300+ = Vehicle behaves entirely like a normal gameplay plane. + -- + -- 'patrolBlend' (The lower the value, the more the Destination is treated as a "fly AT" rather than a "fly AROUND point".) + -- + -- Scenario: Destination is an Entity on ground level, wide open field + -- -5000 = Pilot kamikazes directly into Entity + -- -1000 = Pilot flies extremely low -around- Entity, very prone to crashing + -- -200 = Pilot flies lower than average around Entity. + -- 0 = Pilot flies around Entity, normal altitude + -- 200 = Pilot flies an extra eighty units or so higher than 0 while flying around Destination (this doesn't seem to correlate directly into distance units.) + -- + -- -- Valid mission types found in the exe: -- + -- + -- 0 = None + -- 1 = Unk + -- 2 = CTaskVehicleRam + -- 3 = CTaskVehicleBlock + -- 4 = CTaskVehicleGoToPlane + -- 5 = CTaskVehicleStop + -- 6 = CTaskVehicleAttack + -- 7 = CTaskVehicleFollow + -- 8 = CTaskVehicleFleeAirborne + -- 9= CTaskVehicleCircle + -- 10 = CTaskVehicleEscort + -- 15 = CTaskVehicleFollowRecording + -- 16 = CTaskVehiclePoliceBehaviour + -- 17 = CTaskVehicleCrash + ["TASK_PLANE_MISSION"]=--[[void]] function(--[[Ped (int)]] pilot,--[[Vehicle (int)]] aircraft,--[[Vehicle (int)]] targetVehicle,--[[Ped (int)]] targetPed,--[[float]] destinationX,--[[float]] destinationY,--[[float]] destinationZ,--[[int]] missionFlag,--[[float]] angularDrag,--[[float]] unk,--[[float]] targetHeading,--[[float]] maxZ,--[[float]] minZ,--[[Any (int)]] p13)native_invoker.begin_call();native_invoker.push_arg_int(pilot);native_invoker.push_arg_int(aircraft);native_invoker.push_arg_int(targetVehicle);native_invoker.push_arg_int(targetPed);native_invoker.push_arg_float(destinationX);native_invoker.push_arg_float(destinationY);native_invoker.push_arg_float(destinationZ);native_invoker.push_arg_int(missionFlag);native_invoker.push_arg_float(angularDrag);native_invoker.push_arg_float(unk);native_invoker.push_arg_float(targetHeading);native_invoker.push_arg_float(maxZ);native_invoker.push_arg_float(minZ);native_invoker.push_arg_int(p13);native_invoker.end_call("23703CD154E83B88");end, + ["TASK_PLANE_TAXI"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("92C360B5F15D2302");end, + -- You need to call PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS after TASK_BOAT_MISSION in order for the task to execute. + -- + -- Working example + -- float vehicleMaxSpeed = VEHICLE::_GET_VEHICLE_MAX_SPEED(ENTITY::GET_ENTITY_MODEL(pedVehicle)); + -- TASK::TASK_BOAT_MISSION(pedDriver, pedVehicle, 0, 0, waypointCoord.x, waypointCoord.y, waypointCoord.z, 4, vehicleMaxSpeed, 786469, -1.0, 7); + -- PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedDriver, 1); + -- + -- P8 appears to be driving style flag - see gtaforums.com/topic/822314-guide-driving-styles/ for documentation + ["TASK_BOAT_MISSION"]=--[[void]] function(--[[Ped (int)]] pedDriver,--[[Vehicle (int)]] boat,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[float]] x,--[[float]] y,--[[float]] z,--[[Any (int)]] p7,--[[float]] maxSpeed,--[[int]] drivingStyle,--[[float]] p10,--[[Any (int)]] p11)native_invoker.begin_call();native_invoker.push_arg_int(pedDriver);native_invoker.push_arg_int(boat);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(p7);native_invoker.push_arg_float(maxSpeed);native_invoker.push_arg_int(drivingStyle);native_invoker.push_arg_float(p10);native_invoker.push_arg_int(p11);native_invoker.end_call("15C86013127CE63F");end, + -- Example: + -- + -- TASK::TASK_DRIVE_BY(l_467[1/*22*/], PLAYER::PLAYER_PED_ID(), 0, 0.0, 0.0, 2.0, 300.0, 100, 0, ${firing_pattern_burst_fire_driveby}); + -- + -- + -- + -- + -- Needs working example. Doesn't seem to do anything. + -- + -- I marked p2 as targetVehicle as all these shooting related tasks seem to have that in common. + -- I marked p6 as distanceToShoot as if you think of GTA's Logic with the native SET_VEHICLE_SHOOT natives, it won't shoot till it gets within a certain distance of the target. + -- I marked p7 as pedAccuracy as it seems it's mostly 100 (Completely Accurate), 75, 90, etc. Although this could be the ammo count within the gun, but I highly doubt it. I will change this comment once I find out if it's ammo count or not. + ["TASK_DRIVE_BY"]=--[[void]] function(--[[Ped (int)]] driverPed,--[[Ped (int)]] targetPed,--[[Vehicle (int)]] targetVehicle,--[[float]] targetX,--[[float]] targetY,--[[float]] targetZ,--[[float]] distanceToShoot,--[[int]] pedAccuracy,--[[BOOL (bool)]] p8,--[[Hash (int)]] firingPattern)native_invoker.begin_call();native_invoker.push_arg_int(driverPed);native_invoker.push_arg_int(targetPed);native_invoker.push_arg_int(targetVehicle);native_invoker.push_arg_float(targetX);native_invoker.push_arg_float(targetY);native_invoker.push_arg_float(targetZ);native_invoker.push_arg_float(distanceToShoot);native_invoker.push_arg_int(pedAccuracy);native_invoker.push_arg_bool(p8);native_invoker.push_arg_int(firingPattern);native_invoker.end_call("2F8AF0E82773A171");end, + -- For p1 & p2 (Ped, Vehicle). I could be wrong, as the only time this native is called in scripts is once and both are 0, but I assume this native will work like SET_MOUNTED_WEAPON_TARGET in which has the same exact amount of parameters and the 1st and last 3 parameters are right and the same for both natives. + ["SET_DRIVEBY_TASK_TARGET"]=--[[void]] function(--[[Ped (int)]] shootingPed,--[[Ped (int)]] targetPed,--[[Vehicle (int)]] targetVehicle,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(shootingPed);native_invoker.push_arg_int(targetPed);native_invoker.push_arg_int(targetVehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("E5B302114D8162EE");end, + ["CLEAR_DRIVEBY_TASK_UNDERNEATH_DRIVING_TASK"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("C35B5CDB2824CF69");end, + ["IS_DRIVEBY_TASK_UNDERNEATH_DRIVING_TASK"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("8785E6E40C7A8818");return native_invoker.get_return_value_bool();end, + -- Forces the ped to use the mounted weapon. + -- Returns false if task is not possible. + ["CONTROL_MOUNTED_WEAPON"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("DCFE42068FE0135A");return native_invoker.get_return_value_bool();end, + -- Note: Look in decompiled scripts and the times that p1 and p2 aren't 0. They are filled with vars. If you look through out that script what other natives those vars are used in, you can tell p1 is a ped and p2 is a vehicle. Which most likely means if you want the mounted weapon to target a ped set targetVehicle to 0 or vice-versa. + ["SET_MOUNTED_WEAPON_TARGET"]=--[[void]] function(--[[Ped (int)]] shootingPed,--[[Ped (int)]] targetPed,--[[Vehicle (int)]] targetVehicle,--[[float]] x,--[[float]] y,--[[float]] z,--[[Any (int)]] p6,--[[Any (int)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(shootingPed);native_invoker.push_arg_int(targetPed);native_invoker.push_arg_int(targetVehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.end_call("CCD892192C6D2BB9");end, + ["IS_MOUNTED_WEAPON_TASK_UNDERNEATH_DRIVING_TASK"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("A320EF046186FA3B");return native_invoker.get_return_value_bool();end, + -- Actually has 3 params, not 2. + -- + -- p0: Ped + -- p1: int (or bool?) + -- p2: int + ["TASK_USE_MOBILE_PHONE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("BD2A8EC3AF4DE7DB");end, + ["TASK_USE_MOBILE_PHONE_TIMED"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(duration);native_invoker.end_call("5EE02954A14C69DB");end, + -- p2 tend to be 16, 17 or 1 + -- p3 to p7 tend to be 0.0 + ["TASK_CHAT_TO_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] target,--[[Any (int)]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(target);native_invoker.push_arg_int(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.end_call("8C338E0263E4FD19");end, + -- Seat Numbers + -- ------------------------------- + -- Driver = -1 + -- Any = -2 + -- Left-Rear = 1 + -- Right-Front = 0 + -- Right-Rear = 2 + -- Extra seats = 3-14(This may differ from vehicle type e.g. Firetruck Rear Stand, Ambulance Rear) + ["TASK_WARP_PED_INTO_VEHICLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[int]] seat)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(seat);native_invoker.end_call("9A7D091411C5F684");end, + -- //this part of the code is to determine at which entity the player is aiming, for example if you want to create a mod where you give orders to peds + -- Entity aimedentity; + -- Player player = PLAYER::PLAYER_ID(); + -- PLAYER::_GET_AIMED_ENTITY(player, &aimedentity); + -- + -- //bg is an array of peds + -- TASK::TASK_SHOOT_AT_ENTITY(bg[i], aimedentity, 5000, MISC::GET_HASH_KEY("FIRING_PATTERN_FULL_AUTO")); + -- + -- in practical usage, getting the entity the player is aiming at and then task the peds to shoot at the entity, at a button press event would be better. + -- + -- Firing Pattern Hash Information: https://pastebin.com/Px036isB + ["TASK_SHOOT_AT_ENTITY"]=--[[void]] function(--[[Entity (int)]] entity,--[[Entity (int)]] target,--[[int]] duration,--[[Hash (int)]] firingPattern)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(target);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(firingPattern);native_invoker.end_call("08DA95E8298AE772");end, + -- Climbs or vaults the nearest thing. + ["TASK_CLIMB"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] unused)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(unused);native_invoker.end_call("89D9FCC2435112F1");end, + ["TASK_CLIMB_LADDER"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("B6C987F9285A3814");end, + ["TASK_RAPPEL_DOWN_WALL"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9,--[[Any (int)]] p10)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_int(p10);native_invoker.end_call("EAF66ACDDC794793");end, + ["_0x9D252648778160DF"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("9D252648778160DF");return native_invoker.get_return_value_int();end, + -- Immediately stops the pedestrian from whatever it's doing. They stop fighting, animations, etc. they forget what they were doing. + ["CLEAR_PED_TASKS_IMMEDIATELY"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("AAA34F8A7CB32098");end, + ["TASK_PERFORM_SEQUENCE_FROM_PROGRESS"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("89221B16730234F0");end, + -- This native does absolutely nothing, just a nullsub + ["SET_NEXT_DESIRED_MOVE_STATE"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("F1B9F16E89E2C93A");end, + ["SET_PED_DESIRED_MOVE_BLEND_RATIO"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.end_call("1E982AC8716912C5");end, + ["GET_PED_DESIRED_MOVE_BLEND_RATIO"]=--[[float]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("8517D4A6CA8513ED");return native_invoker.get_return_value_float();end, + -- eg + -- + -- TASK::TASK_GOTO_ENTITY_AIMING(v_2, PLAYER::PLAYER_PED_ID(), 5.0, 25.0); + -- + -- ped = Ped you want to perform this task. + -- target = the Entity they should aim at. + -- distanceToStopAt = distance from the target, where the ped should stop to aim. + -- StartAimingDist = distance where the ped should start to aim. + ["TASK_GOTO_ENTITY_AIMING"]=--[[void]] function(--[[Ped (int)]] ped,--[[Entity (int)]] target,--[[float]] distanceToStopAt,--[[float]] StartAimingDist)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(target);native_invoker.push_arg_float(distanceToStopAt);native_invoker.push_arg_float(StartAimingDist);native_invoker.end_call("A9DA48FAB8A76C12");end, + -- p1 is always GET_HASH_KEY("empty") in scripts, for the rare times this is used + ["TASK_SET_DECISION_MAKER"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("EB8517DDA73720DA");end, + ["TASK_SET_SPHERE_DEFENSIVE_AREA"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.end_call("933C06518B52A9A4");end, + ["TASK_CLEAR_DEFENSIVE_AREA"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("95A6C46A31D1917D");end, + ["TASK_PED_SLIDE_TO_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading,--[[float]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.push_arg_float(p5);native_invoker.end_call("D04FE6765D990A06");end, + ["TASK_PED_SLIDE_TO_COORD_HDG_RATE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading,--[[float]] p5,--[[float]] p6)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.end_call("5A4A6A6D3DC64F52");end, + ["ADD_COVER_POINT"]=--[[ScrHandle (int)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_bool(p7);native_invoker.end_call("D5C12A75C7B9497F");return native_invoker.get_return_value_int();end, + ["REMOVE_COVER_POINT"]=--[[void]] function(--[[ScrHandle (int)]] coverpoint)native_invoker.begin_call();native_invoker.push_arg_int(coverpoint);native_invoker.end_call("AE287C923D891715");end, + -- Checks if there is a cover point at position + ["DOES_SCRIPTED_COVER_POINT_EXIST_AT_COORDS"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("A98B8E3C088E5A31");return native_invoker.get_return_value_bool();end, + ["GET_SCRIPTED_COVER_POINT_COORDS"]=--[[Vector3 (vector3)]] function(--[[ScrHandle (int)]] coverpoint)native_invoker.begin_call();native_invoker.push_arg_int(coverpoint);native_invoker.end_call("594A1028FC2A3E85");return native_invoker.get_return_value_vector3();end, + -- Makes the specified ped attack the target ped. + -- p2 should be 0 + -- p3 should be 16 + ["TASK_COMBAT_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] targetPed,--[[int]] p2,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(targetPed);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("F166E48407BAC484");end, + ["TASK_COMBAT_PED_TIMED"]=--[[void]] function(--[[Any (int)]] p0,--[[Ped (int)]] ped,--[[int]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("944F30DCB7096BDE");end, + ["TASK_SEEK_COVER_FROM_POS"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[int]] duration,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(duration);native_invoker.push_arg_bool(p5);native_invoker.end_call("75AC2B60386D89F2");end, + ["TASK_SEEK_COVER_FROM_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] target,--[[int]] duration,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(target);native_invoker.push_arg_int(duration);native_invoker.push_arg_bool(p3);native_invoker.end_call("84D32B3BEC531324");end, + ["TASK_SEEK_COVER_TO_COVER_POINT"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[Any (int)]] p5,--[[BOOL (bool)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_bool(p6);native_invoker.end_call("D43D95C7A869447F");end, + -- from michael2: + -- TASK::TASK_SEEK_COVER_TO_COORDS(ped, 967.5164794921875, -2121.603515625, 30.479299545288086, 978.94677734375, -2125.84130859375, 29.4752, -1, 1); + -- + -- + -- appears to be shorter variation + -- from michael3: + -- TASK::TASK_SEEK_COVER_TO_COORDS(ped, -2231.011474609375, 263.6326599121094, 173.60195922851562, -1, 0); + ["TASK_SEEK_COVER_TO_COORDS"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[Any (int)]] p7,--[[BOOL (bool)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(p7);native_invoker.push_arg_bool(p8);native_invoker.end_call("39246A6958EF072C");end, + ["TASK_PUT_PED_DIRECTLY_INTO_COVER"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[Any (int)]] timeout,--[[BOOL (bool)]] p5,--[[float]] p6,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8,--[[Any (int)]] p9,--[[BOOL (bool)]] p10)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(timeout);native_invoker.push_arg_bool(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_bool(p10);native_invoker.end_call("4172393E6BE1FECE");end, + ["TASK_EXIT_COVER"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.end_call("79B258E397854D29");end, + -- from armenian3.c4 + -- + -- TASK::TASK_PUT_PED_DIRECTLY_INTO_MELEE(PlayerPed, armenianPed, 0.0, -1.0, 0.0, 0); + -- + ["TASK_PUT_PED_DIRECTLY_INTO_MELEE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] meleeTarget,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(meleeTarget);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("1C6CD14A876FFE39");end, + -- used in sequence task + -- + -- both parameters seems to be always 0 + ["TASK_TOGGLE_DUCK"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("AC96609B9995EDF8");end, + -- From re_prisonvanbreak: + -- + -- TASK::TASK_GUARD_CURRENT_POSITION(l_DD, 35.0, 35.0, 1); + ["TASK_GUARD_CURRENT_POSITION"]=--[[void]] function(--[[Ped (int)]] p0,--[[float]] p1,--[[float]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("4A58A47A72E3FCB4");end, + ["TASK_GUARD_ASSIGNED_DEFENSIVE_AREA"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("D2A207EEBDF9889B");end, + -- p0 - Guessing PedID + -- p1, p2, p3 - XYZ? + -- p4 - ??? + -- p5 - Maybe the size of sphere from XYZ? + -- p6 - ??? + -- p7, p8, p9 - XYZ again? + -- p10 - Maybe the size of sphere from second XYZ? + ["TASK_GUARD_SPHERE_DEFENSIVE_AREA"]=--[[void]] function(--[[Ped (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[Any (int)]] p6,--[[float]] p7,--[[float]] p8,--[[float]] p9,--[[float]] p10)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_float(p10);native_invoker.end_call("C946FE14BE0EB5E2");end, + -- scenarioName example: "WORLD_HUMAN_GUARD_STAND" + ["TASK_STAND_GUARD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading,--[[string]] scenarioName)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.push_arg_string(scenarioName);native_invoker.end_call("AE032F8BBA959E90");end, + ["SET_DRIVE_TASK_CRUISE_SPEED"]=--[[void]] function(--[[Ped (int)]] driver,--[[float]] cruiseSpeed)native_invoker.begin_call();native_invoker.push_arg_int(driver);native_invoker.push_arg_float(cruiseSpeed);native_invoker.end_call("5C9B84BD7D31D908");end, + ["SET_DRIVE_TASK_MAX_CRUISE_SPEED"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("404A5AA9B9F0B746");end, + -- This native is used to set the driving style for specific ped. + -- + -- Driving styles id seems to be: + -- 786468 + -- 262144 + -- 786469 + -- + -- http://gtaforums.com/topic/822314-guide-driving-styles/ + ["SET_DRIVE_TASK_DRIVING_STYLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] drivingStyle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(drivingStyle);native_invoker.end_call("DACE1BE37D88AF67");end, + ["ADD_COVER_BLOCKING_AREA"]=--[[void]] function(--[[float]] playerX,--[[float]] playerY,--[[float]] playerZ,--[[float]] radiusX,--[[float]] radiusY,--[[float]] radiusZ,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8,--[[BOOL (bool)]] p9)native_invoker.begin_call();native_invoker.push_arg_float(playerX);native_invoker.push_arg_float(playerY);native_invoker.push_arg_float(playerZ);native_invoker.push_arg_float(radiusX);native_invoker.push_arg_float(radiusY);native_invoker.push_arg_float(radiusZ);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_bool(p9);native_invoker.end_call("45C597097DD7CB81");end, + ["REMOVE_ALL_COVER_BLOCKING_AREAS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("DB6708C0B46F56D8");end, + -- REMOVE_* + ["_0xFA83CA6776038F64"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("FA83CA6776038F64");end, + ["_0x1F351CF1C6475734"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("1F351CF1C6475734");end, + -- Plays a scenario on a Ped at their current location. + -- + -- unkDelay - Usually 0 or -1, doesn't seem to have any effect. Might be a delay between sequences. + -- playEnterAnim - Plays the "Enter" anim if true, otherwise plays the "Exit" anim. Scenarios that don't have any "Enter" anims won't play if this is set to true. + -- + -- ---- + -- + -- From "am_hold_up.ysc.c4" at line 339: + -- + -- TASK::TASK_START_SCENARIO_IN_PLACE(NETWORK::NET_TO_PED(l_8D._f4), sub_adf(), 0, 1); + -- + -- I'm unsure of what the last two parameters are, however sub_adf() randomly returns 1 of 3 scenarios, those being: + -- WORLD_HUMAN_SMOKING + -- WORLD_HUMAN_HANG_OUT_STREET + -- WORLD_HUMAN_STAND_MOBILE + -- + -- This makes sense, as these are what I commonly see when going by a liquor store. + -- ------------------------- + -- List of scenarioNames: pastebin.com/6mrYTdQv + -- (^ Thank you so fucking much for this) + -- + -- Also these: + -- WORLD_FISH_FLEE + -- DRIVE + -- WORLD_HUMAN_HIKER + -- WORLD_VEHICLE_ATTRACTOR + -- WORLD_VEHICLE_BICYCLE_MOUNTAIN + -- WORLD_VEHICLE_BIKE_OFF_ROAD_RACE + -- WORLD_VEHICLE_BIKER + -- WORLD_VEHICLE_CONSTRUCTION_PASSENGERS + -- WORLD_VEHICLE_CONSTRUCTION_SOLO + -- WORLD_VEHICLE_DRIVE_PASSENGERS + -- WORLD_VEHICLE_DRIVE_SOLO + -- WORLD_VEHICLE_EMPTY + -- WORLD_VEHICLE_PARK_PARALLEL + -- WORLD_VEHICLE_PARK_PERPENDICULAR_NOSE_IN + -- WORLD_VEHICLE_POLICE_BIKE + -- WORLD_VEHICLE_POLICE_CAR + -- WORLD_VEHICLE_POLICE_NEXT_TO_CAR + -- WORLD_VEHICLE_SALTON_DIRT_BIKE + -- WORLD_VEHICLE_TRUCK_LOGS + -- + -- Full list of ped scenarios by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json + ["TASK_START_SCENARIO_IN_PLACE"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] scenarioName,--[[int]] unkDelay,--[[BOOL (bool)]] playEnterAnim)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(scenarioName);native_invoker.push_arg_int(unkDelay);native_invoker.push_arg_bool(playEnterAnim);native_invoker.end_call("142A02425FF02BD9");end, + -- Full list of ped scenarios by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json + -- + -- Also a few more listed at TASK::TASK_START_SCENARIO_IN_PLACE just above. + -- --------------- + -- The first parameter in every scenario has always been a Ped of some sort. The second like TASK_START_SCENARIO_IN_PLACE is the name of the scenario. + -- + -- The next 4 parameters were harder to decipher. After viewing "hairdo_shop_mp.ysc.c4", and being confused from seeing the case in other scripts, they passed the first three of the arguments as one array from a function, and it looked like it was obviously x, y, and z. + -- + -- I haven't seen the sixth parameter go to or over 360, making me believe that it is rotation, but I really can't confirm anything. + -- + -- I have no idea what the last 3 parameters are, but I'll try to find out. + -- + -- -going on the last 3 parameters, they appear to always be "0, 0, 1" + -- + -- p6 -1 also used in scrips + -- + -- p7 used for sitting scenarios + -- + -- p8 teleports ped to position + ["TASK_START_SCENARIO_AT_POSITION"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] scenarioName,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading,--[[int]] duration,--[[BOOL (bool)]] sittingScenario,--[[BOOL (bool)]] teleport)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(scenarioName);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.push_arg_int(duration);native_invoker.push_arg_bool(sittingScenario);native_invoker.push_arg_bool(teleport);native_invoker.end_call("FA4EFC79F69D4F07");end, + -- Updated variables + -- + -- An alternative to TASK::TASK_USE_NEAREST_SCENARIO_TO_COORD_WARP. Makes the ped walk to the scenario instead. + ["TASK_USE_NEAREST_SCENARIO_TO_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] distance,--[[int]] duration)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(distance);native_invoker.push_arg_int(duration);native_invoker.end_call("277F471BA9DB000B");end, + ["TASK_USE_NEAREST_SCENARIO_TO_COORD_WARP"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(p5);native_invoker.end_call("58E2E0F23F6B76C3");end, + ["TASK_USE_NEAREST_SCENARIO_CHAIN_TO_COORD"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("9FDA1B3D7E7028B3");end, + ["TASK_USE_NEAREST_SCENARIO_CHAIN_TO_COORD_WARP"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("97A28E63F0BA5631");end, + ["DOES_SCENARIO_EXIST_IN_AREA"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[BOOL (bool)]] b)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(b);native_invoker.end_call("5A59271FFADD33C1");return native_invoker.get_return_value_bool();end, + ["DOES_SCENARIO_OF_TYPE_EXIST_IN_AREA"]=--[[BOOL (bool)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[Any* (pointer)]] p3,--[[float]] p4,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_pointer(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_bool(p5);native_invoker.end_call("0A9D0C2A3BBC86C1");return native_invoker.get_return_value_bool();end, + ["IS_SCENARIO_OCCUPIED"]=--[[BOOL (bool)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("788756D73AC2E07C");return native_invoker.get_return_value_bool();end, + ["PED_HAS_USE_SCENARIO_TASK"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("295E3CCEC879CCD7");return native_invoker.get_return_value_bool();end, + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["PLAY_ANIM_ON_RUNNING_SCENARIO"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] animDict,--[[string]] animName)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(animDict);native_invoker.push_arg_string(animName);native_invoker.end_call("748040460F8DF5DC");end, + -- Occurrences in the b617d scripts: + -- + -- "ARMY_GUARD", + -- "ARMY_HELI", + -- "Cinema_Downtown", + -- "Cinema_Morningwood", + -- "Cinema_Textile", + -- "City_Banks", + -- "Countryside_Banks", + -- "DEALERSHIP", + -- "GRAPESEED_PLANES", + -- "KORTZ_SECURITY", + -- "LOST_BIKERS", + -- "LSA_Planes", + -- "LSA_Planes", + -- "MP_POLICE", + -- "Observatory_Bikers", + -- "POLICE_POUND1", + -- "POLICE_POUND2", + -- "POLICE_POUND3", + -- "POLICE_POUND4", + -- "POLICE_POUND5" + -- "QUARRY", + -- "SANDY_PLANES", + -- "SCRAP_SECURITY", + -- "SEW_MACHINE", + -- "SOLOMON_GATE", + -- "Triathlon_1_Start", + -- "Triathlon_2_Start", + -- "Triathlon_3_Start" + -- + -- Sometimes used with IS_SCENARIO_GROUP_ENABLED: + -- if (TASK::DOES_SCENARIO_GROUP_EXIST("Observatory_Bikers") && (!TASK::IS_SCENARIO_GROUP_ENABLED("Observatory_Bikers"))) { + -- else if (TASK::IS_SCENARIO_GROUP_ENABLED("BLIMP")) { + -- + ["DOES_SCENARIO_GROUP_EXIST"]=--[[BOOL (bool)]] function(--[[string]] scenarioGroup)native_invoker.begin_call();native_invoker.push_arg_string(scenarioGroup);native_invoker.end_call("F9034C136C9E00D3");return native_invoker.get_return_value_bool();end, + -- Occurrences in the b617d scripts: + -- + -- "ARMY_GUARD", + -- "ARMY_HELI", + -- "BLIMP", + -- "Cinema_Downtown", + -- "Cinema_Morningwood", + -- "Cinema_Textile", + -- "City_Banks", + -- "Countryside_Banks", + -- "DEALERSHIP", + -- "KORTZ_SECURITY", + -- "LSA_Planes", + -- "MP_POLICE", + -- "Observatory_Bikers", + -- "POLICE_POUND1", + -- "POLICE_POUND2", + -- "POLICE_POUND3", + -- "POLICE_POUND4", + -- "POLICE_POUND5", + -- "Rampage1", + -- "SANDY_PLANES", + -- "SCRAP_SECURITY", + -- "SEW_MACHINE", + -- "SOLOMON_GATE" + -- + -- Sometimes used with DOES_SCENARIO_GROUP_EXIST: + -- if (TASK::DOES_SCENARIO_GROUP_EXIST("Observatory_Bikers") && (!TASK::IS_SCENARIO_GROUP_ENABLED("Observatory_Bikers"))) { + -- else if (TASK::IS_SCENARIO_GROUP_ENABLED("BLIMP")) { + ["IS_SCENARIO_GROUP_ENABLED"]=--[[BOOL (bool)]] function(--[[string]] scenarioGroup)native_invoker.begin_call();native_invoker.push_arg_string(scenarioGroup);native_invoker.end_call("367A09DED4E05B99");return native_invoker.get_return_value_bool();end, + -- Occurrences in the b617d scripts: pastebin.com/Tvg2PRHU + ["SET_SCENARIO_GROUP_ENABLED"]=--[[void]] function(--[[string]] scenarioGroup,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_string(scenarioGroup);native_invoker.push_arg_bool(p1);native_invoker.end_call("02C8E5B49848664E");end, + ["RESET_SCENARIO_GROUPS_ENABLED"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("DD902D0349AFAD3A");end, + -- Groups found in the scripts used with this native: + -- + -- "AMMUNATION", + -- "QUARRY", + -- "Triathlon_1", + -- "Triathlon_2", + -- "Triathlon_3" + ["SET_EXCLUSIVE_SCENARIO_GROUP"]=--[[void]] function(--[[string]] scenarioGroup)native_invoker.begin_call();native_invoker.push_arg_string(scenarioGroup);native_invoker.end_call("535E97E1F7FC0C6A");end, + ["RESET_EXCLUSIVE_SCENARIO_GROUP"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("4202BBCB8684563D");end, + -- Occurrences in the b617d scripts: + -- "PROP_HUMAN_SEAT_CHAIR", + -- "WORLD_HUMAN_DRINKING", + -- "WORLD_HUMAN_HANG_OUT_STREET", + -- "WORLD_HUMAN_SMOKING", + -- "WORLD_MOUNTAIN_LION_WANDER", + -- "WORLD_HUMAN_DRINKING" + -- + -- Sometimes used together with MISC::IS_STRING_NULL_OR_EMPTY in the scripts. + -- + -- scenarioType could be the same as scenarioName, used in for example TASK::TASK_START_SCENARIO_AT_POSITION. + -- + ["IS_SCENARIO_TYPE_ENABLED"]=--[[BOOL (bool)]] function(--[[string]] scenarioType)native_invoker.begin_call();native_invoker.push_arg_string(scenarioType);native_invoker.end_call("3A815DB3EA088722");return native_invoker.get_return_value_bool();end, + -- seems to enable/disable specific scenario-types from happening in the game world. + -- + -- Here are some scenario types from the scripts: + -- "WORLD_MOUNTAIN_LION_REST" + -- "WORLD_MOUNTAIN_LION_WANDER" + -- "DRIVE" + -- "WORLD_VEHICLE_POLICE_BIKE" + -- "WORLD_VEHICLE_POLICE_CAR" + -- "WORLD_VEHICLE_POLICE_NEXT_TO_CAR" + -- "WORLD_VEHICLE_DRIVE_SOLO" + -- "WORLD_VEHICLE_BIKER" + -- "WORLD_VEHICLE_DRIVE_PASSENGERS" + -- "WORLD_VEHICLE_SALTON_DIRT_BIKE" + -- "WORLD_VEHICLE_BICYCLE_MOUNTAIN" + -- "PROP_HUMAN_SEAT_CHAIR" + -- "WORLD_VEHICLE_ATTRACTOR" + -- "WORLD_HUMAN_LEANING" + -- "WORLD_HUMAN_HANG_OUT_STREET" + -- "WORLD_HUMAN_DRINKING" + -- "WORLD_HUMAN_SMOKING" + -- "WORLD_HUMAN_GUARD_STAND" + -- "WORLD_HUMAN_CLIPBOARD" + -- "WORLD_HUMAN_HIKER" + -- "WORLD_VEHICLE_EMPTY" + -- "WORLD_VEHICLE_BIKE_OFF_ROAD_RACE" + -- "WORLD_HUMAN_PAPARAZZI" + -- "WORLD_VEHICLE_PARK_PERPENDICULAR_NOSE_IN" + -- "WORLD_VEHICLE_PARK_PARALLEL" + -- "WORLD_VEHICLE_CONSTRUCTION_SOLO" + -- "WORLD_VEHICLE_CONSTRUCTION_PASSENGERS" + -- "WORLD_VEHICLE_TRUCK_LOGS" + -- -alphazolam + -- + -- scenarioType could be the same as scenarioName, used in for example TASK::TASK_START_SCENARIO_AT_POSITION. + ["SET_SCENARIO_TYPE_ENABLED"]=--[[void]] function(--[[string]] scenarioType,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_string(scenarioType);native_invoker.push_arg_bool(toggle);native_invoker.end_call("EB47EC4E34FB7EE1");end, + ["RESET_SCENARIO_TYPES_ENABLED"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0D40EE2A7F2B2D6D");end, + ["IS_PED_ACTIVE_IN_SCENARIO"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("AA135F9482C82CC3");return native_invoker.get_return_value_bool();end, + -- Used only once (am_mp_property_int) + -- + -- ped was PLAYER_PED_ID() + -- + -- Related to CTaskAmbientClips. + -- + -- IS_PED_* + ["_0x621C6E4729388E41"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("621C6E4729388E41");return native_invoker.get_return_value_bool();end, + -- Appears only in fm_mission_controller and used only 3 times. + -- + -- ped was always PLAYER_PED_ID() + -- p1 was always true + -- p2 was always true + ["SET_PED_CAN_PLAY_AMBIENT_IDLES"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("8FD89A6240813FD0");end, + -- Despite its name, it only attacks ONE hated target. The one closest to the specified position. + ["TASK_COMBAT_HATED_TARGETS_IN_AREA"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(p5);native_invoker.end_call("4CF5F55DAC3280A0");end, + -- Despite its name, it only attacks ONE hated target. The one closest hated target. + -- + -- p2 seems to be always 0 + ["TASK_COMBAT_HATED_TARGETS_AROUND_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] radius,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(p2);native_invoker.end_call("7BF835BB9E2698C8");end, + ["TASK_COMBAT_HATED_TARGETS_AROUND_PED_TIMED"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("2BBA30B854534A0C");end, + -- In every case of this native, I've only seen the first parameter passed as 0, although I believe it's a Ped after seeing tasks around it using 0. That's because it's used in a Sequence Task. + -- + -- The last 3 parameters are definitely coordinates after seeing them passed in other scripts, and even being used straight from the player's coordinates. + -- --- + -- It seems that - in the decompiled scripts - this native was used on a ped who was in a vehicle to throw a projectile out the window at the player. This is something any ped will naturally do if they have a throwable and they are doing driveby-combat (although not very accurately). + -- It is possible, however, that this is how SWAT throws smoke grenades at the player when in cover. + -- ---------------------------------------------------- + -- The first comment is right it definately is the ped as if you look in script finale_heist2b.c line 59628 in Xbox Scripts atleast you will see task_throw_projectile and the first param is Local_559[2 <14>] if you look above it a little bit line 59622 give_weapon_to_ped uses the same exact param Local_559[2 <14>] and we all know the first param of that native is ped. So it guaranteed has to be ped. 0 just may mean to use your ped by default for some reason. + ["TASK_THROW_PROJECTILE"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("7285951DBF6B5A51");end, + ["TASK_SWAP_WEAPON"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("A21C51255B205245");end, + -- The 2nd param (unused) is not implemented. + -- + -- ----------------------------------------------------------------------- + -- + -- The only occurrence I found in a R* script ("assassin_construction.ysc.c4"): + -- + -- if (((v_3 < v_4) && (TASK::GET_SCRIPT_TASK_STATUS(PLAYER::PLAYER_PED_ID(), 0x6a67a5cc) != 1)) && (v_5 > v_3)) { + -- TASK::TASK_RELOAD_WEAPON(PLAYER::PLAYER_PED_ID(), 1); + -- } + ["TASK_RELOAD_WEAPON"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] unused)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(unused);native_invoker.end_call("62D2916F56B9CD2D");end, + ["IS_PED_GETTING_UP"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("2A74E1D5F2F00EEC");return native_invoker.get_return_value_bool();end, + -- EX: Function.Call(Ped1, Ped2, Time, 0); + -- + -- The last parameter is always 0 for some reason I do not know. The first parameter is the pedestrian who will writhe to the pedestrian in the other parameter. The third paremeter is how long until the Writhe task ends. When the task ends, the ped will die. If set to -1, he will not die automatically, and the task will continue until something causes it to end. This can be being touched by an entity, being shot, explosion, going into ragdoll, having task cleared. Anything that ends the current task will kill the ped at this point. + -- + -- + -- + -- MulleDK19: Third parameter does not appear to be time. The last parameter is not implemented (It's not used, regardless of value). + ["TASK_WRITHE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] target,--[[int]] time,--[[int]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(target);native_invoker.push_arg_int(time);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("CDDC2B77CE54AC6E");end, + -- This native checks if a ped is on the ground, in pain from a (gunshot) wound. + -- Returns `true` if the ped is in writhe, `false` otherwise. + ["IS_PED_IN_WRITHE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("DEB6D52126E7D640");return native_invoker.get_return_value_bool();end, + -- patrolRoutes found in the b617d scripts: + -- "miss_Ass0", + -- "miss_Ass1", + -- "miss_Ass2", + -- "miss_Ass3", + -- "miss_Ass4", + -- "miss_Ass5", + -- "miss_Ass6", + -- "MISS_PATROL_6", + -- "MISS_PATROL_7", + -- "MISS_PATROL_8", + -- "MISS_PATROL_9", + -- "miss_Tower_01", + -- "miss_Tower_02", + -- "miss_Tower_03", + -- "miss_Tower_04", + -- "miss_Tower_05", + -- "miss_Tower_06", + -- "miss_Tower_07", + -- "miss_Tower_08", + -- "miss_Tower_10" + ["OPEN_PATROL_ROUTE"]=--[[void]] function(--[[string]] patrolRoute)native_invoker.begin_call();native_invoker.push_arg_string(patrolRoute);native_invoker.end_call("A36BFB5EE89F3D82");end, + ["CLOSE_PATROL_ROUTE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("B043ECA801B8CBC1");end, + -- Example: + -- TASK::ADD_PATROL_ROUTE_NODE(2, "WORLD_HUMAN_GUARD_STAND", -193.4915, -2378.864990234375, 10.9719, -193.4915, -2378.864990234375, 10.9719, 3000); + -- + -- p0 is between 0 and 4 in the scripts. + -- + -- p1 is "WORLD_HUMAN_GUARD_STAND" or "StandGuard". + -- + -- p2, p3 and p4 is only one parameter sometimes in the scripts. Most likely a Vector3 hence p2, p3 and p4 are coordinates. + -- Examples: + -- TASK::ADD_PATROL_ROUTE_NODE(1, "WORLD_HUMAN_GUARD_STAND", l_739[7/*3*/], 0.0, 0.0, 0.0, 0); + -- + -- TASK::ADD_PATROL_ROUTE_NODE(1, "WORLD_HUMAN_GUARD_STAND", l_B0[17/*44*/]._f3, l_B0[17/*44*/]._f3, 2000); + -- + -- p5, p6 and p7 are for example set to: 1599.0406494140625, 2713.392578125, 44.4309. + -- + -- p8 is an int, often random set to for example: MISC::GET_RANDOM_INT_IN_RANGE(5000, 10000). + ["ADD_PATROL_ROUTE_NODE"]=--[[void]] function(--[[int]] p0,--[[string]] p1,--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[int]] p8)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_string(p1);native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(p8);native_invoker.end_call("8EDF950167586B7C");end, + ["ADD_PATROL_ROUTE_LINK"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("23083260DEC3A551");end, + ["CREATE_PATROL_ROUTE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("AF8A443CCC8018DC");end, + -- From the b617d scripts: + -- + -- TASK::DELETE_PATROL_ROUTE("miss_merc0"); + -- TASK::DELETE_PATROL_ROUTE("miss_merc1"); + -- TASK::DELETE_PATROL_ROUTE("miss_merc2"); + -- TASK::DELETE_PATROL_ROUTE("miss_dock"); + ["DELETE_PATROL_ROUTE"]=--[[void]] function(--[[string]] patrolRoute)native_invoker.begin_call();native_invoker.push_arg_string(patrolRoute);native_invoker.end_call("7767DD9D65E91319");end, + -- After looking at some scripts the second parameter seems to be an id of some kind. Here are some I found from some R* scripts: + -- + -- "miss_Tower_01" (this went from 01 - 10) + -- "miss_Ass0" (0, 4, 6, 3) + -- "MISS_PATROL_8" + -- + -- I think they're patrol routes, but I'm not sure. And I believe the 3rd parameter is a BOOL, but I can't confirm other than only seeing 0 and 1 being passed. + -- + -- + -- As far as I can see the patrol routes names such as "miss_Ass0" have been defined earlier in the scripts. This leads me to believe we can defined our own new patrol routes by following the same approach. + -- From the scripts + -- + -- TASK::OPEN_PATROL_ROUTE("miss_Ass0"); + -- TASK::ADD_PATROL_ROUTE_NODE(0, "WORLD_HUMAN_GUARD_STAND", l_738[0/*3*/], -139.4076690673828, -993.4732055664062, 26.2754, MISC::GET_RANDOM_INT_IN_RANGE(5000, 10000)); + -- TASK::ADD_PATROL_ROUTE_NODE(1, "WORLD_HUMAN_GUARD_STAND", l_738[1/*3*/], -116.1391830444336, -987.4984130859375, 26.38541030883789, MISC::GET_RANDOM_INT_IN_RANGE(5000, 10000)); + -- TASK::ADD_PATROL_ROUTE_NODE(2, "WORLD_HUMAN_GUARD_STAND", l_738[2/*3*/], -128.46847534179688, -979.0340576171875, 26.2754, MISC::GET_RANDOM_INT_IN_RANGE(5000, 10000)); + -- TASK::ADD_PATROL_ROUTE_LINK(0, 1); + -- TASK::ADD_PATROL_ROUTE_LINK(1, 2); + -- TASK::ADD_PATROL_ROUTE_LINK(2, 0); + -- TASK::CLOSE_PATROL_ROUTE(); + -- TASK::CREATE_PATROL_ROUTE(); + -- + -- + ["TASK_PATROL"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] p1,--[[Any (int)]] p2,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("BDA5DF49D080FE4E");end, + -- Makes the ped run to take cover + ["TASK_STAY_IN_COVER"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("E5DA8615A6180789");end, + -- x, y, z: offset in world coords from some entity. + ["ADD_VEHICLE_SUBTASK_ATTACK_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("5CF0D8F9BBA0DD75");end, + ["ADD_VEHICLE_SUBTASK_ATTACK_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] ped2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(ped2);native_invoker.end_call("85F462BADC7DA47F");end, + ["TASK_VEHICLE_SHOOT_AT_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] target,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(target);native_invoker.push_arg_float(p2);native_invoker.end_call("10AB107B887214D8");end, + ["TASK_VEHICLE_AIM_AT_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] target)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(target);native_invoker.end_call("E41885592B08B097");end, + ["TASK_VEHICLE_SHOOT_AT_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p4);native_invoker.end_call("5190796ED39C9B6D");end, + ["TASK_VEHICLE_AIM_AT_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("447C1E9EF844BC0F");end, + -- Differs from TASK_VEHICLE_DRIVE_TO_COORDS in that it will pick the shortest possible road route without taking one-way streets and other "road laws" into consideration. + -- + -- WARNING: + -- A behaviorFlag value of 0 will result in a clunky, stupid driver! + -- + -- Recommended settings: + -- speed = 30.0f, + -- behaviorFlag = 156, + -- stoppingRange = 5.0f; + -- + -- If you simply want to have your driver move to a fixed location, call it only once, or, when necessary in the event of interruption. + -- + -- If using this to continually follow a Ped who is on foot: You will need to run this in a tick loop. Call it in with the Ped's updated coordinates every 20 ticks or so and you will have one hell of a smart, fast-reacting NPC driver -- provided he doesn't get stuck. If your update frequency is too fast, the Ped may not have enough time to figure his way out of being stuck, and thus, remain stuck. One way around this would be to implement an "anti-stuck" mechanism, which allows the driver to realize he's stuck, temporarily pause the tick, unstuck, then resume the tick. + -- + -- EDIT: This is being discussed in more detail at http://gtaforums.com/topic/818504-any-idea-on-how-to-make-peds-clever-and-insanely-fast-c/ + ["TASK_VEHICLE_GOTO_NAVMESH"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] speed,--[[int]] behaviorFlag,--[[float]] stoppingRange)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(behaviorFlag);native_invoker.push_arg_float(stoppingRange);native_invoker.end_call("195AEEB13CEFE2EE");end, + -- movement_speed: mostly 2f, but also 1/1.2f, etc. + -- p8: always false + -- p9: 2f + -- p10: 0.5f + -- p11: true + -- p12: 0 / 512 / 513, etc. + -- p13: 0 + -- firing_pattern: ${firing_pattern_full_auto}, 0xC6EE6B4C + ["TASK_GO_TO_COORD_WHILE_AIMING_AT_COORD"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] aimAtX,--[[float]] aimAtY,--[[float]] aimAtZ,--[[float]] moveSpeed,--[[BOOL (bool)]] p8,--[[float]] p9,--[[float]] p10,--[[BOOL (bool)]] p11,--[[Any (int)]] flags,--[[BOOL (bool)]] p13,--[[Hash (int)]] firingPattern)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(aimAtX);native_invoker.push_arg_float(aimAtY);native_invoker.push_arg_float(aimAtZ);native_invoker.push_arg_float(moveSpeed);native_invoker.push_arg_bool(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_float(p10);native_invoker.push_arg_bool(p11);native_invoker.push_arg_int(flags);native_invoker.push_arg_bool(p13);native_invoker.push_arg_int(firingPattern);native_invoker.end_call("11315AB3385B8AC0");end, + ["TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[Any (int)]] p4,--[[float]] p5,--[[BOOL (bool)]] p6,--[[float]] p7,--[[float]] p8,--[[BOOL (bool)]] p9,--[[Any (int)]] p10,--[[BOOL (bool)]] p11,--[[Any (int)]] p12,--[[Any (int)]] p13)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_bool(p9);native_invoker.push_arg_int(p10);native_invoker.push_arg_bool(p11);native_invoker.push_arg_int(p12);native_invoker.push_arg_int(p13);native_invoker.end_call("B2A16444EAD9AE47");end, + -- The ped will walk or run towards goToLocation, aiming towards goToLocation or focusLocation (depending on the aimingFlag) and shooting if shootAtEnemies = true to any enemy in his path. + -- + -- If the ped is closer than noRoadsDistance, the ped will ignore pathing/navmesh and go towards goToLocation directly. This could cause the ped to get stuck behind tall walls if the goToLocation is on the other side. To avoid this, use 0.0f and the ped will always use pathing/navmesh to reach his destination. + -- + -- If the speed is set to 0.0f, the ped will just stand there while aiming, if set to 1.0f he will walk while aiming, 2.0f will run while aiming. + -- + -- The ped will stop aiming when he is closer than distanceToStopAt to goToLocation. + -- + -- I still can't figure out what unkTrue is used for. I don't notice any difference if I set it to false but in the decompiled scripts is always true. + -- + -- I think that unkFlag, like the driving styles, could be a flag that "work as a list of 32 bits converted to a decimal integer. Each bit acts as a flag, and enables or disables a function". What leads me to this conclusion is the fact that in the decompiled scripts, unkFlag takes values like: 0, 1, 5 (101 in binary) and 4097 (4096 + 1 or 1000000000001 in binary). For now, I don't know what behavior enable or disable this possible flag so I leave it at 0. + -- + -- Note: After some testing, using unkFlag = 16 (0x10) enables the use of sidewalks while moving towards goToLocation. + -- + -- The aimingFlag takes 2 values: 0 to aim at the focusLocation, 1 to aim at where the ped is heading (goToLocation). + -- + -- Example: + -- + -- enum AimFlag + -- { + -- AimAtFocusLocation, + -- AimAtGoToLocation + -- }; + -- + -- Vector3 goToLocation1 = { 996.2867f, 0, -2143.044f, 0, 28.4763f, 0 }; // remember the padding. + -- + -- Vector3 goToLocation2 = { 990.2867f, 0, -2140.044f, 0, 28.4763f, 0 }; // remember the padding. + -- + -- Vector3 focusLocation = { 994.3478f, 0, -2136.118f, 0, 29.2463f, 0 }; // the coord z should be a little higher, around +1.0f to avoid aiming at the ground + -- + -- // 1st example + -- TASK::TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD(pedHandle, goToLocation1.x, goToLocation1.y, goToLocation1.z, focusLocation.x, focusLocation.y, focusLocation.z, 2.0f /*run*/, true /*shoot*/, 3.0f /*stop at*/, 0.0f /*noRoadsDistance*/, true /*always true*/, 0 /*possible flag*/, AimFlag::AimAtGoToLocation, -957453492 /*FullAuto pattern*/); + -- + -- // 2nd example + -- TASK::TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD(pedHandle, goToLocation2.x, goToLocation2.y, goToLocation2.z, focusLocation.x, focusLocation.y, focusLocation.z, 1.0f /*walk*/, false /*don't shoot*/, 3.0f /*stop at*/, 0.0f /*noRoadsDistance*/, true /*always true*/, 0 /*possible flag*/, AimFlag::AimAtFocusLocation, -957453492 /*FullAuto pattern*/); + -- + -- + -- 1st example: The ped (pedhandle) will run towards goToLocation1. While running and aiming towards goToLocation1, the ped will shoot on sight to any enemy in his path, using "FullAuto" firing pattern. The ped will stop once he is closer than distanceToStopAt to goToLocation1. + -- + -- 2nd example: The ped will walk towards goToLocation2. This time, while walking towards goToLocation2 and aiming at focusLocation, the ped will point his weapon on sight to any enemy in his path without shooting. The ped will stop once he is closer than distanceToStopAt to goToLocation2. + ["TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD"]=--[[void]] function(--[[Ped (int)]] pedHandle,--[[float]] goToLocationX,--[[float]] goToLocationY,--[[float]] goToLocationZ,--[[float]] focusLocationX,--[[float]] focusLocationY,--[[float]] focusLocationZ,--[[float]] speed,--[[BOOL (bool)]] shootAtEnemies,--[[float]] distanceToStopAt,--[[float]] noRoadsDistance,--[[BOOL (bool)]] unkTrue,--[[int]] unkFlag,--[[int]] aimingFlag,--[[Hash (int)]] firingPattern)native_invoker.begin_call();native_invoker.push_arg_int(pedHandle);native_invoker.push_arg_float(goToLocationX);native_invoker.push_arg_float(goToLocationY);native_invoker.push_arg_float(goToLocationZ);native_invoker.push_arg_float(focusLocationX);native_invoker.push_arg_float(focusLocationY);native_invoker.push_arg_float(focusLocationZ);native_invoker.push_arg_float(speed);native_invoker.push_arg_bool(shootAtEnemies);native_invoker.push_arg_float(distanceToStopAt);native_invoker.push_arg_float(noRoadsDistance);native_invoker.push_arg_bool(unkTrue);native_invoker.push_arg_int(unkFlag);native_invoker.push_arg_int(aimingFlag);native_invoker.push_arg_int(firingPattern);native_invoker.end_call("A55547801EB331FC");end, + ["TASK_GO_TO_ENTITY_WHILE_AIMING_AT_COORD"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[BOOL (bool)]] p6,--[[float]] p7,--[[float]] p8,--[[BOOL (bool)]] p9,--[[BOOL (bool)]] p10,--[[Any (int)]] p11)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_bool(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_bool(p9);native_invoker.push_arg_bool(p10);native_invoker.push_arg_int(p11);native_invoker.end_call("04701832B739DCE5");end, + -- shootatEntity: + -- If true, peds will shoot at Entity till it is dead. + -- If false, peds will just walk till they reach the entity and will cease shooting. + ["TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY"]=--[[void]] function(--[[Ped (int)]] ped,--[[Entity (int)]] entityToWalkTo,--[[Entity (int)]] entityToAimAt,--[[float]] speed,--[[BOOL (bool)]] shootatEntity,--[[float]] p5,--[[float]] p6,--[[BOOL (bool)]] p7,--[[BOOL (bool)]] p8,--[[Hash (int)]] firingPattern)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(entityToWalkTo);native_invoker.push_arg_int(entityToAimAt);native_invoker.push_arg_float(speed);native_invoker.push_arg_bool(shootatEntity);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_bool(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_int(firingPattern);native_invoker.end_call("97465886D35210E9");end, + -- Makes the ped ragdoll like when falling from a great height + ["SET_HIGH_FALL_TASK"]=--[[void]] function(--[[Ped (int)]] ped,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("8C825BDC7741D37C");end, + -- Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + -- For a full list of the points, see here: goo.gl/wIH0vn + -- + -- Max number of loaded recordings is 32. + ["REQUEST_WAYPOINT_RECORDING"]=--[[void]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("9EEFB62EB27B5792");end, + -- Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + ["GET_IS_WAYPOINT_RECORDING_LOADED"]=--[[BOOL (bool)]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("CB4E8BE8A0063C5D");return native_invoker.get_return_value_bool();end, + -- Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + ["REMOVE_WAYPOINT_RECORDING"]=--[[void]] function(--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.end_call("FF1B8B4AA1C25DC8");end, + -- Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + -- For a full list of the points, see here: goo.gl/wIH0vn + ["WAYPOINT_RECORDING_GET_NUM_POINTS"]=--[[BOOL (bool)]] function(--[[string]] name,--[[int* (pointer)]] points)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_pointer(points);native_invoker.end_call("5343532C01A07234");return native_invoker.get_return_value_bool();end, + -- Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + -- For a full list of the points, see here: goo.gl/wIH0vn + ["WAYPOINT_RECORDING_GET_COORD"]=--[[BOOL (bool)]] function(--[[string]] name,--[[int]] point,--[[Vector3* (pointer)]] coord)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_int(point);native_invoker.push_arg_pointer(coord);native_invoker.end_call("2FB897405C90B361");return native_invoker.get_return_value_bool();end, + -- Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + ["WAYPOINT_RECORDING_GET_SPEED_AT_POINT"]=--[[float]] function(--[[string]] name,--[[int]] point)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_int(point);native_invoker.end_call("005622AEBC33ACA9");return native_invoker.get_return_value_float();end, + -- Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + -- For a full list of the points, see here: goo.gl/wIH0vn + ["WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT"]=--[[BOOL (bool)]] function(--[[string]] name,--[[float]] x,--[[float]] y,--[[float]] z,--[[int* (pointer)]] point)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_pointer(point);native_invoker.end_call("B629A298081F876F");return native_invoker.get_return_value_bool();end, + ["TASK_FOLLOW_WAYPOINT_RECORDING"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("0759591819534F7B");end, + ["IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_PED"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E03B3F2D3DC59B64");return native_invoker.get_return_value_bool();end, + ["GET_PED_WAYPOINT_PROGRESS"]=--[[int]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("2720AAA75001E094");return native_invoker.get_return_value_int();end, + ["GET_PED_WAYPOINT_DISTANCE"]=--[[float]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E6A877C64CAF1BC5");return native_invoker.get_return_value_float();end, + ["SET_PED_WAYPOINT_ROUTE_OFFSET"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("ED98E10B0AFCE4B4");return native_invoker.get_return_value_int();end, + ["GET_WAYPOINT_DISTANCE_ALONG_ROUTE"]=--[[float]] function(--[[string]] p0,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_string(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("A5B769058763E497");return native_invoker.get_return_value_float();end, + ["WAYPOINT_PLAYBACK_GET_IS_PAUSED"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("701375A7D43F01CB");return native_invoker.get_return_value_bool();end, + ["WAYPOINT_PLAYBACK_PAUSE"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("0F342546AA06FED5");end, + ["WAYPOINT_PLAYBACK_RESUME"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("244F70C84C547D2D");end, + ["WAYPOINT_PLAYBACK_OVERRIDE_SPEED"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("7D7D2B47FA788E85");end, + ["WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6599D834B12D0800");end, + ["USE_WAYPOINT_RECORDING_AS_ASSISTED_MOVEMENT_ROUTE"]=--[[void]] function(--[[string]] name,--[[BOOL (bool)]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_string(name);native_invoker.push_arg_bool(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("5A353B8E6B1095B5");end, + ["WAYPOINT_PLAYBACK_START_AIMING_AT_PED"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("20E330937C399D29");end, + ["WAYPOINT_PLAYBACK_START_AIMING_AT_COORD"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("8968400D900ED8B3");end, + ["WAYPOINT_PLAYBACK_START_SHOOTING_AT_PED"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[BOOL (bool)]] p2,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_int(p3);native_invoker.end_call("E70BA7B90F8390DC");end, + ["WAYPOINT_PLAYBACK_START_SHOOTING_AT_COORD"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[BOOL (bool)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_bool(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("057A25CFCC9DB671");end, + ["WAYPOINT_PLAYBACK_STOP_AIMING_OR_SHOOTING"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("47EFA040EBB8E2EA");end, + -- Routes: "1_FIBStairs", "2_FIBStairs", "3_FIBStairs", "4_FIBStairs", "5_FIBStairs", "5_TowardsFire", "6a_FIBStairs", "7_FIBStairs", "8_FIBStairs", "Aprtmnt_1", "AssAfterLift", "ATM_1", "coroner2", "coroner_stairs", "f5_jimmy1", "fame1", "family5b", "family5c", "Family5d", "family5d", "FIB_Glass1", "FIB_Glass2", "FIB_Glass3", "finaBroute1A", "finalb1st", "finalB1sta", "finalbround", "finalbroute2", "Hairdresser1", "jan_foyet_ft_door", "Jo_3", "Lemar1", "Lemar2", "mansion_1", "Mansion_1", "pols_1", "pols_2", "pols_3", "pols_4", "pols_5", "pols_6", "pols_7", "pols_8", "Pro_S1", "Pro_S1a", "Pro_S2", "Towards_case", "trev_steps", "tunrs1", "tunrs2", "tunrs3", "Wave01457s" + ["ASSISTED_MOVEMENT_REQUEST_ROUTE"]=--[[void]] function(--[[string]] route)native_invoker.begin_call();native_invoker.push_arg_string(route);native_invoker.end_call("817268968605947A");end, + ["ASSISTED_MOVEMENT_REMOVE_ROUTE"]=--[[void]] function(--[[string]] route)native_invoker.begin_call();native_invoker.push_arg_string(route);native_invoker.end_call("3548536485DD792B");end, + ["ASSISTED_MOVEMENT_IS_ROUTE_LOADED"]=--[[BOOL (bool)]] function(--[[string]] route)native_invoker.begin_call();native_invoker.push_arg_string(route);native_invoker.end_call("60F9A4393A21F741");return native_invoker.get_return_value_bool();end, + ["ASSISTED_MOVEMENT_SET_ROUTE_PROPERTIES"]=--[[void]] function(--[[string]] route,--[[int]] props)native_invoker.begin_call();native_invoker.push_arg_string(route);native_invoker.push_arg_int(props);native_invoker.end_call("D5002D78B7162E1B");end, + ["ASSISTED_MOVEMENT_OVERRIDE_LOAD_DISTANCE_THIS_FRAME"]=--[[void]] function(--[[float]] dist)native_invoker.begin_call();native_invoker.push_arg_float(dist);native_invoker.end_call("13945951E16EF912");end, + -- task_vehicle_follow_waypoint_recording(Ped p0, Vehicle p1, string p2, int p3, int p4, int p5, int p6, float.x p7, float.Y p8, float.Z p9, bool p10, int p11) + -- + -- p2 = Waypoint recording string (found in update\update.rpf\x64\levels\gta5\waypointrec.rpf + -- p3 = 786468 + -- p4 = 0 + -- p5 = 16 + -- p6 = -1 (angle?) + -- p7/8/9 = usually v3.zero + -- p10 = bool (repeat?) + -- p11 = 1073741824 + -- + -- -khorio + -- + -- Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + ["TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING"]=--[[void]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[string]] WPRecording,--[[int]] p3,--[[int]] p4,--[[int]] p5,--[[int]] p6,--[[float]] p7,--[[BOOL (bool)]] p8,--[[float]] p9)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_string(WPRecording);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_bool(p8);native_invoker.push_arg_float(p9);native_invoker.end_call("3123FAA6DB1CF7ED");end, + ["IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_VEHICLE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("F5134943EA29868C");return native_invoker.get_return_value_bool();end, + ["GET_VEHICLE_WAYPOINT_PROGRESS"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("9824CFF8FC66E159");return native_invoker.get_return_value_int();end, + ["GET_VEHICLE_WAYPOINT_TARGET_POINT"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("416B62AC8B9E5BBD");return native_invoker.get_return_value_int();end, + ["VEHICLE_WAYPOINT_PLAYBACK_PAUSE"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("8A4E6AC373666BC5");end, + ["VEHICLE_WAYPOINT_PLAYBACK_RESUME"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("DC04FCAA7839D492");end, + ["VEHICLE_WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("5CEB25A7D2848963");end, + ["VEHICLE_WAYPOINT_PLAYBACK_OVERRIDE_SPEED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] speed)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(speed);native_invoker.end_call("121F0593E0A431D7");end, + -- I cant believe I have to define this, this is one of the best natives. + -- + -- It makes the ped ignore basically all shocking events around it. Occasionally the ped may comment or gesture, but other than that they just continue their daily activities. This includes shooting and wounding the ped. And - most importantly - they do not flee. + -- + -- Since it is a task, every time the native is called the ped will stop for a moment. + ["TASK_SET_BLOCKING_OF_NON_TEMPORARY_EVENTS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("90D2156198831D69");end, + -- p2 always false + -- + -- [30/03/2017] ins1de : + -- + -- See FORCE_PED_MOTION_STATE + ["TASK_FORCE_MOTION_STATE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] state,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(state);native_invoker.push_arg_bool(p2);native_invoker.end_call("4F056E1AFFEF17AB");end, + -- Example: + -- TASK::TASK_MOVE_NETWORK_BY_NAME(PLAYER::PLAYER_PED_ID(), "arm_wrestling_sweep_paired_a_rev3", 0.0f, true, "mini@arm_wrestling", 0); + ["TASK_MOVE_NETWORK_BY_NAME"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] task,--[[float]] multiplier,--[[BOOL (bool)]] p3,--[[string]] animDict,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(task);native_invoker.push_arg_float(multiplier);native_invoker.push_arg_bool(p3);native_invoker.push_arg_string(animDict);native_invoker.push_arg_int(flags);native_invoker.end_call("2D537BA194896636");end, + -- Example: + -- TASK::TASK_MOVE_NETWORK_ADVANCED_BY_NAME(PLAYER::PLAYER_PED_ID(), "minigame_tattoo_michael_parts", 324.13f, 181.29f, 102.6f, 0.0f, 0.0f, 22.32f, 2, 0, false, 0, 0); + ["TASK_MOVE_NETWORK_ADVANCED_BY_NAME"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[Any (int)]] p8,--[[float]] p9,--[[BOOL (bool)]] p10,--[[string]] animDict,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_bool(p10);native_invoker.push_arg_string(animDict);native_invoker.push_arg_int(flags);native_invoker.end_call("D5B35BEA41919ACB");end, + -- Used only once in the scripts (am_mp_nightclub) + ["_TASK_MOVE_NETWORK_BY_NAME_WITH_INIT_PARAMS"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] p1,--[[Any* (pointer)]] data,--[[float]] p3,--[[BOOL (bool)]] p4,--[[string]] animDict,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(p1);native_invoker.push_arg_pointer(data);native_invoker.push_arg_float(p3);native_invoker.push_arg_bool(p4);native_invoker.push_arg_string(animDict);native_invoker.push_arg_int(flags);native_invoker.end_call("3D45B0B355C5E0C9");end, + ["_0x29682E2CCF21E9B5"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9,--[[Any (int)]] p10,--[[Any (int)]] p11,--[[Any (int)]] p12,--[[Any (int)]] p13)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_int(p10);native_invoker.push_arg_int(p11);native_invoker.push_arg_int(p12);native_invoker.push_arg_int(p13);native_invoker.end_call("29682E2CCF21E9B5");end, + ["IS_TASK_MOVE_NETWORK_ACTIVE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("921CE12C489C4C41");return native_invoker.get_return_value_bool();end, + ["IS_TASK_MOVE_NETWORK_READY_FOR_TRANSITION"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("30ED88D5E0C56A37");return native_invoker.get_return_value_bool();end, + ["REQUEST_TASK_MOVE_NETWORK_STATE_TRANSITION"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(name);native_invoker.end_call("D01015C7316AE176");return native_invoker.get_return_value_bool();end, + -- Used only once in the scripts (fm_mission_controller) like so: + -- + -- TASK::_0xAB13A5565480B6D9(iLocal_3160, "Cutting"); + -- + -- SET_* + ["_0xAB13A5565480B6D9"]=--[[Any (int)]] function(--[[Ped (int)]] ped,--[[string]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(p1);native_invoker.end_call("AB13A5565480B6D9");return native_invoker.get_return_value_int();end, + ["GET_TASK_MOVE_NETWORK_STATE"]=--[[string]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("717E4D1F2048376D");return native_invoker.get_return_value_string();end, + ["_0x8423541E8B3A1589"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("8423541E8B3A1589");end, + -- p0 - PLAYER::PLAYER_PED_ID(); + -- p1 - "Phase", "Wobble", "x_axis","y_axis","introphase","speed". + -- p2 - From what i can see it goes up to 1f (maybe). + -- + -- -LcGamingHD + -- + -- Example: TASK::_D5BB4025AE449A4E(PLAYER::PLAYER_PED_ID(), "Phase", 0.5); + ["SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] signalName,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(signalName);native_invoker.push_arg_float(value);native_invoker.end_call("D5BB4025AE449A4E");end, + ["_SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT_2"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] signalName,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(signalName);native_invoker.push_arg_float(value);native_invoker.end_call("373EF409B82697A3");end, + ["_0x8634CEF2522D987B"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] p1,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(p1);native_invoker.push_arg_float(value);native_invoker.end_call("8634CEF2522D987B");end, + ["SET_TASK_MOVE_NETWORK_SIGNAL_BOOL"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] signalName,--[[BOOL (bool)]] value)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(signalName);native_invoker.push_arg_bool(value);native_invoker.end_call("B0A6CFD2C69C1088");end, + ["_GET_TASK_MOVE_NETWORK_SIGNAL_FLOAT"]=--[[float]] function(--[[Ped (int)]] ped,--[[string]] signalName)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(signalName);native_invoker.end_call("44AB0B3AFECCE242");return native_invoker.get_return_value_float();end, + ["GET_TASK_MOVE_NETWORK_SIGNAL_BOOL"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[string]] signalName)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(signalName);native_invoker.end_call("A7FFBA498E4AAF67");return native_invoker.get_return_value_bool();end, + ["GET_TASK_MOVE_NETWORK_EVENT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[string]] eventName)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(eventName);native_invoker.end_call("B4F47213DF45A64C");return native_invoker.get_return_value_bool();end, + -- Doesn't actually return anything. + ["_0x0FFB3C758E8C07B9"]=--[[Any (int)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("0FFB3C758E8C07B9");return native_invoker.get_return_value_int();end, + ["IS_MOVE_BLEND_RATIO_STILL"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("349CE7B56DAFD95C");return native_invoker.get_return_value_bool();end, + ["IS_MOVE_BLEND_RATIO_WALKING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("F133BBBE91E1691F");return native_invoker.get_return_value_bool();end, + ["IS_MOVE_BLEND_RATIO_RUNNING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("D4D8636C0199A939");return native_invoker.get_return_value_bool();end, + ["IS_MOVE_BLEND_RATIO_SPRINTING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("24A2AD74FA9814E2");return native_invoker.get_return_value_bool();end, + ["IS_PED_STILL"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("AC29253EEF8F0180");return native_invoker.get_return_value_bool();end, + ["IS_PED_WALKING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("DE4C184B2B9B071A");return native_invoker.get_return_value_bool();end, + ["IS_PED_RUNNING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("C5286FFC176F28A2");return native_invoker.get_return_value_bool();end, + ["IS_PED_SPRINTING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("57E457CD2C0FC168");return native_invoker.get_return_value_bool();end, + -- What's strafing? + ["IS_PED_STRAFING"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("E45B7F222DE47E09");return native_invoker.get_return_value_bool();end, + -- TASK::TASK_SYNCHRONIZED_SCENE(ped, scene, "creatures@rottweiler@in_vehicle@std_car", "get_in", 1000.0, -8.0, 4, 0, 0x447a0000, 0); + -- + -- Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + ["TASK_SYNCHRONIZED_SCENE"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] scene,--[[string]] animDictionary,--[[string]] animationName,--[[float]] speed,--[[float]] speedMultiplier,--[[int]] duration,--[[int]] flag,--[[float]] playbackRate,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(scene);native_invoker.push_arg_string(animDictionary);native_invoker.push_arg_string(animationName);native_invoker.push_arg_float(speed);native_invoker.push_arg_float(speedMultiplier);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(flag);native_invoker.push_arg_float(playbackRate);native_invoker.push_arg_int(p9);native_invoker.end_call("EEA929141F699854");end, + ["TASK_AGITATED_ACTION"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] ped2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(ped2);native_invoker.end_call("19D1B791CB3670FE");end, + -- This function is called on peds in vehicles. + -- + -- anim: animation name + -- p2, p3, p4: "sweep_low", "sweep_med" or "sweep_high" + -- p5: no idea what it does but is usually -1 + ["TASK_SWEEP_AIM_ENTITY"]=--[[void]] function(--[[Ped (int)]] ped,--[[string]] anim,--[[string]] p2,--[[string]] p3,--[[string]] p4,--[[int]] p5,--[[Vehicle (int)]] vehicle,--[[float]] p7,--[[float]] p8)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_string(anim);native_invoker.push_arg_string(p2);native_invoker.push_arg_string(p3);native_invoker.push_arg_string(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.end_call("2047C02158D6405A");end, + ["UPDATE_TASK_SWEEP_AIM_ENTITY"]=--[[void]] function(--[[Ped (int)]] ped,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(entity);native_invoker.end_call("E4973DBDBE6E44B3");end, + ["TASK_SWEEP_AIM_POSITION"]=--[[void]] function(--[[Any (int)]] p0,--[[Any* (pointer)]] p1,--[[Any* (pointer)]] p2,--[[Any* (pointer)]] p3,--[[Any* (pointer)]] p4,--[[Any (int)]] p5,--[[float]] p6,--[[float]] p7,--[[float]] p8,--[[float]] p9,--[[float]] p10)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_pointer(p1);native_invoker.push_arg_pointer(p2);native_invoker.push_arg_pointer(p3);native_invoker.push_arg_pointer(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_float(p10);native_invoker.end_call("7AFE8FDC10BC07D2");end, + ["UPDATE_TASK_SWEEP_AIM_POSITION"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("BB106883F5201FC4");end, + -- Example from "me_amanda1.ysc.c4": + -- TASK::TASK_ARREST_PED(l_19F /* This is a Ped */ , PLAYER::PLAYER_PED_ID()); + -- + -- Example from "armenian1.ysc.c4": + -- if (!PED::IS_PED_INJURED(l_B18[0/*1*/])) { + -- TASK::TASK_ARREST_PED(l_B18[0/*1*/], PLAYER::PLAYER_PED_ID()); + -- } + -- + -- I would love to have time to experiment to see if a player Ped can arrest another Ped. Might make for a good cop mod. + -- + -- + -- Looks like only the player can be arrested this way. Peds react and try to arrest you if you task them, but the player charater doesn't do anything if tasked to arrest another ped. + ["TASK_ARREST_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Ped (int)]] target)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(target);native_invoker.end_call("F3B9A78A178572B1");end, + ["IS_PED_RUNNING_ARREST_TASK"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("3DC52677769B4AE0");return native_invoker.get_return_value_bool();end, + -- This function is hard-coded to always return 0. + ["IS_PED_BEING_ARRESTED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("90A09F3A45FED688");return native_invoker.get_return_value_bool();end, + ["UNCUFF_PED"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("67406F2C8F87FC4F");end, + ["IS_PED_CUFFED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("74E559B3BC910685");return native_invoker.get_return_value_bool();end, +} +VEHICLE={ + -- p7 when set to true allows you to spawn vehicles under -100 z. + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["CREATE_VEHICLE"]=--[[Vehicle (int)]] function(--[[Hash (int)]] modelHash,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading,--[[BOOL (bool)]] isNetwork,--[[BOOL (bool)]] netMissionEntity,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.push_arg_bool(isNetwork);native_invoker.push_arg_bool(netMissionEntity);native_invoker.push_arg_bool(p7);native_invoker.end_call("AF35D0D2583051B0");return native_invoker.get_return_value_int();end, + -- Deletes a vehicle. + -- The vehicle must be a mission entity to delete, so call this before deleting: SET_ENTITY_AS_MISSION_ENTITY(vehicle, true, true); + -- + -- eg how to use: + -- SET_ENTITY_AS_MISSION_ENTITY(vehicle, true, true); + -- DELETE_VEHICLE(&vehicle); + -- + -- Deletes the specified vehicle, then sets the handle pointed to by the pointer to NULL. + ["DELETE_VEHICLE"]=--[[void]] function(--[[Vehicle* (pointer)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_pointer(vehicle);native_invoker.end_call("EA386986E786A54F");end, + -- SET_VEHICLE_AL* + ["_0x7D6F9A3EF26136A0"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_bool(p2);native_invoker.end_call("7D6F9A3EF26136A0");end, + -- SET_VEHICLE_AL* + ["_SET_VEHICLE_CAN_BE_LOCKED_ON"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] canBeLockedOn,--[[BOOL (bool)]] unk)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(canBeLockedOn);native_invoker.push_arg_bool(unk);native_invoker.end_call("1DDA078D12879EEE");end, + -- Makes the vehicle accept no passengers. + ["SET_VEHICLE_ALLOW_NO_PASSENGERS_LOCKON"]=--[[void]] function(--[[Vehicle (int)]] veh,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(veh);native_invoker.push_arg_bool(toggle);native_invoker.end_call("5D14D4154BFE7B2C");end, + -- GET_VEHICLE_* + ["_0xE6B0E8CFC3633BF0"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("E6B0E8CFC3633BF0");return native_invoker.get_return_value_int();end, + ["_0x6EAAEFC76ACC311F"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("6EAAEFC76ACC311F");return native_invoker.get_return_value_int();end, + ["_0x407DC5E97DB1A4D3"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("407DC5E97DB1A4D3");end, + ["IS_VEHICLE_MODEL"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(model);native_invoker.end_call("423E8DE37D934D89");return native_invoker.get_return_value_bool();end, + ["DOES_SCRIPT_VEHICLE_GENERATOR_EXIST"]=--[[BOOL (bool)]] function(--[[int]] vehicleGenerator)native_invoker.begin_call();native_invoker.push_arg_int(vehicleGenerator);native_invoker.end_call("F6086BC836400876");return native_invoker.get_return_value_bool();end, + -- Creates a script vehicle generator at the given coordinates. Most parameters after the model hash are unknown. + -- + -- Parameters: + -- x/y/z - Generator position + -- heading - Generator heading + -- p4 - Unknown (always 5.0) + -- p5 - Unknown (always 3.0) + -- modelHash - Vehicle model hash + -- p7/8/9/10 - Unknown (always -1) + -- p11 - Unknown (usually TRUE, only one instance of FALSE) + -- p12/13 - Unknown (always FALSE) + -- p14 - Unknown (usally FALSE, only two instances of TRUE) + -- p15 - Unknown (always TRUE) + -- p16 - Unknown (always -1) + -- + -- Vector3 coords = GET_ENTITY_COORDS(PLAYER_PED_ID(), 0); CREATE_SCRIPT_VEHICLE_GENERATOR(coords.x, coords.y, coords.z, 1.0f, 5.0f, 3.0f, GET_HASH_KEY("adder"), -1. -1, -1, -1, -1, true, false, false, false, true, -1); + ["CREATE_SCRIPT_VEHICLE_GENERATOR"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] heading,--[[float]] p4,--[[float]] p5,--[[Hash (int)]] modelHash,--[[int]] p7,--[[int]] p8,--[[int]] p9,--[[int]] p10,--[[BOOL (bool)]] p11,--[[BOOL (bool)]] p12,--[[BOOL (bool)]] p13,--[[BOOL (bool)]] p14,--[[BOOL (bool)]] p15,--[[int]] p16)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(heading);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.push_arg_int(p10);native_invoker.push_arg_bool(p11);native_invoker.push_arg_bool(p12);native_invoker.push_arg_bool(p13);native_invoker.push_arg_bool(p14);native_invoker.push_arg_bool(p15);native_invoker.push_arg_int(p16);native_invoker.end_call("9DEF883114668116");return native_invoker.get_return_value_int();end, + ["DELETE_SCRIPT_VEHICLE_GENERATOR"]=--[[void]] function(--[[int]] vehicleGenerator)native_invoker.begin_call();native_invoker.push_arg_int(vehicleGenerator);native_invoker.end_call("22102C9ABFCF125D");end, + -- Only called once in the decompiled scripts. Presumably activates the specified generator. + ["SET_SCRIPT_VEHICLE_GENERATOR"]=--[[void]] function(--[[int]] vehicleGenerator,--[[BOOL (bool)]] enabled)native_invoker.begin_call();native_invoker.push_arg_int(vehicleGenerator);native_invoker.push_arg_bool(enabled);native_invoker.end_call("D9D620E0AC6DC4B0");end, + ["SET_ALL_VEHICLE_GENERATORS_ACTIVE_IN_AREA"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[BOOL (bool)]] p6,--[[BOOL (bool)]] p7)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_bool(p6);native_invoker.push_arg_bool(p7);native_invoker.end_call("C12321827687FE4D");end, + ["SET_ALL_VEHICLE_GENERATORS_ACTIVE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("34AD89078831A4BC");end, + ["SET_ALL_LOW_PRIORITY_VEHICLE_GENERATORS_ACTIVE"]=--[[void]] function(--[[BOOL (bool)]] active)native_invoker.begin_call();native_invoker.push_arg_bool(active);native_invoker.end_call("608207E7A8FB787C");end, + -- Related to car generators & CPlayerSwitchMgrLong + -- + -- SET_VEHICLE_* + -- + -- SET_VEHICLE_GENERATORS_EXPECTED_GAMEPLAY_PT ? + ["_0x9A75585FB2E54FAD"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("9A75585FB2E54FAD");end, + -- CLEAR_VEHICLE_* + ["_0x0A436B8643716D14"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0A436B8643716D14");end, + -- Sets a vehicle on the ground on all wheels. Returns whether or not the operation was successful. + -- + -- sfink: This has an additional param(Vehicle vehicle, float p1) which is always set to 5.0f in the b944 scripts. + ["SET_VEHICLE_ON_GROUND_PROPERLY"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p1);native_invoker.end_call("49733E92263139D1");return native_invoker.get_return_value_bool();end, + ["SET_VEHICLE_USE_CUTSCENE_WHEEL_COMPRESSION"]=--[[Any (int)]] function(--[[Vehicle (int)]] p0,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("E023E8AC4EF7C117");return native_invoker.get_return_value_int();end, + ["IS_VEHICLE_STUCK_ON_ROOF"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("B497F06B288DCFDF");return native_invoker.get_return_value_bool();end, + ["ADD_VEHICLE_UPSIDEDOWN_CHECK"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("B72E26D81006005B");end, + ["REMOVE_VEHICLE_UPSIDEDOWN_CHECK"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("C53EB42A499A7E90");end, + -- Returns true if the vehicle's current speed is less than, or equal to 0.0025f. + -- + -- For some vehicles it returns true if the current speed is <= 0.00039999999. + ["IS_VEHICLE_STOPPED"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("5721B434AD84D57A");return native_invoker.get_return_value_bool();end, + -- Gets the number of passengers, NOT including the driver. Use IS_VEHICLE_SEAT_FREE(Vehicle, -1) to also check for the driver + ["GET_VEHICLE_NUMBER_OF_PASSENGERS"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("24CB2137731FFE89");return native_invoker.get_return_value_int();end, + ["GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("A7C4F2C6E744A550");return native_invoker.get_return_value_int();end, + -- Returns max number of passengers (including the driver) for the specified vehicle model. + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["GET_VEHICLE_MODEL_NUMBER_OF_SEATS"]=--[[int]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("2AD93716F184EDA4");return native_invoker.get_return_value_int();end, + ["IS_SEAT_WARP_ONLY"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] seatIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(seatIndex);native_invoker.end_call("F7F203E31F96F6A1");return native_invoker.get_return_value_bool();end, + ["IS_TURRET_SEAT"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] seatIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(seatIndex);native_invoker.end_call("E33FFA906CE74880");return native_invoker.get_return_value_bool();end, + -- Returns true if the vehicle has the FLAG_ALLOWS_RAPPEL flag set. + ["_DOES_VEHICLE_ALLOW_RAPPEL"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("4E417C547182C84D");return native_invoker.get_return_value_bool();end, + -- Use this native inside a looped function. + -- Values: + -- - `0.0` = no vehicles on streets + -- - `1.0` = normal vehicles on streets + ["SET_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME"]=--[[void]] function(--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_float(multiplier);native_invoker.end_call("245A6883D966D537");end, + ["SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME"]=--[[void]] function(--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_float(multiplier);native_invoker.end_call("B3B3359379FE77D3");end, + ["SET_PARKED_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME"]=--[[void]] function(--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_float(multiplier);native_invoker.end_call("EAE6DCC7EEE3DB1D");end, + ["SET_DISABLE_RANDOM_TRAINS_THIS_FRAME"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("D4B8E3D1917BC86B");end, + ["SET_AMBIENT_VEHICLE_RANGE_MULTIPLIER_THIS_FRAME"]=--[[void]] function(--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_float(value);native_invoker.end_call("90B6DA738A9A25DA");end, + ["SET_FAR_DRAW_VEHICLES"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("26324F33423F3CC3");end, + ["SET_NUMBER_OF_PARKED_VEHICLES"]=--[[void]] function(--[[int]] value)native_invoker.begin_call();native_invoker.push_arg_int(value);native_invoker.end_call("CAA15F13EBD417FF");end, + -- 0 - CARLOCK_NONE + -- 1 - CARLOCK_UNLOCKED + -- 2 - CARLOCK_LOCKED (locked) + -- 3 - CARLOCK_LOCKOUT_PLAYER_ONLY + -- 4 - CARLOCK_LOCKED_PLAYER_INSIDE (can get in, can't leave) + -- + -- (maybe, these are leftovers from GTA:VC) + -- 5 - CARLOCK_LOCKED_INITIALLY + -- 6 - CARLOCK_FORCE_SHUT_DOORS + -- 7 - CARLOCK_LOCKED_BUT_CAN_BE_DAMAGED + -- + -- (source: GTA VC miss2 leak, matching constants for 0/2/4, testing) + -- + -- They use 10 in am_mp_property_int, don't know what it does atm. + ["SET_VEHICLE_DOORS_LOCKED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorLockStatus)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorLockStatus);native_invoker.end_call("B664292EAECF7FA6");end, + -- destroyType is 1 for opens on damage, 2 for breaks on damage. + ["_SET_VEHICLE_DOOR_DESTROY_TYPE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex,--[[int]] destroyType)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.push_arg_int(destroyType);native_invoker.end_call("BE70724027F85BCD");end, + -- if set to true, prevents vehicle sirens from having sound, leaving only the lights. + ["SET_VEHICLE_HAS_MUTED_SIRENS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("D8050E0EB60CF274");end, + ["SET_VEHICLE_DOORS_LOCKED_FOR_PLAYER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Player (int)]] player,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(player);native_invoker.push_arg_bool(toggle);native_invoker.end_call("517AAF684BB50CD1");end, + ["GET_VEHICLE_DOORS_LOCKED_FOR_PLAYER"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[Player (int)]] player)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(player);native_invoker.end_call("F6AF6CB341349015");return native_invoker.get_return_value_bool();end, + -- After some analysis, I've decided that these are what the parameters are. + -- + -- We can see this being used in R* scripts such as "am_mp_property_int.ysc.c4": + -- l_11A1 = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 1); + -- ... + -- VEHICLE::SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS(l_11A1, 1); + ["SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("A2F80B8D040727CC");end, + ["SET_VEHICLE_DOORS_LOCKED_FOR_NON_SCRIPT_PLAYERS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("9737A37136F07E75");end, + ["SET_VEHICLE_DOORS_LOCKED_FOR_TEAM"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] team,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(team);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B81F6D4A8F5EEBA8");end, + ["_SET_VEHICLE_DOORS_LOCKED_FOR_UNK"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("203B527D1B77904C");end, + -- SET_VEHICLE_* + ["_0x76D26A22750E849E"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("76D26A22750E849E");end, + -- Explodes a selected vehicle. + -- + -- Vehicle vehicle = Vehicle you want to explode. + -- BOOL isAudible = If explosion makes a sound. + -- BOOL isInvisible = If the explosion is invisible or not. + -- + -- First BOOL does not give any visual explosion, the vehicle just falls apart completely but slowly and starts to burn. + ["EXPLODE_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] isAudible,--[[BOOL (bool)]] isInvisible)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(isAudible);native_invoker.push_arg_bool(isInvisible);native_invoker.end_call("BA71116ADF5B514C");end, + -- Tested on the player's current vehicle. Unless you kill the driver, the vehicle doesn't loose control, however, if enabled, explodeOnImpact is still active. The moment you crash, boom. + ["SET_VEHICLE_OUT_OF_CONTROL"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] killDriver,--[[BOOL (bool)]] explodeOnImpact)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(killDriver);native_invoker.push_arg_bool(explodeOnImpact);native_invoker.end_call("F19D095E42D430CC");end, + ["SET_VEHICLE_TIMED_EXPLOSION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2E0A74E1002380B1");end, + ["ADD_VEHICLE_PHONE_EXPLOSIVE_DEVICE"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("99AD4CCCB128CBC9");end, + ["_CLEAR_VEHICLE_PHONE_EXPLOSIVE_DEVICE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("AA3F739ABDDCF21F");end, + ["HAS_VEHICLE_PHONE_EXPLOSIVE_DEVICE"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("6ADAABD3068C5235");return native_invoker.get_return_value_bool();end, + ["DETONATE_VEHICLE_PHONE_EXPLOSIVE_DEVICE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("EF49CF0270307CBE");end, + -- This is not tested - it's just an assumption. + -- - Nac + -- + -- Doesn't seem to work. I'll try with an int instead. --JT + -- + -- Read the scripts, im dumpass. + -- + -- if (!VEHICLE::IS_TAXI_LIGHT_ON(l_115)) { + -- VEHICLE::SET_TAXI_LIGHTS(l_115, 1); + -- } + ["SET_TAXI_LIGHTS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(state);native_invoker.end_call("598803E85E8448D9");end, + ["IS_TAXI_LIGHT_ON"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("7504C0F113AB50FC");return native_invoker.get_return_value_bool();end, + -- garageName example "Michael - Beverly Hills" + -- + -- Full list of garages by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/garages.json + ["IS_VEHICLE_IN_GARAGE_AREA"]=--[[BOOL (bool)]] function(--[[string]] garageName,--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_string(garageName);native_invoker.push_arg_int(vehicle);native_invoker.end_call("CEE4490CD57BB3C2");return native_invoker.get_return_value_bool();end, + -- colorPrimary & colorSecondary are the paint index for the vehicle. + -- For a list of valid paint indexes, view: pastebin.com/pwHci0xK + -- ------------------------------------------------------------------------- + -- Use this to get the number of color indices: pastebin.com/RQEeqTSM + -- Note: minimum color index is 0, maximum color index is (numColorIndices - 1) + -- + -- Full list of vehicle colors by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleColors.json + ["SET_VEHICLE_COLOURS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] colorPrimary,--[[int]] colorSecondary)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(colorPrimary);native_invoker.push_arg_int(colorSecondary);native_invoker.end_call("4F1D4BE3A7F24601");end, + -- It switch to highbeam when p1 is set to true. + ["SET_VEHICLE_FULLBEAM"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("8B7FD87F0DDB421E");end, + -- p1 (toggle) was always 1 (true) except in one case in the b678 scripts. + ["SET_VEHICLE_IS_RACING"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("07116E24E9D1929D");end, + -- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect) + ["SET_VEHICLE_CUSTOM_PRIMARY_COLOUR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] r,--[[int]] g,--[[int]] b)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.end_call("7141766F91D15BEA");end, + ["GET_VEHICLE_CUSTOM_PRIMARY_COLOUR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int* (pointer)]] r,--[[int* (pointer)]] g,--[[int* (pointer)]] b)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(r);native_invoker.push_arg_pointer(g);native_invoker.push_arg_pointer(b);native_invoker.end_call("B64CF2CCA9D95F52");end, + ["CLEAR_VEHICLE_CUSTOM_PRIMARY_COLOUR"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("55E1D2758F34E437");end, + ["GET_IS_VEHICLE_PRIMARY_COLOUR_CUSTOM"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("F095C0405307B21B");return native_invoker.get_return_value_bool();end, + -- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect) + ["SET_VEHICLE_CUSTOM_SECONDARY_COLOUR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] r,--[[int]] g,--[[int]] b)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.end_call("36CED73BFED89754");end, + ["GET_VEHICLE_CUSTOM_SECONDARY_COLOUR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int* (pointer)]] r,--[[int* (pointer)]] g,--[[int* (pointer)]] b)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(r);native_invoker.push_arg_pointer(g);native_invoker.push_arg_pointer(b);native_invoker.end_call("8389CD56CA8072DC");end, + ["CLEAR_VEHICLE_CUSTOM_SECONDARY_COLOUR"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("5FFBDEEC3E8E2009");end, + -- Check if Vehicle Secondary is avaliable for customize + ["GET_IS_VEHICLE_SECONDARY_COLOUR_CUSTOM"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("910A32E7AAD2656C");return native_invoker.get_return_value_bool();end, + -- formerly known as _SET_VEHICLE_PAINT_FADE + -- + -- The parameter fade is a value from 0-1, where 0 is fresh paint. + ["SET_VEHICLE_ENVEFF_SCALE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] fade)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(fade);native_invoker.end_call("3AFDC536C3D01674");end, + -- formerly known as _GET_VEHICLE_PAINT_FADE + -- + -- The result is a value from 0-1, where 0 is fresh paint. + ["GET_VEHICLE_ENVEFF_SCALE"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("A82819CAC9C4C403");return native_invoker.get_return_value_float();end, + -- Hardcoded to not work in multiplayer. + ["SET_CAN_RESPRAY_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(state);native_invoker.end_call("52BBA29D5EC69356");end, + ["_0xAB31EF4DE6800CE9"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("AB31EF4DE6800CE9");end, + -- Sets a value that appears to affect door opening behavior when damaged. + -- + -- SET_* + ["_0x1B212B26DD3C04DF"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("1B212B26DD3C04DF");end, + ["FORCE_SUBMARINE_SURFACE_MODE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("33506883545AC0DF");end, + ["_0xC67DB108A9ADE3BE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("C67DB108A9ADE3BE");end, + ["SET_SUBMARINE_CRUSH_DEPTHS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1,--[[float]] depth1,--[[float]] depth2,--[[float]] depth3)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.push_arg_float(depth1);native_invoker.push_arg_float(depth2);native_invoker.push_arg_float(depth3);native_invoker.end_call("C59872A5134879C7");end, + ["_GET_SUBMARINE_IS_BELOW_FIRST_CRUSH_DEPTH"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] submarine)native_invoker.begin_call();native_invoker.push_arg_int(submarine);native_invoker.end_call("3E71D0B300B7AA79");return native_invoker.get_return_value_bool();end, + ["_GET_SUBMARINE_CRUSH_DEPTH_WARNING_STATE"]=--[[int]] function(--[[Vehicle (int)]] submarine)native_invoker.begin_call();native_invoker.push_arg_int(submarine);native_invoker.end_call("093D6DDCA5B8FBAE");return native_invoker.get_return_value_int();end, + ["_0xED5EDE9E676643C9"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("ED5EDE9E676643C9");end, + ["SET_BOAT_ANCHOR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("75DBEC174AEEAD10");end, + ["CAN_ANCHOR_BOAT_HERE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("26C10ECBDA5D043B");return native_invoker.get_return_value_bool();end, + ["_CAN_ANCHOR_BOAT_HERE_2"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("24F4121D07579880");return native_invoker.get_return_value_bool();end, + ["_SET_BOAT_FROZEN_WHEN_ANCHORED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("E3EBAAE484798530");end, + -- No observed effect. + ["_0xB28B1FE5BFADD7F5"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("B28B1FE5BFADD7F5");end, + ["_SET_BOAT_MOVEMENT_RESISTANCE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(value);native_invoker.end_call("E842A9398079BD82");end, + -- IS_* + ["_IS_BOAT_ANCHORED_AND_FROZEN"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("B0AD1238A709B1A2");return native_invoker.get_return_value_bool();end, + ["SET_BOAT_SINKS_WHEN_WRECKED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("8F719973E1445BA2");end, + ["_SET_BOAT_IS_SINKING"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("BD32E46AA95C1DD2");end, + -- Activate siren on vehicle (Only works if the vehicle has a siren). + ["SET_VEHICLE_SIREN"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("F4924635A19EB37D");end, + ["IS_VEHICLE_SIREN_ON"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("4C9BF537BE2634B2");return native_invoker.get_return_value_bool();end, + ["IS_VEHICLE_SIREN_AUDIO_ON"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("B5CC40FBCB586380");return native_invoker.get_return_value_bool();end, + -- If set to true, vehicle will not take crash damage, but is still susceptible to damage from bullets and explosives + ["SET_VEHICLE_STRONG"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("3E8C8727991A8A0B");end, + ["REMOVE_VEHICLE_STUCK_CHECK"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("8386BFB614D06749");end, + ["GET_VEHICLE_COLOURS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int* (pointer)]] colorPrimary,--[[int* (pointer)]] colorSecondary)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(colorPrimary);native_invoker.push_arg_pointer(colorSecondary);native_invoker.end_call("A19435F193E081AC");end, + -- Has an additional BOOL parameter since version [???]. + -- + -- Check if a vehicle seat is free. + -- -1 being the driver seat. + -- Use GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS(vehicle) - 1 for last seat index. + ["IS_VEHICLE_SEAT_FREE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] seatIndex,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(seatIndex);native_invoker.push_arg_bool(p2);native_invoker.end_call("22AC59A870E6A669");return native_invoker.get_return_value_bool();end, + -- If there is no ped in the seat, and the game considers the vehicle as ambient population, this will create a random occupant ped in the seat, which may be cleaned up by the game fairly soon if not marked as script-owned mission entity. + -- + -- Seat indexes: + -- -1 = Driver + -- 0 = Front Right Passenger + -- 1 = Back Left Passenger + -- 2 = Back Right Passenger + -- 3 = Further Back Left Passenger (vehicles > 4 seats) + -- 4 = Further Back Right Passenger (vehicles > 4 seats) + -- etc. + -- + -- If p2 is true it uses a different GetOccupant function. + ["GET_PED_IN_VEHICLE_SEAT"]=--[[Ped (int)]] function(--[[Vehicle (int)]] vehicle,--[[int]] seatIndex,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(seatIndex);native_invoker.push_arg_bool(p2);native_invoker.end_call("BB40DD2270B65366");return native_invoker.get_return_value_int();end, + ["GET_LAST_PED_IN_VEHICLE_SEAT"]=--[[Ped (int)]] function(--[[Vehicle (int)]] vehicle,--[[int]] seatIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(seatIndex);native_invoker.end_call("83F969AA1EE2A664");return native_invoker.get_return_value_int();end, + ["GET_VEHICLE_LIGHTS_STATE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[BOOL* (pointer)]] lightsOn,--[[BOOL* (pointer)]] highbeamsOn)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(lightsOn);native_invoker.push_arg_pointer(highbeamsOn);native_invoker.end_call("B91B4C20085BD12F");return native_invoker.get_return_value_bool();end, + -- wheelID used for 4 wheelers seem to be (0, 1, 4, 5) + -- completely - is to check if tire completely gone from rim. + -- + -- '0 = wheel_lf / bike, plane or jet front + -- '1 = wheel_rf + -- '2 = wheel_lm / in 6 wheels trailer, plane or jet is first one on left + -- '3 = wheel_rm / in 6 wheels trailer, plane or jet is first one on right + -- '4 = wheel_lr / bike rear / in 6 wheels trailer, plane or jet is last one on left + -- '5 = wheel_rr / in 6 wheels trailer, plane or jet is last one on right + -- '45 = 6 wheels trailer mid wheel left + -- '47 = 6 wheels trailer mid wheel right + ["IS_VEHICLE_TYRE_BURST"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] wheelID,--[[BOOL (bool)]] completely)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(wheelID);native_invoker.push_arg_bool(completely);native_invoker.end_call("BA291848A0815CA9");return native_invoker.get_return_value_bool();end, + -- SCALE: Setting the speed to 30 would result in a speed of roughly 60mph, according to speedometer. + -- + -- Speed is in meters per second + -- You can convert meters/s to mph here: + -- http://www.calculateme.com/Speed/MetersperSecond/ToMilesperHour.htm + ["SET_VEHICLE_FORWARD_SPEED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] speed)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(speed);native_invoker.end_call("AB54A438726D25D5");end, + ["_0x6501129C9E0FFA05"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("6501129C9E0FFA05");end, + -- This native makes the vehicle stop immediately, as happens when we enter a MP garage. + -- + -- . distance defines how far it will travel until stopping. Garage doors use 3.0. + -- + -- . If killEngine is set to 1, you cannot resume driving the vehicle once it stops. This looks like is a bitmapped integer. + ["BRING_VEHICLE_TO_HALT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] distance,--[[int]] duration,--[[BOOL (bool)]] unknown)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(distance);native_invoker.push_arg_int(duration);native_invoker.push_arg_bool(unknown);native_invoker.end_call("260BE8F09E326A20");end, + ["_0xDCE97BDF8A0EABC8"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("DCE97BDF8A0EABC8");end, + -- Sets some bit of vehicle. + -- _SET_VEHICLE_* + ["_0x9849DE24FCF23CCC"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("9849DE24FCF23CCC");end, + ["_0x8664170EF165C4A6"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("8664170EF165C4A6");end, + ["_0x7C06330BFDDA182E"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7C06330BFDDA182E");end, + -- Checks for value in vehicle + -- _IS_VEHICLE_* + ["_0xC69BB1D832A710EF"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("C69BB1D832A710EF");return native_invoker.get_return_value_bool();end, + -- 0.0 = Lowest 1.0 = Highest. This is best to be used if you wanna pick-up a car since un-realistically on GTA V forklifts can't pick up much of anything due to vehicle mass. If you put this under a car then set it above 0.0 to a 'lifted-value' it will raise the car with no issue lol + ["SET_FORKLIFT_FORK_HEIGHT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] height)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(height);native_invoker.end_call("37EBBF3117BD6A25");end, + ["IS_ENTITY_ATTACHED_TO_HANDLER_FRAME"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(entity);native_invoker.end_call("57715966069157AD");return native_invoker.get_return_value_bool();end, + ["_0x62CA17B74C435651"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("62CA17B74C435651");return native_invoker.get_return_value_bool();end, + -- Finds the vehicle that is carrying this entity with a handler frame. + -- The model of the entity must be prop_contr_03b_ld or the function will return 0. + ["_FIND_VEHICLE_CARRYING_THIS_ENTITY"]=--[[Vehicle (int)]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("375E7FC44F21C8AB");return native_invoker.get_return_value_int();end, + ["_IS_HANDLER_FRAME_ABOVE_CONTAINER"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(entity);native_invoker.end_call("89D630CF5EA96D23");return native_invoker.get_return_value_bool();end, + ["_0x6A98C2ECF57FA5D4"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(entity);native_invoker.end_call("6A98C2ECF57FA5D4");end, + ["DETACH_CONTAINER_FROM_HANDLER_FRAME"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("7C0043FDFF6436BC");end, + ["_0x8AA9180DE2FEDD45"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("8AA9180DE2FEDD45");end, + ["SET_BOAT_DISABLE_AVOIDANCE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("0A6A279F3AA4FD70");end, + ["IS_HELI_LANDING_AREA_BLOCKED"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("634148744F385576");return native_invoker.get_return_value_bool();end, + -- Used on helicopters and blimps during the CTaskVehicleLand task. Sets a value on the task to 10f + ["_0x107A473D7A6647A9"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("107A473D7A6647A9");end, + ["SET_HELI_TURBULENCE_SCALAR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p1);native_invoker.end_call("E6F13851780394DA");end, + -- Initially used in Max Payne 3, that's why we know the name. + ["SET_CAR_BOOT_OPEN"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("FC40CBF7B90CA77C");end, + -- "To burst tyres VEHICLE::SET_VEHICLE_TYRE_BURST(vehicle, 0, true, 1000.0) + -- to burst all tyres type it 8 times where p1 = 0 to 7. + -- + -- p3 seems to be how much damage it has taken. 0 doesn't deflate them, 1000 completely deflates them. + -- + -- '0 = wheel_lf / bike, plane or jet front + -- '1 = wheel_rf + -- '2 = wheel_lm / in 6 wheels trailer, plane or jet is first one on left + -- '3 = wheel_rm / in 6 wheels trailer, plane or jet is first one on right + -- '4 = wheel_lr / bike rear / in 6 wheels trailer, plane or jet is last one on left + -- '5 = wheel_rr / in 6 wheels trailer, plane or jet is last one on right + -- '45 = 6 wheels trailer mid wheel left + -- '47 = 6 wheels trailer mid wheel right + ["SET_VEHICLE_TYRE_BURST"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] index,--[[BOOL (bool)]] onRim,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(index);native_invoker.push_arg_bool(onRim);native_invoker.push_arg_float(p3);native_invoker.end_call("EC6A202EE4960385");end, + -- Closes all doors of a vehicle: + ["SET_VEHICLE_DOORS_SHUT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] closeInstantly)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(closeInstantly);native_invoker.end_call("781B3D62BB013EF5");end, + -- Allows you to toggle bulletproof tires. + ["SET_VEHICLE_TYRES_CAN_BURST"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("EB9DC3C7D8596C46");end, + ["GET_VEHICLE_TYRES_CAN_BURST"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("678B9BB8C3F58FEB");return native_invoker.get_return_value_bool();end, + ["SET_VEHICLE_WHEELS_CAN_BREAK"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] enabled)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(enabled);native_invoker.end_call("29B18B4FD460CA8F");end, + -- doorIndex: + -- 0 = Front Left Door + -- 1 = Front Right Door + -- 2 = Back Left Door + -- 3 = Back Right Door + -- 4 = Hood + -- 5 = Trunk + -- 6 = Back + -- 7 = Back2 + ["SET_VEHICLE_DOOR_OPEN"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex,--[[BOOL (bool)]] loose,--[[BOOL (bool)]] openInstantly)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.push_arg_bool(loose);native_invoker.push_arg_bool(openInstantly);native_invoker.end_call("7C65DAC73C35C862");end, + ["_0x3B458DDB57038F08"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("3B458DDB57038F08");end, + ["_0xA247F9EF01D8082E"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A247F9EF01D8082E");end, + -- windowIndex: + -- 0 = Front Right Window + -- 1 = Front Left Window + -- 2 = Back Right Window + -- 3 = Back Left Window + -- 4 = Unknown + -- 5 = Unknown + -- 6 = Windscreen + -- 7 = Rear Windscreen + ["REMOVE_VEHICLE_WINDOW"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] windowIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(windowIndex);native_invoker.end_call("A711568EEDB43069");end, + -- Roll down all the windows of the vehicle passed through the first parameter. + ["ROLL_DOWN_WINDOWS"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("85796B0549DDE156");end, + -- windowIndex: + -- 0 = Front Right Window + -- 1 = Front Left Window + -- 2 = Back Right Window + -- 3 = Back Left Window + ["ROLL_DOWN_WINDOW"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] windowIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(windowIndex);native_invoker.end_call("7AD9E6CE657D69E3");end, + -- Window indexes: + -- 0 = Front Left Window + -- 1 = Front Right Window + -- 2 = Back Left Window + -- 3 = Back Right Window + ["ROLL_UP_WINDOW"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] windowIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(windowIndex);native_invoker.end_call("602E548F46E24D59");end, + -- `index` = 0 to 13 + -- 0 = front right window + -- 1 = front left window + -- 2 = rear right window + -- 3 = rear left window + -- 4 = unsure + -- 5 = unsure + -- 6 = windowscreen + -- 7 = rear windowscreen + -- 8 = unsure + -- 9 = unsure + -- 10 = unsure + -- 11 = unsure + -- 12 = unsure + -- 13 = unsure + ["SMASH_VEHICLE_WINDOW"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(index);native_invoker.end_call("9E5B5E4D2CCD2259");end, + -- `index` = 0 to 13 + -- 0 = front right window + -- 1 = front left window + -- 2 = rear right window + -- 3 = rear left window + -- 4 = unsure + -- 5 = unsure + -- 6 = windowscreen + -- 7 = rear windowscreen + -- 8 = unsure + -- 9 = unsure + -- 10 = unsure + -- 11 = unsure + -- 12 = unsure + -- 13 = unsure + -- + -- Additional information: FIX_VEHICLE_WINDOW (0x140D0BB88) references an array of bone vehicle indices (0x141D4B3E0) { 2Ah, 2Bh, 2Ch, 2Dh, 2Eh, 2Fh, 28h, 29h } that correspond to: window_lf, window_rf, window_lr, window_rr, window_lm, window_rm, windscreen, windscreen_r. This array is used by most vehwindow natives. + -- + -- Also, this function is coded to not work on vehicles of type: CBike, Bmx, CBoat, CTrain, and CSubmarine. + ["FIX_VEHICLE_WINDOW"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(index);native_invoker.end_call("772282EBEB95E682");end, + -- Detaches the vehicle's windscreen. + -- For further information, see : gtaforums.com/topic/859570-glass/#entry1068894566 + -- + -- Old name: _DETACH_VEHICLE_WINDSCREEN + ["POP_OUT_VEHICLE_WINDSCREEN"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("6D645D59FB5F5AD3");end, + ["_EJECT_JB700_ROOF"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("E38CB9D7D39FDBCC");end, + -- set's if the vehicle has lights or not. + -- not an on off toggle. + -- p1 = 0 ;vehicle normal lights, off then lowbeams, then highbeams + -- p1 = 1 ;vehicle doesn't have lights, always off + -- p1 = 2 ;vehicle has always on lights + -- p1 = 3 ;or even larger like 4,5,... normal lights like =1 + -- note1: when using =2 on day it's lowbeam,highbeam + -- but at night it's lowbeam,lowbeam,highbeam + -- note2: when using =0 it's affected by day or night for highbeams don't exist in daytime. + ["SET_VEHICLE_LIGHTS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] state)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(state);native_invoker.end_call("34E710FF01247C5A");end, + ["SET_VEHICLE_USE_PLAYER_LIGHT_SETTINGS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C45C27EF50F36ADC");end, + -- p1 can be either 0, 1 or 2. + -- + -- Determines how vehicle lights behave when toggled. + -- + -- 0 = Default (Lights can be toggled between off, normal and high beams) + -- 1 = Lights Disabled (Lights are fully disabled, cannot be toggled) + -- 2 = Always On (Lights can be toggled between normal and high beams) + ["_SET_VEHICLE_LIGHTS_MODE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.end_call("1FD09E7390A74D54");end, + ["SET_VEHICLE_ALARM"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(state);native_invoker.end_call("CDE5E70C1DDB954C");end, + ["START_VEHICLE_ALARM"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("B8FF7AB45305C345");end, + ["IS_VEHICLE_ALARM_ACTIVATED"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("4319E335B71FFF34");return native_invoker.get_return_value_bool();end, + ["SET_VEHICLE_INTERIORLIGHT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("BC2042F090AF6AD3");end, + -- Sets some bit of vehicle + -- _SET_VEHICLE_* + ["_0x8821196D91FA2DE5"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("8821196D91FA2DE5");end, + -- multiplier = brightness of head lights. + -- this value isn't capped afaik. + -- + -- multiplier = 0.0 no lights + -- multiplier = 1.0 default game value + -- + ["SET_VEHICLE_LIGHT_MULTIPLIER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(multiplier);native_invoker.end_call("B385454F8791F57C");end, + ["ATTACH_VEHICLE_TO_TRAILER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Vehicle (int)]] trailer,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(trailer);native_invoker.push_arg_float(radius);native_invoker.end_call("3C7D42D58F770B54");end, + -- This is the proper way of attaching vehicles to the car carrier, it's what Rockstar uses. Video Demo: https://www.youtube.com/watch?v=2lVEIzf7bgo + ["ATTACH_VEHICLE_ON_TO_TRAILER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Vehicle (int)]] trailer,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ,--[[float]] coordsX,--[[float]] coordsY,--[[float]] coordsZ,--[[float]] rotationX,--[[float]] rotationY,--[[float]] rotationZ,--[[float]] disableCollisions)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(trailer);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.push_arg_float(coordsX);native_invoker.push_arg_float(coordsY);native_invoker.push_arg_float(coordsZ);native_invoker.push_arg_float(rotationX);native_invoker.push_arg_float(rotationY);native_invoker.push_arg_float(rotationZ);native_invoker.push_arg_float(disableCollisions);native_invoker.end_call("16B5E274BDE402F8");end, + ["STABILISE_ENTITY_ATTACHED_TO_HELI"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Entity (int)]] entity,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(p2);native_invoker.end_call("374706271354CB18");end, + ["DETACH_VEHICLE_FROM_TRAILER"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("90532EDF0D2BDD86");end, + ["IS_VEHICLE_ATTACHED_TO_TRAILER"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("E7CF3C4F9F489F0C");return native_invoker.get_return_value_bool();end, + ["SET_TRAILER_INVERSE_MASS_SCALE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p1);native_invoker.end_call("2A8F319B392E7B3F");end, + -- in the decompiled scripts, seems to be always called on the vehicle right after being attached to a trailer. + ["SET_TRAILER_LEGS_RAISED"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("95CF53B3D687F9FA");end, + ["_SET_TRAILER_LEGS_LOWERED"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("878C75C09FBDB942");end, + -- tyreIndex = 0 to 4 on normal vehicles + -- + -- '0 = wheel_lf / bike, plane or jet front + -- '1 = wheel_rf + -- '2 = wheel_lm / in 6 wheels trailer, plane or jet is first one on left + -- '3 = wheel_rm / in 6 wheels trailer, plane or jet is first one on right + -- '4 = wheel_lr / bike rear / in 6 wheels trailer, plane or jet is last one on left + -- '5 = wheel_rr / in 6 wheels trailer, plane or jet is last one on right + -- '45 = 6 wheels trailer mid wheel left + -- '47 = 6 wheels trailer mid wheel right + ["SET_VEHICLE_TYRE_FIXED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] tyreIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(tyreIndex);native_invoker.end_call("6E13FC662B882D1D");end, + -- Sets a vehicle's license plate text. 8 chars maximum. + -- + -- Example: + -- Ped playerPed = PLAYER::PLAYER_PED_ID(); + -- Vehicle veh = PED::GET_VEHICLE_PED_IS_USING(playerPed); + -- char *plateText = "KING"; + -- VEHICLE::SET_VEHICLE_NUMBER_PLATE_TEXT(veh, plateText); + ["SET_VEHICLE_NUMBER_PLATE_TEXT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[string]] plateText)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_string(plateText);native_invoker.end_call("95A88F0B409CDA47");end, + -- Returns the license plate text from a vehicle. 8 chars maximum. + ["GET_VEHICLE_NUMBER_PLATE_TEXT"]=--[[string]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("7CE1CCB9B293020E");return native_invoker.get_return_value_string();end, + -- Returns the number of *types* of licence plates, enumerated below in SET_VEHICLE_NUMBER_PLATE_TEXT_INDEX. + ["GET_NUMBER_OF_VEHICLE_NUMBER_PLATES"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("4C4D6B2644F458CB");return native_invoker.get_return_value_int();end, + -- Plates: + -- Blue/White - 0 + -- Yellow/black - 1 + -- Yellow/Blue - 2 + -- Blue/White2 - 3 + -- Blue/White3 - 4 + -- Yankton - 5 + ["SET_VEHICLE_NUMBER_PLATE_TEXT_INDEX"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] plateIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(plateIndex);native_invoker.end_call("9088EB5A43FFB0A1");end, + -- Returns the PlateType of a vehicle + -- Blue_on_White_1 = 3, + -- Blue_on_White_2 = 0, + -- Blue_on_White_3 = 4, + -- Yellow_on_Blue = 2, + -- Yellow_on_Black = 1, + -- North_Yankton = 5, + ["GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("F11BC2DD9A3E7195");return native_invoker.get_return_value_int();end, + ["SET_RANDOM_TRAINS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("80D9F74197EA47D9");end, + -- Train models HAVE TO be loaded (requested) before you use this. + -- For variation 15 - request: + -- + -- freight + -- freightcar + -- freightgrain + -- freightcont1 + -- freightcont2 + -- freighttrailer + -- + -- + ["CREATE_MISSION_TRAIN"]=--[[Vehicle (int)]] function(--[[int]] variation,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] direction)native_invoker.begin_call();native_invoker.push_arg_int(variation);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(direction);native_invoker.end_call("63C6CCA8E68AE8C8");return native_invoker.get_return_value_int();end, + -- Toggles whether ambient trains can spawn on the specified track or not + -- + -- `trackId` is the internal id of the train track to switch. + -- `state` is whether ambient trains can spawn or not + -- + -- trackIds + -- 0 (`trains1.dat`) Main track around SA + -- 1 (`trains2.dat`) Davis Quartz Quarry branch + -- 2 (`trains3.dat`) Second track alongside live track along Roy Lewenstein Blv. + -- 3 (`trains4.dat`) Metro track circuit + -- 4 (`trains5.dat`) Branch in Mirror Park Railyard + -- 5 (`trains6.dat`) Branch in Mirror Park Railyard + -- 6 (`trains7.dat`) LS branch to Mirror Park Railyard + -- 7 (`trains8.dat`) Overground part of metro track along Forum Dr. + -- 8 (`trains9.dat`) Branch to Mirror Park Railyard + -- 9 (`trains10.dat`) Yankton train + -- 10 (`trains11.dat`) Part of metro track near mission row + -- 11 (`trains12.dat`) Yankton prologue mission train + ["SWITCH_TRAIN_TRACK"]=--[[void]] function(--[[int]] trackId,--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_int(trackId);native_invoker.push_arg_bool(state);native_invoker.end_call("FD813BB7DB977F20");end, + -- Only called once inside main_persitant with the parameters p0 = 0, p1 = 120000 + -- + -- trackIndex: 0 - 26 + ["SET_TRAIN_TRACK_SPAWN_FREQUENCY"]=--[[void]] function(--[[int]] trackIndex,--[[int]] frequency)native_invoker.begin_call();native_invoker.push_arg_int(trackIndex);native_invoker.push_arg_int(frequency);native_invoker.end_call("21973BBF8D17EDFA");end, + ["DELETE_ALL_TRAINS"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("736A718577F39C7D");end, + ["SET_TRAIN_SPEED"]=--[[void]] function(--[[Vehicle (int)]] train,--[[float]] speed)native_invoker.begin_call();native_invoker.push_arg_int(train);native_invoker.push_arg_float(speed);native_invoker.end_call("AA0BC91BE0B796E3");end, + ["SET_TRAIN_CRUISE_SPEED"]=--[[void]] function(--[[Vehicle (int)]] train,--[[float]] speed)native_invoker.begin_call();native_invoker.push_arg_int(train);native_invoker.push_arg_float(speed);native_invoker.end_call("16469284DB8C62B5");end, + ["SET_RANDOM_BOATS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("84436EC293B1415F");end, + ["SET_GARBAGE_TRUCKS"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("2AFD795EEAC8D30D");end, + -- Maximum amount of vehicles with vehicle stuck check appears to be 16. + ["DOES_VEHICLE_HAVE_STUCK_VEHICLE_CHECK"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("57E4C39DE5EE8470");return native_invoker.get_return_value_bool();end, + -- See REQUEST_VEHICLE_RECORDING + ["GET_VEHICLE_RECORDING_ID"]=--[[int]] function(--[[int]] recording,--[[string]] script)native_invoker.begin_call();native_invoker.push_arg_int(recording);native_invoker.push_arg_string(script);native_invoker.end_call("21543C612379DB3C");return native_invoker.get_return_value_int();end, + -- Request the vehicle recording defined by the lowercase format string "%s%03d.yvr". For example, REQUEST_VEHICLE_RECORDING(1, "FBIs1UBER") corresponds to fbis1uber001.yvr. + -- For all vehicle recording/playback natives, "script" is a common prefix that usually corresponds to the script/mission the recording is used in, "recording" is its int suffix, and "id" (e.g., in native GET_TOTAL_DURATION_OF_VEHICLE_RECORDING_ID) corresponds to a unique identifier within the recording streaming module. + -- Note that only 24 recordings (hardcoded in multiple places) can ever active at a given time before clobbering begins. + ["REQUEST_VEHICLE_RECORDING"]=--[[void]] function(--[[int]] recording,--[[string]] script)native_invoker.begin_call();native_invoker.push_arg_int(recording);native_invoker.push_arg_string(script);native_invoker.end_call("AF514CABE74CBF15");end, + -- See REQUEST_VEHICLE_RECORDING + ["HAS_VEHICLE_RECORDING_BEEN_LOADED"]=--[[BOOL (bool)]] function(--[[int]] recording,--[[string]] script)native_invoker.begin_call();native_invoker.push_arg_int(recording);native_invoker.push_arg_string(script);native_invoker.end_call("300D614A4C785FC4");return native_invoker.get_return_value_bool();end, + -- See REQUEST_VEHICLE_RECORDING + ["REMOVE_VEHICLE_RECORDING"]=--[[void]] function(--[[int]] recording,--[[string]] script)native_invoker.begin_call();native_invoker.push_arg_int(recording);native_invoker.push_arg_string(script);native_invoker.end_call("F1160ACCF98A3FC8");end, + ["GET_POSITION_OF_VEHICLE_RECORDING_ID_AT_TIME"]=--[[Vector3 (vector3)]] function(--[[int]] id,--[[float]] time)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.push_arg_float(time);native_invoker.end_call("92523B76657A517D");return native_invoker.get_return_value_vector3();end, + -- This native does no interpolation between pathpoints. The same position will be returned for all times up to the next pathpoint in the recording. + -- + -- See REQUEST_VEHICLE_RECORDING + ["GET_POSITION_OF_VEHICLE_RECORDING_AT_TIME"]=--[[Vector3 (vector3)]] function(--[[int]] recording,--[[float]] time,--[[string]] script)native_invoker.begin_call();native_invoker.push_arg_int(recording);native_invoker.push_arg_float(time);native_invoker.push_arg_string(script);native_invoker.end_call("D242728AA6F0FBA2");return native_invoker.get_return_value_vector3();end, + ["GET_ROTATION_OF_VEHICLE_RECORDING_ID_AT_TIME"]=--[[Vector3 (vector3)]] function(--[[int]] id,--[[float]] time)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.push_arg_float(time);native_invoker.end_call("F0F2103EFAF8CBA7");return native_invoker.get_return_value_vector3();end, + -- This native does no interpolation between pathpoints. The same rotation will be returned for all times up to the next pathpoint in the recording. + -- + -- See REQUEST_VEHICLE_RECORDING + ["GET_ROTATION_OF_VEHICLE_RECORDING_AT_TIME"]=--[[Vector3 (vector3)]] function(--[[int]] recording,--[[float]] time,--[[string]] script)native_invoker.begin_call();native_invoker.push_arg_int(recording);native_invoker.push_arg_float(time);native_invoker.push_arg_string(script);native_invoker.end_call("2058206FBE79A8AD");return native_invoker.get_return_value_vector3();end, + ["GET_TOTAL_DURATION_OF_VEHICLE_RECORDING_ID"]=--[[float]] function(--[[int]] id)native_invoker.begin_call();native_invoker.push_arg_int(id);native_invoker.end_call("102D125411A7B6E6");return native_invoker.get_return_value_float();end, + -- See REQUEST_VEHICLE_RECORDING + ["GET_TOTAL_DURATION_OF_VEHICLE_RECORDING"]=--[[float]] function(--[[int]] recording,--[[string]] script)native_invoker.begin_call();native_invoker.push_arg_int(recording);native_invoker.push_arg_string(script);native_invoker.end_call("0E48D1C262390950");return native_invoker.get_return_value_float();end, + -- Distance traveled in the vehicles current recording. + ["GET_POSITION_IN_RECORDING"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("2DACD605FC681475");return native_invoker.get_return_value_float();end, + -- Can be used with GET_TOTAL_DURATION_OF_VEHICLE_RECORDING{_ID} to compute a percentage. + ["GET_TIME_POSITION_IN_RECORDING"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("5746F3A7AB7FE544");return native_invoker.get_return_value_float();end, + -- p3 is some flag related to 'trailers' (invokes CVehicle::GetTrailer). + -- + -- See REQUEST_VEHICLE_RECORDING + ["START_PLAYBACK_RECORDED_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] recording,--[[string]] script,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(recording);native_invoker.push_arg_string(script);native_invoker.push_arg_bool(p3);native_invoker.end_call("3F878F92B3A7A071");end, + -- flags requires further research, e.g., 0x4/0x8 are related to the AI driving task and 0x20 is internally set and interacts with dynamic entity components. + -- + -- time, often zero and capped at 500, is related to SET_PLAYBACK_TO_USE_AI_TRY_TO_REVERT_BACK_LATER + ["START_PLAYBACK_RECORDED_VEHICLE_WITH_FLAGS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] recording,--[[string]] script,--[[int]] flags,--[[int]] time,--[[int]] drivingStyle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(recording);native_invoker.push_arg_string(script);native_invoker.push_arg_int(flags);native_invoker.push_arg_int(time);native_invoker.push_arg_int(drivingStyle);native_invoker.end_call("7D80FD645D4DA346");end, + -- Often called after START_PLAYBACK_RECORDED_VEHICLE and SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE; similar in use to FORCE_ENTITY_AI_AND_ANIMATION_UPDATE. + ["FORCE_PLAYBACK_RECORDED_VEHICLE_UPDATE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("1F2E4E06DEA8992B");end, + ["STOP_PLAYBACK_RECORDED_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("54833611C17ABDEA");end, + ["PAUSE_PLAYBACK_RECORDED_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("632A689BF42301B1");end, + ["UNPAUSE_PLAYBACK_RECORDED_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("8879EE09268305D5");end, + ["IS_PLAYBACK_GOING_ON_FOR_VEHICLE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("1C8A4C2C19E68EEC");return native_invoker.get_return_value_bool();end, + ["IS_PLAYBACK_USING_AI_GOING_ON_FOR_VEHICLE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("AEA8FD591FAD4106");return native_invoker.get_return_value_bool();end, + ["GET_CURRENT_PLAYBACK_FOR_VEHICLE"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("42BC05C27A946054");return native_invoker.get_return_value_int();end, + ["SKIP_TO_END_AND_STOP_PLAYBACK_RECORDED_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("AB8E2EDA0C0A5883");end, + ["SET_PLAYBACK_SPEED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] speed)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(speed);native_invoker.end_call("6683AB880E427778");end, + -- AI abides by the provided driving style (e.g., stopping at red lights or waiting behind traffic) while executing the specificed vehicle recording. + -- + -- 0x1F2E4E06DEA8992B is a related native that deals with the AI physics for such recordings. + ["START_PLAYBACK_RECORDED_VEHICLE_USING_AI"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] recording,--[[string]] script,--[[float]] speed,--[[int]] drivingStyle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(recording);native_invoker.push_arg_string(script);native_invoker.push_arg_float(speed);native_invoker.push_arg_int(drivingStyle);native_invoker.end_call("29DE5FA52D00428C");end, + -- SET_TIME_POSITION_IN_RECORDING can be emulated by: desired_time - GET_TIME_POSITION_IN_RECORDING(vehicle) + ["SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] time)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(time);native_invoker.end_call("9438F7AD68771A20");end, + -- Identical to SET_PLAYBACK_TO_USE_AI_TRY_TO_REVERT_BACK_LATER with 0 as arguments for p1 and p3. + ["SET_PLAYBACK_TO_USE_AI"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] drivingStyle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(drivingStyle);native_invoker.end_call("A549C3B37EA28131");end, + -- Time is number of milliseconds before reverting, zero for indefinitely. + ["SET_PLAYBACK_TO_USE_AI_TRY_TO_REVERT_BACK_LATER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] time,--[[int]] drivingStyle,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(time);native_invoker.push_arg_int(drivingStyle);native_invoker.push_arg_bool(p3);native_invoker.end_call("6E63860BBB190730");end, + ["_0x5845066D8A1EA7F7"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] x,--[[float]] y,--[[float]] z,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(p4);native_invoker.end_call("5845066D8A1EA7F7");end, + ["_0x796A877E459B99EA"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("796A877E459B99EA");end, + ["_0xFAF2A78061FD9EF4"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.end_call("FAF2A78061FD9EF4");end, + -- A vehicle recording playback flag only used in jewelry_heist + ["_0x063AE2B2CC273588"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("063AE2B2CC273588");end, + ["EXPLODE_VEHICLE_IN_CUTSCENE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("786A4EB67B01BF0B");end, + ["ADD_VEHICLE_STUCK_CHECK_WITH_WARP"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1,--[[Any (int)]] p2,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4,--[[BOOL (bool)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.push_arg_bool(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("2FA9923062DD396C");end, + -- seems to make the vehicle stop spawning naturally in traffic. Here's an essential example: + -- + -- VEHICLE::SET_VEHICLE_MODEL_IS_SUPPRESSED(MISC::GET_HASH_KEY("taco"), true); + -- + -- god I hate taco vans + -- + -- Confirmed to work? Needs to be looped? Can not get it to work. + ["SET_VEHICLE_MODEL_IS_SUPPRESSED"]=--[[void]] function(--[[Hash (int)]] model,--[[BOOL (bool)]] suppressed)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.push_arg_bool(suppressed);native_invoker.end_call("0FC2D89AC25A5814");end, + -- Gets a random vehicle in a sphere at the specified position, of the specified radius. + -- + -- x: The X-component of the position of the sphere. + -- y: The Y-component of the position of the sphere. + -- z: The Z-component of the position of the sphere. + -- radius: The radius of the sphere. Max is 9999.9004. + -- modelHash: The vehicle model to limit the selection to. Pass 0 for any model. + -- flags: The bitwise flags that modifies the behaviour of this function. + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["GET_RANDOM_VEHICLE_IN_SPHERE"]=--[[Vehicle (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] modelHash,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_int(flags);native_invoker.end_call("386F6CE5BAF6091C");return native_invoker.get_return_value_int();end, + ["GET_RANDOM_VEHICLE_FRONT_BUMPER_IN_SPHERE"]=--[[Vehicle (int)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[int]] p4,--[[int]] p5,--[[int]] p6)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("C5574E0AEB86BA68");return native_invoker.get_return_value_int();end, + ["GET_RANDOM_VEHICLE_BACK_BUMPER_IN_SPHERE"]=--[[Vehicle (int)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[int]] p4,--[[int]] p5,--[[int]] p6)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("B50807EABE20A8DC");return native_invoker.get_return_value_int();end, + -- Example usage + -- VEHICLE::GET_CLOSEST_VEHICLE(x, y, z, radius, hash, unknown leave at 70) + -- + -- x, y, z: Position to get closest vehicle to. + -- radius: Max radius to get a vehicle. + -- modelHash: Limit to vehicles with this model. 0 for any. + -- flags: The bitwise flags altering the function's behaviour. + -- + -- Does not return police cars or helicopters. + -- + -- It seems to return police cars for me, does not seem to return helicopters, planes or boats for some reason + -- + -- Only returns non police cars and motorbikes with the flag set to 70 and modelHash to 0. ModelHash seems to always be 0 when not a modelHash in the scripts, as stated above. + -- + -- These flags were found in the b617d scripts: 0,2,4,6,7,23,127,260,2146,2175,12294,16384,16386,20503,32768,67590,67711,98309,100359. + -- Converted to binary, each bit probably represents a flag as explained regarding another native here: gtaforums.com/topic/822314-guide-driving-styles + -- + -- Conversion of found flags to binary: pastebin.com/kghNFkRi + -- + -- At exactly 16384 which is 0100000000000000 in binary and 4000 in hexadecimal only planes are returned. + -- + -- It's probably more convenient to use worldGetAllVehicles(int *arr, int arrSize) and check the shortest distance yourself and sort if you want by checking the vehicle type with for example VEHICLE::IS_THIS_MODEL_A_BOAT + -- + -- ------------------------------------------------------------------------- + -- + -- Conclusion: This native is not worth trying to use. Use something like this instead: pastebin.com/xiFdXa7h + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["GET_CLOSEST_VEHICLE"]=--[[Vehicle (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[Hash (int)]] modelHash,--[[int]] flags)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_int(modelHash);native_invoker.push_arg_int(flags);native_invoker.end_call("F73EB622C4F1689B");return native_invoker.get_return_value_int();end, + -- Corrected p1. it's basically the 'carriage/trailer number'. So if the train has 3 trailers you'd call the native once with a var or 3 times with 1, 2, 3. + ["GET_TRAIN_CARRIAGE"]=--[[Entity (int)]] function(--[[Vehicle (int)]] train,--[[int]] trailerNumber)native_invoker.begin_call();native_invoker.push_arg_int(train);native_invoker.push_arg_int(trailerNumber);native_invoker.end_call("08AAFD0814722BC3");return native_invoker.get_return_value_int();end, + ["DELETE_MISSION_TRAIN"]=--[[void]] function(--[[Vehicle* (pointer)]] train)native_invoker.begin_call();native_invoker.push_arg_pointer(train);native_invoker.end_call("5B76B14AE875C795");end, + -- p1 is always 0 + ["SET_MISSION_TRAIN_AS_NO_LONGER_NEEDED"]=--[[void]] function(--[[Vehicle* (pointer)]] train,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_pointer(train);native_invoker.push_arg_bool(p1);native_invoker.end_call("BBE7648349B49BE8");end, + ["SET_MISSION_TRAIN_COORDS"]=--[[void]] function(--[[Vehicle (int)]] train,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(train);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("591CA673AA6AB736");end, + ["IS_THIS_MODEL_A_BOAT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("45A9187928F4B9E3");return native_invoker.get_return_value_bool();end, + -- Checks if model is a boat, then checks for FLAG_IS_JETSKI. + ["IS_THIS_MODEL_A_JETSKI"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("9537097412CF75FE");return native_invoker.get_return_value_bool();end, + ["IS_THIS_MODEL_A_PLANE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("A0948AB42D7BA0DE");return native_invoker.get_return_value_bool();end, + ["IS_THIS_MODEL_A_HELI"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("DCE4334788AF94EA");return native_invoker.get_return_value_bool();end, + -- To check if the model is an amphibious car, see gtaforums.com/topic/717612-v-scriptnative-documentation-and-research/page-33#entry1069317363 (for build 944 and above only!) + ["IS_THIS_MODEL_A_CAR"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("7F6DB52EEFC96DF8");return native_invoker.get_return_value_bool();end, + ["IS_THIS_MODEL_A_TRAIN"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("AB935175B22E822B");return native_invoker.get_return_value_bool();end, + ["IS_THIS_MODEL_A_BIKE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("B50C0B0CEDC6CE84");return native_invoker.get_return_value_bool();end, + ["IS_THIS_MODEL_A_BICYCLE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("BF94DD42F63BDED2");return native_invoker.get_return_value_bool();end, + ["IS_THIS_MODEL_A_QUADBIKE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("39DAC362EE65FA28");return native_invoker.get_return_value_bool();end, + ["_IS_THIS_MODEL_AN_AMPHIBIOUS_CAR"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("633F6F44A537EBB6");return native_invoker.get_return_value_bool();end, + ["_IS_THIS_MODEL_AN_AMPHIBIOUS_QUADBIKE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] model)native_invoker.begin_call();native_invoker.push_arg_int(model);native_invoker.end_call("A1A9FC1C76A6730D");return native_invoker.get_return_value_bool();end, + -- Equivalent of SET_HELI_BLADES_SPEED(vehicleHandle, 1.0f); + -- + -- this native works on planes to? + ["SET_HELI_BLADES_FULL_SPEED"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("A178472EBB8AE60D");end, + -- Sets the speed of the helicopter blades in percentage of the full speed. + -- + -- vehicleHandle: The helicopter. + -- speed: The speed in percentage, 0.0f being 0% and 1.0f being 100%. + ["SET_HELI_BLADES_SPEED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] speed)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(speed);native_invoker.end_call("FD280B4D7F3ABC4D");end, + ["_0x99CAD8E7AFDB60FA"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] p1,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.end_call("99CAD8E7AFDB60FA");end, + -- This has not yet been tested - it's just an assumption of what the types could be. + ["SET_VEHICLE_CAN_BE_TARGETTED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(state);native_invoker.end_call("3750146A28097A82");end, + -- Related to locking the vehicle or something similar. + -- + -- In the decompiled scripts, its always called after + -- VEHICLE::_SET_EXCLUSIVE_DRIVER(a_0, 0, 0); + -- VEHICLE::SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS(a_0, 1); + -- VEHICLE::SET_VEHICLE_DOORS_LOCKED_FOR_PLAYER(a_0, PLAYER::PLAYER_ID(), 0); + -- -->VEHICLE::_DBC631F109350B8C(a_0, 1); + ["_0xDBC631F109350B8C"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("DBC631F109350B8C");end, + ["SET_VEHICLE_CAN_BE_VISIBLY_DAMAGED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(state);native_invoker.end_call("4C7028F78FFD3681");end, + ["_SET_VEHICLE_LIGHTS_CAN_BE_VISIBLY_DAMAGED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("1AA8A837D2169D94");end, + ["_0x2311DD7159F00582"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("2311DD7159F00582");end, + ["_0x065D03A9D6B2C6B5"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("065D03A9D6B2C6B5");end, + -- Dirt level 0..15 + ["GET_VEHICLE_DIRT_LEVEL"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("8F17BC8BA08DA62B");return native_invoker.get_return_value_float();end, + -- You can't use values greater than 15.0 + -- You can see why here: pastebin.com/Wbn34fGD + -- + -- Also, R* does (float)(rand() % 15) to get a random dirt level when generating a vehicle. + ["SET_VEHICLE_DIRT_LEVEL"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] dirtLevel)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(dirtLevel);native_invoker.end_call("79D3B596FE44EE8B");end, + -- Appears to return true if the vehicle has any damage, including cosmetically. + -- + -- GET_* + ["_IS_VEHICLE_DAMAGED"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("BCDC5017D3CE1E9E");return native_invoker.get_return_value_bool();end, + -- doorIndex: + -- 0 = Front Left Door + -- 1 = Front Right Door + -- 2 = Back Left Door + -- 3 = Back Right Door + -- 4 = Hood + -- 5 = Trunk + -- 6 = Trunk2 + ["IS_VEHICLE_DOOR_FULLY_OPEN"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.end_call("3E933CFF7B111C22");return native_invoker.get_return_value_bool();end, + -- Starts or stops the engine on the specified vehicle. + -- + -- vehicle: The vehicle to start or stop the engine on. + -- value: true to turn the vehicle on; false to turn it off. + -- instantly: if true, the vehicle will be set to the state immediately; otherwise, the current driver will physically turn on or off the engine. + -- disableAutoStart: If true, the system will prevent the engine from starting when the player got into it. + -- + -- from what I've tested when I do this to a helicopter the propellers turn off after the engine has started. so is there any way to keep the heli propellers on? + ["SET_VEHICLE_ENGINE_ON"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] value,--[[BOOL (bool)]] instantly,--[[BOOL (bool)]] disableAutoStart)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(value);native_invoker.push_arg_bool(instantly);native_invoker.push_arg_bool(disableAutoStart);native_invoker.end_call("2497C4717C8B881E");end, + ["SET_VEHICLE_UNDRIVEABLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("8ABA6AF54B942B95");end, + ["SET_VEHICLE_PROVIDES_COVER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("5AFEEDD9BB2899D7");end, + -- doorIndex: + -- 0 = Front Left Door (driver door) + -- 1 = Front Right Door + -- 2 = Back Left Door + -- 3 = Back Right Door + -- 4 = Hood + -- 5 = Trunk + -- 6 = Trunk2 + -- + -- p2: + -- mostly use 0 and 1, very rare using 3 and 5 + -- + -- p3: + -- It seems it is an angle + -- + -- Example in VB: + -- Public Shared Sub Set_Vehicle_Door_Angle(Vehicle As Vehicle, Door As VehicleDoor, Angle As Single) + -- Native.Function.Call(Hash.SET_VEHICLE_DOOR_CONTROL, Vehicle.Handle, Door, 1, Angle) + -- End Sub + -- + -- I'm Not MentaL + -- + -- sfink: p2 is speed, 5 is fast, 1 is slow 3 is medium + ["SET_VEHICLE_DOOR_CONTROL"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex,--[[int]] speed,--[[float]] angle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.push_arg_int(speed);native_invoker.push_arg_float(angle);native_invoker.end_call("F2BFA0430F0A0FCB");end, + ["SET_VEHICLE_DOOR_LATCHED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("A5A9653A8D2CAF48");end, + -- example in vb: + -- Public Shared Function Get_Vehicle_Door_Angle(Vehicle As Vehicle, Door As VehicleDoor) As Single + -- Return Native.Function.Call(Of Single)(Hash.GET_VEHICLE_DOOR_ANGLE_RATIO, Vehicle.Handle, Door) + -- End Function + -- + -- I'm Not MentaL + ["GET_VEHICLE_DOOR_ANGLE_RATIO"]=--[[float]] function(--[[Vehicle (int)]] vehicle,--[[int]] door)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(door);native_invoker.end_call("FE3F9C29F7B32BD5");return native_invoker.get_return_value_float();end, + ["GET_PED_USING_VEHICLE_DOOR"]=--[[Ped (int)]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.end_call("218297BF0CFD853B");return native_invoker.get_return_value_int();end, + -- doorIndex: + -- 0 = Front Left Door + -- 1 = Front Right Door + -- 2 = Back Left Door + -- 3 = Back Right Door + -- 4 = Hood + -- 5 = Trunk + -- 6 = Trunk2 + ["SET_VEHICLE_DOOR_SHUT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex,--[[BOOL (bool)]] closeInstantly)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.push_arg_bool(closeInstantly);native_invoker.end_call("93D9BD300D7789E5");end, + -- doorIndex: + -- 0 = Front Right Door + -- 1 = Front Left Door + -- 2 = Back Right Door + -- 3 = Back Left Door + -- 4 = Hood + -- 5 = Trunk + -- + -- Changed last paramater from CreateDoorObject To NoDoorOnTheFloor because when on false, the door object is created,and not created when on true...the former parameter name was counter intuitive...(by Calderon) + -- + -- Calderon is a moron. + ["SET_VEHICLE_DOOR_BROKEN"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex,--[[BOOL (bool)]] deleteDoor)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.push_arg_bool(deleteDoor);native_invoker.end_call("D4D4F6A4AB575A33");end, + ["SET_VEHICLE_CAN_BREAK"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("59BF8C3D52C92F66");end, + ["DOES_VEHICLE_HAVE_ROOF"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("8AC862B0B32C5B80");return native_invoker.get_return_value_bool();end, + ["_0xC4B3347BD68BD609"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("C4B3347BD68BD609");end, + ["_0xD3301660A57C9272"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("D3301660A57C9272");end, + ["_0xB9562064627FF9DB"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("B9562064627FF9DB");end, + ["IS_BIG_VEHICLE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("9F243D3919F442FE");return native_invoker.get_return_value_bool();end, + -- Actually number of color combinations + ["GET_NUMBER_OF_VEHICLE_COLOURS"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("3B963160CD65D41E");return native_invoker.get_return_value_int();end, + -- Sets the selected vehicle's colors to their default value (specific variant specified using the colorCombination parameter). + -- Range of possible values for colorCombination is currently unknown, I couldn't find where these values are stored either (Disquse's guess was vehicles.meta but I haven't seen it in there.) + ["SET_VEHICLE_COLOUR_COMBINATION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] colorCombination)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(colorCombination);native_invoker.end_call("33E8CD3322E2FE31");end, + ["GET_VEHICLE_COLOUR_COMBINATION"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("6A842D197F845D56");return native_invoker.get_return_value_int();end, + -- `color`: is the paint index for the vehicle. + -- Paint index goes from 0 to 12. + -- Be aware that it only works on xenon lights. Example: https://i.imgur.com/yV3cpG9.png + ["_SET_VEHICLE_XENON_LIGHTS_COLOR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] colorIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(colorIndex);native_invoker.end_call("E41033B25D003A07");end, + -- Returns the headlight color index from the vehicle. Value between 0, 12. + -- Use _SET_VEHICLE_HEADLIGHTS_COLOUR to set the headlights color for the vehicle. + -- Must enable xenon headlights before it'll take affect. + -- + -- Returns an int, value between 0-12 or 255 if no color is set. + ["_GET_VEHICLE_XENON_LIGHTS_COLOR"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("3DFF319A831E0CDB");return native_invoker.get_return_value_int();end, + -- Setting this to false, makes the specified vehicle to where if you press Y your character doesn't even attempt the animation to enter the vehicle. Hence it's not considered aka ignored. + ["SET_VEHICLE_IS_CONSIDERED_BY_PLAYER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("31B927BBC44156CD");end, + ["_0xBE5C1255A1830FF5"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("BE5C1255A1830FF5");end, + ["_0x9BECD4B9FEF3F8A6"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("9BECD4B9FEF3F8A6");end, + ["_0x88BC673CA9E0AE99"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("88BC673CA9E0AE99");end, + ["_0xE851E480B814D4BA"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("E851E480B814D4BA");end, + -- Not present in the retail version! It's just a nullsub. + -- + -- p0 always true (except in one case) + -- successIndicator: 0 if success, -1 if failed + ["GET_RANDOM_VEHICLE_MODEL_IN_MEMORY"]=--[[void]] function(--[[BOOL (bool)]] p0,--[[Hash* (pointer)]] modelHash,--[[int* (pointer)]] successIndicator)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.push_arg_pointer(modelHash);native_invoker.push_arg_pointer(successIndicator);native_invoker.end_call("055BF0AC0C34F4FD");end, + -- enum VehicleLockStatus = { + -- None = 0, + -- Unlocked = 1, + -- Locked = 2, + -- LockedForPlayer = 3, + -- StickPlayerInside = 4, -- Doesn't allow players to exit the vehicle with the exit vehicle key. + -- CanBeBrokenInto = 7, -- Can be broken into the car. If the glass is broken, the value will be set to 1 + -- CanBeBrokenIntoPersist = 8, -- Can be broken into persist + -- CannotBeTriedToEnter = 10, -- Cannot be tried to enter (Nothing happens when you press the vehicle enter key). + -- } + ["GET_VEHICLE_DOOR_LOCK_STATUS"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("25BC98A59C2EA962");return native_invoker.get_return_value_int();end, + -- Returns vehicle door destroy type previously set with _SET_VEHICLE_DOOR_DESTROY_TYPE + ["_GET_VEHICLE_DOOR_DESTROY_TYPE"]=--[[int]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.end_call("CA4AC3EAAE46EC7B");return native_invoker.get_return_value_int();end, + -- doorID starts at 0, not seeming to skip any numbers. Four door vehicles intuitively range from 0 to 3. + ["IS_VEHICLE_DOOR_DAMAGED"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] veh,--[[int]] doorID)native_invoker.begin_call();native_invoker.push_arg_int(veh);native_invoker.push_arg_int(doorID);native_invoker.end_call("B8E181E559464527");return native_invoker.get_return_value_bool();end, + -- Keeps Vehicle Doors/Hood/Trunk from breaking off + ["_SET_VEHICLE_DOOR_CAN_BREAK"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex,--[[BOOL (bool)]] isBreakable)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.push_arg_bool(isBreakable);native_invoker.end_call("2FA133A4A9D37ED8");end, + ["IS_VEHICLE_BUMPER_BOUNCING"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] frontBumper)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(frontBumper);native_invoker.end_call("27B926779DEB502D");return native_invoker.get_return_value_bool();end, + ["IS_VEHICLE_BUMPER_BROKEN_OFF"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] front)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(front);native_invoker.end_call("468056A6BB6F3846");return native_invoker.get_return_value_bool();end, + -- Usage: + -- + -- public bool isCopInRange(Vector3 Location, float Range) + -- { + -- return Function.Call(Hash.IS_COP_PED_IN_AREA_3D, Location.X - Range, Location.Y - Range, Location.Z - Range, Location.X + Range, Location.Y + Range, Location.Z + Range); + -- } + ["IS_COP_VEHICLE_IN_AREA_3D"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] x2,--[[float]] y1,--[[float]] y2,--[[float]] z1,--[[float]] z2)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(z2);native_invoker.end_call("7EEF65D5F153E26A");return native_invoker.get_return_value_bool();end, + -- Public Function isVehicleOnAllWheels(vh As Vehicle) As Boolean + -- Return Native.Function.Call(Of Boolean)(Hash.IS_VEHICLE_ON_ALL_WHEELS, vh) + -- End Function + -- + ["IS_VEHICLE_ON_ALL_WHEELS"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("B104CD1BABF302E2");return native_invoker.get_return_value_bool();end, + -- Returns `nMonetaryValue` from handling.meta for specific model. + ["_GET_VEHICLE_MODEL_MONETARY_VALUE"]=--[[int]] function(--[[Hash (int)]] vehicleModel)native_invoker.begin_call();native_invoker.push_arg_int(vehicleModel);native_invoker.end_call("5873C14A52D74236");return native_invoker.get_return_value_int();end, + ["GET_VEHICLE_LAYOUT_HASH"]=--[[Hash (int)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("28D37D4F71AC5C58");return native_invoker.get_return_value_int();end, + ["_0xA01BC64DD4BFBBAC"]=--[[Any (int)]] function(--[[Vehicle (int)]] vehicle,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.end_call("A01BC64DD4BFBBAC");return native_invoker.get_return_value_int();end, + -- makes the train all jumbled up and derailed as it moves on the tracks (though that wont stop it from its normal operations) + ["SET_RENDER_TRAIN_AS_DERAILED"]=--[[void]] function(--[[Vehicle (int)]] train,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(train);native_invoker.push_arg_bool(toggle);native_invoker.end_call("317B11A312DF5534");end, + -- They use the same color indexs as SET_VEHICLE_COLOURS. + ["SET_VEHICLE_EXTRA_COLOURS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] pearlescentColor,--[[int]] wheelColor)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(pearlescentColor);native_invoker.push_arg_int(wheelColor);native_invoker.end_call("2036F561ADD12E33");end, + ["GET_VEHICLE_EXTRA_COLOURS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int* (pointer)]] pearlescentColor,--[[int* (pointer)]] wheelColor)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(pearlescentColor);native_invoker.push_arg_pointer(wheelColor);native_invoker.end_call("3BC4245933A166F7");end, + ["_SET_VEHICLE_INTERIOR_COLOR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] color)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(color);native_invoker.end_call("F40DD601A65F7F19");end, + ["_GET_VEHICLE_INTERIOR_COLOR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int* (pointer)]] color)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(color);native_invoker.end_call("7D1464D472D32136");end, + ["_SET_VEHICLE_DASHBOARD_COLOR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] color)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(color);native_invoker.end_call("6089CDF6A57F326C");end, + ["_GET_VEHICLE_DASHBOARD_COLOR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int* (pointer)]] color)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(color);native_invoker.end_call("B7635E80A5C31BFF");end, + ["STOP_ALL_GARAGE_ACTIVITY"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("0F87E938BDF29D66");end, + -- This fixes a vehicle. + -- If the vehicle's engine's broken then you cannot fix it with this native. + ["SET_VEHICLE_FIXED"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("115722B1B9C14C1C");end, + -- This fixes the deformation of a vehicle but the vehicle health doesn't improve + ["SET_VEHICLE_DEFORMATION_FIXED"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("953DA1E1B12C0491");end, + ["_SET_VEHICLE_CAN_ENGINE_OPERATE_ON_FIRE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("206BC5DC9D1AC70A");end, + ["SET_VEHICLE_CAN_LEAK_OIL"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("51BB2D88D31A914B");end, + ["SET_VEHICLE_CAN_LEAK_PETROL"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("192547247864DFDD");end, + ["SET_DISABLE_VEHICLE_PETROL_TANK_FIRES"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("465BF26AB9684352");end, + ["SET_DISABLE_VEHICLE_PETROL_TANK_DAMAGE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("37C8252A7C92D017");end, + ["SET_DISABLE_VEHICLE_ENGINE_FIRES"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("91A0BD635321F145");end, + -- SET_VEHICLE_LI* + ["_0xC50CE861B55EAB8B"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("C50CE861B55EAB8B");end, + -- sfink: sets bit in vehicle's structure, used by maintransition, fm_mission_controller, mission_race and a couple of other scripts. see dissassembly: + -- CVehicle *__fastcall sub_140CDAA10(signed int a1, char a2) + -- { + -- CVehicle *result; // rax@1 + -- + -- result = EntityAsCVehicle(a1); + -- if ( result ) + -- { + -- result->field_886 &= 0xEFu; + -- result->field_886 |= 16 * (a2 & 1); + -- } + -- return result; + -- } + ["_0x6EBFB22D646FFC18"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("6EBFB22D646FFC18");end, + ["SET_DISABLE_PRETEND_OCCUPANTS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("25367DE49D64CF16");end, + ["REMOVE_VEHICLES_FROM_GENERATORS_IN_AREA"]=--[[void]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[Any (int)]] unk)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_int(unk);native_invoker.end_call("46A1E1A299EC4BBA");end, + -- Locks the vehicle's steering to the desired angle, explained below. + -- + -- Requires to be called onTick. Steering is unlocked the moment the function stops being called on the vehicle. + -- + -- Steer bias: + -- -1.0 = full right + -- 0.0 = centered steering + -- 1.0 = full left + ["SET_VEHICLE_STEER_BIAS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(value);native_invoker.end_call("42A8EC77D5150CBE");end, + ["IS_VEHICLE_EXTRA_TURNED_ON"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] extraId)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(extraId);native_invoker.end_call("D2E6822DBFD6C8BD");return native_invoker.get_return_value_bool();end, + -- Note: only some vehicle have extras + -- extra ids are from 1 - 9 depending on the vehicle + -- + -- ------------------------------------------------- + -- + -- ^ not sure if outdated or simply wrong. Max extra ID for b944 is 14 + -- + -- ------------------------------------------------- + -- p2 is not a on/off toggle. mostly 0 means on and 1 means off. + -- not sure if it really should be a BOOL. + ["SET_VEHICLE_EXTRA"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] extraId,--[[BOOL (bool)]] disable)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(extraId);native_invoker.push_arg_bool(disable);native_invoker.end_call("7EE3A3C5E4A40CC9");end, + -- Checks via CVehicleModelInfo + ["DOES_EXTRA_EXIST"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] extraId)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(extraId);native_invoker.end_call("1262D55792428154");return native_invoker.get_return_value_bool();end, + -- Checks if vehicle tyre at index exists. Also returns false if tyre was removed. + ["_DOES_VEHICLE_TYRE_EXIST"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] tyreIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(tyreIndex);native_invoker.end_call("534E36D4DB9ECC5D");return native_invoker.get_return_value_bool();end, + ["SET_CONVERTIBLE_ROOF"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("F39C4F538B5124C2");end, + ["LOWER_CONVERTIBLE_ROOF"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] instantlyLower)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(instantlyLower);native_invoker.end_call("DED51F703D0FA83D");end, + ["RAISE_CONVERTIBLE_ROOF"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] instantlyRaise)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(instantlyRaise);native_invoker.end_call("8F5FB35D7E88FC70");end, + -- 0 -> up + -- 1 -> lowering down + -- 2 -> down + -- 3 -> raising up + ["GET_CONVERTIBLE_ROOF_STATE"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("F8C397922FC03F41");return native_invoker.get_return_value_int();end, + -- p1 is false almost always. + -- + -- However, in launcher_carwash/carwash1/carwash2 scripts, p1 is true and is accompanied by DOES_VEHICLE_HAVE_ROOF + ["IS_VEHICLE_A_CONVERTIBLE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("52F357A30698BCCE");return native_invoker.get_return_value_bool();end, + -- Transforms the `stormberg` to its "water vehicle" variant. If the vehicle is already in that state then the vehicle transformation audio will still play, but the vehicle won't change at all. + ["_TRANSFORM_VEHICLE_TO_SUBMARINE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] noAnimation)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(noAnimation);native_invoker.end_call("BE4C854FFDB6EEBE");end, + -- Transforms the `stormberg` to its "road vehicle" variant. If the vehicle is already in that state then the vehicle transformation audio will still play, but the vehicle won't change at all. + ["_TRANSFORM_SUBMARINE_TO_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] noAnimation)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(noAnimation);native_invoker.end_call("2A69FFD1B42BFF9E");end, + ["_GET_IS_SUBMARINE_VEHICLE_TRANSFORMED"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("A77DC70BD689A1E5");return native_invoker.get_return_value_bool();end, + -- Is this for red lights only? more testing required. + ["IS_VEHICLE_STOPPED_AT_TRAFFIC_LIGHTS"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("2959F696AE390A99");return native_invoker.get_return_value_bool();end, + -- Apply damage to vehicle at a location. Location is relative to vehicle model (not world). + -- + -- Radius of effect damage applied in a sphere at impact location + -- When `focusOnModel` set to `true`, the damage sphere will travel towards the vehicle from the given point, thus guaranteeing an impact + ["SET_VEHICLE_DAMAGE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] xOffset,--[[float]] yOffset,--[[float]] zOffset,--[[float]] damage,--[[float]] radius,--[[BOOL (bool)]] focusOnModel)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(zOffset);native_invoker.push_arg_float(damage);native_invoker.push_arg_float(radius);native_invoker.push_arg_bool(focusOnModel);native_invoker.end_call("A1DD317EA8FD4F29");end, + ["_0x35BB21DE06784373"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("35BB21DE06784373");end, + -- Returns 1000.0 if the function is unable to get the address of the specified vehicle or if it's not a vehicle. + -- + -- Minimum: -4000 + -- Maximum: 1000 + -- + -- -4000: Engine is destroyed + -- 0 and below: Engine catches fire and health rapidly declines + -- 300: Engine is smoking and losing functionality + -- 1000: Engine is perfect + ["GET_VEHICLE_ENGINE_HEALTH"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("C45D23BAF168AAB8");return native_invoker.get_return_value_float();end, + -- 1000 is max health + -- Begins leaking gas at around 650 health + -- -999.90002441406 appears to be minimum health, although nothing special occurs <- false statement + -- + -- ------------------------- + -- Minimum: -4000 + -- Maximum: 1000 + -- + -- -4000: Engine is destroyed + -- 0 and below: Engine catches fire and health rapidly declines + -- 300: Engine is smoking and losing functionality + -- 1000: Engine is perfect + ["SET_VEHICLE_ENGINE_HEALTH"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] health)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(health);native_invoker.end_call("45F6D8EEF34ABEF1");end, + -- Works just like SET_VEHICLE_ENGINE_HEALTH, didn't saw any difference. But this native works only for planes. + ["_SET_PLANE_ENGINE_HEALTH"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] health)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(health);native_invoker.end_call("2A86A0475B6A1434");end, + -- 1000 is max health + -- Begins leaking gas at around 650 health + -- -999.90002441406 appears to be minimum health, although nothing special occurs + ["GET_VEHICLE_PETROL_TANK_HEALTH"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("7D5DABE888D2D074");return native_invoker.get_return_value_float();end, + -- 1000 is max health + -- Begins leaking gas at around 650 health + -- -999.90002441406 appears to be minimum health, although nothing special occurs + ["SET_VEHICLE_PETROL_TANK_HEALTH"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] health)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(health);native_invoker.end_call("70DB57649FA8D0D8");end, + -- p1 can be anywhere from 0 to 3 in the scripts. p2 is generally somewhere in the 1000 to 10000 range. + ["IS_VEHICLE_STUCK_TIMER_UP"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("679BE1DAF71DA874");return native_invoker.get_return_value_bool();end, + -- The inner function has a switch on the second parameter. It's the stuck timer index. + -- + -- Here's some pseudo code I wrote for the inner function: + -- void __fastcall NATIVE_RESET_VEHICLE_STUCK_TIMER_INNER(CUnknown* unknownClassInVehicle, int timerIndex) + -- { + -- switch (timerIndex) + -- { + -- case 0: + -- unknownClassInVehicle->FirstStuckTimer = (WORD)0u; + -- case 1: + -- unknownClassInVehicle->SecondStuckTimer = (WORD)0u; + -- case 2: + -- unknownClassInVehicle->ThirdStuckTimer = (WORD)0u; + -- case 3: + -- unknownClassInVehicle->FourthStuckTimer = (WORD)0u; + -- case 4: + -- unknownClassInVehicle->FirstStuckTimer = (WORD)0u; + -- unknownClassInVehicle->SecondStuckTimer = (WORD)0u; + -- unknownClassInVehicle->ThirdStuckTimer = (WORD)0u; + -- unknownClassInVehicle->FourthStuckTimer = (WORD)0u; + -- break; + -- }; + -- } + ["RESET_VEHICLE_STUCK_TIMER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] nullAttributes)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(nullAttributes);native_invoker.end_call("D7591B0065AFAA7A");end, + -- p1 is always 0 in the scripts. + -- + -- p1 = check if vehicle is on fire + ["IS_VEHICLE_DRIVEABLE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] isOnFireCheck)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(isOnFireCheck);native_invoker.end_call("4C241E39B23DF959");return native_invoker.get_return_value_bool();end, + ["SET_VEHICLE_HAS_BEEN_OWNED_BY_PLAYER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] owned)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(owned);native_invoker.end_call("2B5F9D2AF1F1722D");end, + ["SET_VEHICLE_NEEDS_TO_BE_HOTWIRED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("FBA550EA44404EE6");end, + ["_0x9F3F689B814F2599"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("9F3F689B814F2599");end, + ["_0x4E74E62E0A97E901"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("4E74E62E0A97E901");end, + -- Sounds the horn for the specified vehicle. + -- + -- vehicle: The vehicle to activate the horn for. + -- mode: The hash of "NORMAL" or "HELDDOWN". Can be 0. + -- duration: The duration to sound the horn, in milliseconds. + -- + -- Note: If a player is in the vehicle, it will only sound briefly. + ["START_VEHICLE_HORN"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] duration,--[[Hash (int)]] mode,--[[BOOL (bool)]] forever)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(duration);native_invoker.push_arg_int(mode);native_invoker.push_arg_bool(forever);native_invoker.end_call("9C8C6504B5B63D2C");end, + -- If set to TRUE, it seems to suppress door noises and doesn't allow the horn to be continuous. + -- + -- -Doesn't seem to suppress door noises for me, at least with the vehicle add-on I tried + ["_SET_VEHICLE_SILENT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("9D44FCCE98450843");end, + -- if true, axles won't bend. + ["SET_VEHICLE_HAS_STRONG_AXLES"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("92F0CF722BC4202F");end, + -- Returns model name of vehicle in all caps. Needs to be displayed through localizing text natives to get proper display name. + -- ----------------------------------------------------------------------------------------------------------------------------------------- + -- While often the case, this does not simply return the model name of the vehicle (which could be hashed to return the model hash). Variations of the same vehicle may also use the same display name. + -- ----------------------------------------------------------------------------------------------------------------------------------------- + -- + -- Returns "CARNOTFOUND" if the hash doesn't match a vehicle hash. + -- + -- Using HUD::_GET_LABEL_TEXT, you can get the localized name. + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["GET_DISPLAY_NAME_FROM_VEHICLE_MODEL"]=--[[string]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("B215AAC32D25D019");return native_invoker.get_return_value_string();end, + -- Will return a vehicle's manufacturer display label. + -- Returns "CARNOTFOUND" if the hash doesn't match a vehicle hash. + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["_GET_MAKE_NAME_FROM_VEHICLE_MODEL"]=--[[string]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("F7AF4F159FF99F97");return native_invoker.get_return_value_string();end, + -- The only example I can find of this function in the scripts, is this: + -- + -- struct _s = VEHICLE::GET_VEHICLE_DEFORMATION_AT_POS(rPtr((A_0) + 4), 1.21f, 6.15f, 0.3f); + -- + -- ----------------------------------------------------------------------------------------------------------------------------------------- + -- PC scripts: + -- + -- v_5/*{3}*/ = VEHICLE::GET_VEHICLE_DEFORMATION_AT_POS(a_0._f1, 1.21, 6.15, 0.3); + ["GET_VEHICLE_DEFORMATION_AT_POS"]=--[[Vector3 (vector3)]] function(--[[Vehicle (int)]] vehicle,--[[float]] offsetX,--[[float]] offsetY,--[[float]] offsetZ)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(offsetX);native_invoker.push_arg_float(offsetY);native_invoker.push_arg_float(offsetZ);native_invoker.end_call("4EC6CFBC7B2E9536");return native_invoker.get_return_value_vector3();end, + ["SET_VEHICLE_LIVERY"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] livery)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(livery);native_invoker.end_call("60BF608F1B8CD1B6");end, + -- -1 = no livery + ["GET_VEHICLE_LIVERY"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("2BB9230590DA5E8A");return native_invoker.get_return_value_int();end, + -- Returns -1 if the vehicle has no livery + ["GET_VEHICLE_LIVERY_COUNT"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("87B63E25A529D526");return native_invoker.get_return_value_int();end, + -- Used to set the tornado custom (convertible) rooftop livery. + -- + -- Livery value that works for tornado custom is between 0 and 9 from what i can tell. Maybe 0-8 even. + -- + -- Might work on other custom vehicles but im not sure what those might be, only confirmed it working with the tornado custom. + ["_SET_VEHICLE_ROOF_LIVERY"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] livery)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(livery);native_invoker.end_call("A6D3A8750DC73270");end, + -- Returns index of the current vehicle's rooftop livery. A getter for _SET_VEHICLE_ROOF_LIVERY. + ["_GET_VEHICLE_ROOF_LIVERY"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("60190048C0764A26");return native_invoker.get_return_value_int();end, + -- Returns a number of available rooftop liveries, or -1 if vehicle has no rooftop liveries available. + ["_GET_VEHICLE_ROOF_LIVERY_COUNT"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("5ECB40269053C0D4");return native_invoker.get_return_value_int();end, + -- This will return false if the window is broken, or rolled down. + -- Window indexes: + -- 0 = Front Right Window + -- 1 = Front Left Window + -- 2 = Back Right Window + -- 3 = Back Left Window + -- + -- + -- Those numbers go on for vehicles that have more than 4 doors with windows. + ["IS_VEHICLE_WINDOW_INTACT"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] windowIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(windowIndex);native_invoker.end_call("46E571A0E20D01F1");return native_invoker.get_return_value_bool();end, + -- Appears to return false if any window is broken. + ["ARE_ALL_VEHICLE_WINDOWS_INTACT"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("11D862A3E977A9EF");return native_invoker.get_return_value_bool();end, + -- Returns false if every seat is occupied. + ["ARE_ANY_VEHICLE_SEATS_FREE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("2D34FC3BC4ADB780");return native_invoker.get_return_value_bool();end, + ["RESET_VEHICLE_WHEELS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("21D2E5662C1F6FED");end, + ["IS_HELI_PART_BROKEN"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.end_call("BC74B4BE25EB6C8A");return native_invoker.get_return_value_bool();end, + -- Max 1000. + -- At 0 the main rotor will stall. + ["GET_HELI_MAIN_ROTOR_HEALTH"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("E4CB7541F413D2C5");return native_invoker.get_return_value_float();end, + -- Max 1000. + -- At 0 the tail rotor will stall. + ["GET_HELI_TAIL_ROTOR_HEALTH"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("AE8CE82A4219AC8C");return native_invoker.get_return_value_float();end, + -- Max 1000. + -- At -100 both helicopter rotors will stall. + ["GET_HELI_TAIL_BOOM_HEALTH"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("AC51915D27E4A5F7");return native_invoker.get_return_value_float();end, + ["_0x4056EA1105F5ABD7"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("4056EA1105F5ABD7");end, + ["_SET_HELI_TAIL_ROTOR_HEALTH"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] health)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(health);native_invoker.end_call("FE205F38AAA58E5B");end, + ["SET_HELI_TAIL_EXPLODE_THROW_DASHBOARD"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("3EC8BF18AA453FE9");end, + -- NOTE: Debugging functions are not present in the retail version of the game. + ["SET_VEHICLE_NAME_DEBUG"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[string]] name)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_string(name);native_invoker.end_call("BFDF984E2C22B94F");end, + -- Sets a vehicle to be strongly resistant to explosions. p0 is the vehicle; set p1 to false to toggle the effect on/off. + ["SET_VEHICLE_EXPLODES_ON_HIGH_EXPLOSION_DAMAGE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("71B0892EC081D60A");end, + ["_0xD565F438137F0E10"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("D565F438137F0E10");end, + ["_0x3441CAD2F2231923"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("3441CAD2F2231923");end, + ["SET_VEHICLE_DISABLE_TOWING"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2B6747FAA9DB9D6B");end, + ["_DOES_VEHICLE_HAVE_LANDING_GEAR"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("E43701C36CAFF1A4");return native_invoker.get_return_value_bool();end, + -- Works for vehicles with a retractable landing gear + -- + -- landing gear states: + -- + -- 0: Deployed + -- 1: Closing + -- 2: Opening + -- 3: Retracted + -- + -- what can I use to make the hydra thing forward? + ["CONTROL_LANDING_GEAR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] state)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(state);native_invoker.end_call("CFC8BE9A5E1FE575");end, + -- Landing gear states: + -- + -- 0: Deployed + -- 1: Closing (Retracting) + -- 2:(Landing gear state 2 is never used.) + -- 3: Opening (Deploying) + -- 4: Retracted + -- + -- Returns the current state of the vehicles landing gear. + ["GET_LANDING_GEAR_STATE"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("9B0F3DCA3DB0F4CD");return native_invoker.get_return_value_int();end, + ["IS_ANY_VEHICLE_NEAR_POINT"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.end_call("61E1DD6125A3EEE6");return native_invoker.get_return_value_bool();end, + ["REQUEST_VEHICLE_HIGH_DETAIL_MODEL"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("A6E9FDCB2C76785E");end, + ["REMOVE_VEHICLE_HIGH_DETAIL_MODEL"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("00689CDE5F7C6787");end, + ["IS_VEHICLE_HIGH_DETAIL"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("1F25887F3C104278");return native_invoker.get_return_value_bool();end, + -- REQUEST_VEHICLE_ASSET(GET_HASH_KEY(cargobob3), 3); + -- + -- vehicle found that have asset's: + -- cargobob3 + -- submersible + -- blazer + ["REQUEST_VEHICLE_ASSET"]=--[[void]] function(--[[Hash (int)]] vehicleHash,--[[int]] vehicleAsset)native_invoker.begin_call();native_invoker.push_arg_int(vehicleHash);native_invoker.push_arg_int(vehicleAsset);native_invoker.end_call("81A15811460FAB3A");end, + ["HAS_VEHICLE_ASSET_LOADED"]=--[[BOOL (bool)]] function(--[[int]] vehicleAsset)native_invoker.begin_call();native_invoker.push_arg_int(vehicleAsset);native_invoker.end_call("1BBE0523B8DB9A21");return native_invoker.get_return_value_bool();end, + ["REMOVE_VEHICLE_ASSET"]=--[[void]] function(--[[int]] vehicleAsset)native_invoker.begin_call();native_invoker.push_arg_int(vehicleAsset);native_invoker.end_call("ACE699C71AB9DEB5");end, + -- Sets how much the crane on the tow truck is raised, where 0.0 is fully lowered and 1.0 is fully raised. + ["SET_VEHICLE_TOW_TRUCK_ARM_POSITION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] position)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(position);native_invoker.end_call("FE54B92A344583CA");end, + -- HookOffset defines where the hook is attached. leave at 0 for default attachment. + ["ATTACH_VEHICLE_TO_TOW_TRUCK"]=--[[void]] function(--[[Vehicle (int)]] towTruck,--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] rear,--[[float]] hookOffsetX,--[[float]] hookOffsetY,--[[float]] hookOffsetZ)native_invoker.begin_call();native_invoker.push_arg_int(towTruck);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(rear);native_invoker.push_arg_float(hookOffsetX);native_invoker.push_arg_float(hookOffsetY);native_invoker.push_arg_float(hookOffsetZ);native_invoker.end_call("29A16F8D621C4508");end, + -- First two parameters swapped. Scripts verify that towTruck is the first parameter, not the second. + ["DETACH_VEHICLE_FROM_TOW_TRUCK"]=--[[void]] function(--[[Vehicle (int)]] towTruck,--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(towTruck);native_invoker.push_arg_int(vehicle);native_invoker.end_call("C2DB6B6708350ED8");end, + ["DETACH_VEHICLE_FROM_ANY_TOW_TRUCK"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("D0E9CE05A1E68CD8");return native_invoker.get_return_value_bool();end, + -- Scripts verify that towTruck is the first parameter, not the second. + ["IS_VEHICLE_ATTACHED_TO_TOW_TRUCK"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] towTruck,--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(towTruck);native_invoker.push_arg_int(vehicle);native_invoker.end_call("146DF9EC4C4B9FD4");return native_invoker.get_return_value_bool();end, + ["GET_ENTITY_ATTACHED_TO_TOW_TRUCK"]=--[[Entity (int)]] function(--[[Vehicle (int)]] towTruck)native_invoker.begin_call();native_invoker.push_arg_int(towTruck);native_invoker.end_call("EFEA18DCF10F8F75");return native_invoker.get_return_value_int();end, + ["SET_VEHICLE_AUTOMATICALLY_ATTACHES"]=--[[Any (int)]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("8BA6F76BC53A1493");return native_invoker.get_return_value_int();end, + -- Sets the arm position of a bulldozer. Position must be a value between 0.0 and 1.0. Ignored when `p2` is set to false, instead incrementing arm position by 0.1 (or 10%). + ["SET_VEHICLE_BULLDOZER_ARM_POSITION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] position,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(position);native_invoker.push_arg_bool(p2);native_invoker.end_call("F8EBCCC96ADB9FB7");end, + ["SET_VEHICLE_TANK_TURRET_POSITION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] position,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(position);native_invoker.push_arg_bool(p2);native_invoker.end_call("56B94C6D7127DFBA");end, + ["_0x0581730AB9380412"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("0581730AB9380412");end, + ["_0x737E398138550FFF"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("737E398138550FFF");end, + ["_0x1093408B4B9D1146"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("1093408B4B9D1146");end, + ["_DISABLE_VEHICLE_TURRET_MOVEMENT_THIS_FRAME"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("32CAEDF24A583345");end, + ["SET_VEHICLE_FLIGHT_NOZZLE_POSITION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] angleRatio)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(angleRatio);native_invoker.end_call("30D779DE7C4F6DD3");end, + ["SET_VEHICLE_FLIGHT_NOZZLE_POSITION_IMMEDIATE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] angle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(angle);native_invoker.end_call("9AA47FFF660CB932");end, + ["_GET_VEHICLE_FLIGHT_NOZZLE_POSITION"]=--[[float]] function(--[[Vehicle (int)]] plane)native_invoker.begin_call();native_invoker.push_arg_int(plane);native_invoker.end_call("DA62027C8BDB326E");return native_invoker.get_return_value_float();end, + -- True stops vtols from switching modes. Doesn't stop the sound though. + ["_SET_DISABLE_VEHICLE_FLIGHT_NOZZLE_POSITION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("CE2B43770B655F8F");end, + ["_0xA4822F1CF23F4810"]=--[[BOOL (bool)]] function(--[[Vector3* (pointer)]] outVec,--[[Any (int)]] p1,--[[Vector3* (pointer)]] outVec1,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_pointer(outVec);native_invoker.push_arg_int(p1);native_invoker.push_arg_pointer(outVec1);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("A4822F1CF23F4810");return native_invoker.get_return_value_bool();end, + -- On accelerating, spins the driven wheels with the others braked, so you don't go anywhere. + ["SET_VEHICLE_BURNOUT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("FB8794444A7D60FB");end, + -- Returns whether the specified vehicle is currently in a burnout. + -- + -- + -- vb.net + -- Public Function isVehicleInBurnout(vh As Vehicle) As Boolean + -- Return Native.Function.Call(Of Boolean)(Hash.IS_VEHICLE_IN_BURNOUT, vh) + -- End Function + ["IS_VEHICLE_IN_BURNOUT"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("1297A88E081430EB");return native_invoker.get_return_value_bool();end, + -- Reduces grip significantly so it's hard to go anywhere. + ["SET_VEHICLE_REDUCE_GRIP"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("222FF6A823D122E2");end, + -- val is 0-3 + -- Often used in conjunction with: SET_VEHICLE_REDUCE_GRIP + ["_SET_VEHICLE_REDUCE_TRACTION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] val)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(val);native_invoker.end_call("6DEE944E1EE90CFB");end, + -- Sets the turn signal enabled for a vehicle. + -- Set turnSignal to 1 for left light, 0 for right light. + ["SET_VEHICLE_INDICATOR_LIGHTS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] turnSignal,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(turnSignal);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B5D45264751B7DF0");end, + ["SET_VEHICLE_BRAKE_LIGHTS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("92B35082E0B42F66");end, + ["SET_VEHICLE_HANDBRAKE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("684785568EF26A22");end, + ["SET_VEHICLE_BRAKE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("E4E2FD323574965C");end, + -- INIT_VISIBLE_LATCH_POPULATION? + ["_0x48ADC8A773564670"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("48ADC8A773564670");end, + -- HAS_* + ["_0x91D6DD290888CBAB"]=--[[BOOL (bool)]] function()native_invoker.begin_call();native_invoker.end_call("91D6DD290888CBAB");return native_invoker.get_return_value_bool();end, + ["_0x51DB102F4A3BA5E0"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("51DB102F4A3BA5E0");end, + -- Default:1000||This sets a value which is used when _0x51db102f4a3ba5e0(true) is called each frame. + ["_0xA4A9A4C40E615885"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("A4A9A4C40E615885");end, + -- Gets the trailer of a vehicle and puts it into the trailer parameter. + ["GET_VEHICLE_TRAILER_VEHICLE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[Vehicle* (pointer)]] trailer)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(trailer);native_invoker.end_call("1CDD6BADC297830D");return native_invoker.get_return_value_bool();end, + -- vehicle must be a plane + ["SET_VEHICLE_USES_LARGE_REAR_RAMP"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("CAC66558B944DA67");end, + ["SET_VEHICLE_RUDDER_BROKEN"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("09606148B6C71DEF");end, + ["SET_CONVERTIBLE_ROOF_LATCH_STATE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(state);native_invoker.end_call("1A78AD3D8240536F");end, + ["GET_VEHICLE_ESTIMATED_MAX_SPEED"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("53AF99BAA671CA47");return native_invoker.get_return_value_float();end, + ["GET_VEHICLE_MAX_BRAKING"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("AD7E85FC227197C4");return native_invoker.get_return_value_float();end, + ["GET_VEHICLE_MAX_TRACTION"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("A132FB5370554DB0");return native_invoker.get_return_value_float();end, + -- static - max acceleration + ["GET_VEHICLE_ACCELERATION"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("5DD35C8D074E57AE");return native_invoker.get_return_value_float();end, + -- Returns max speed (without mods) of the specified vehicle model in m/s. + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["GET_VEHICLE_MODEL_ESTIMATED_MAX_SPEED"]=--[[float]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("F417C2502FFFED43");return native_invoker.get_return_value_float();end, + -- Returns max braking of the specified vehicle model. + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["GET_VEHICLE_MODEL_MAX_BRAKING"]=--[[float]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("DC53FD41B4ED944C");return native_invoker.get_return_value_float();end, + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["GET_VEHICLE_MODEL_MAX_BRAKING_MAX_MODS"]=--[[float]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("BFBA3BA79CFF7EBF");return native_invoker.get_return_value_float();end, + -- Returns max traction of the specified vehicle model. + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["GET_VEHICLE_MODEL_MAX_TRACTION"]=--[[float]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("539DE94D44FDFD0D");return native_invoker.get_return_value_float();end, + -- Returns the acceleration of the specified model. + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["GET_VEHICLE_MODEL_ACCELERATION"]=--[[float]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("8C044C5C84505B6A");return native_invoker.get_return_value_float();end, + -- GET_VEHICLE_MODEL_* + -- + -- 9.8 * thrust if air vehicle, else 0.38 + drive force? + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["_GET_VEHICLE_MODEL_ESTIMATED_AGILITY"]=--[[float]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("53409B5163D5B846");return native_invoker.get_return_value_float();end, + -- GET_VEHICLE_MODEL_* + -- + -- Function pertains only to aviation vehicles. + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["_GET_VEHICLE_MODEL_MAX_KNOTS"]=--[[float]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("C6AD107DDC9054CC");return native_invoker.get_return_value_float();end, + -- GET_VEHICLE_MODEL_* + -- + -- called if the vehicle is a boat -- returns vecMoveResistanceX? + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["_GET_VEHICLE_MODEL_MOVE_RESISTANCE"]=--[[float]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("5AA3F878A178C4FC");return native_invoker.get_return_value_float();end, + ["GET_VEHICLE_CLASS_ESTIMATED_MAX_SPEED"]=--[[float]] function(--[[int]] vehicleClass)native_invoker.begin_call();native_invoker.push_arg_int(vehicleClass);native_invoker.end_call("00C09F246ABEDD82");return native_invoker.get_return_value_float();end, + ["GET_VEHICLE_CLASS_MAX_TRACTION"]=--[[float]] function(--[[int]] vehicleClass)native_invoker.begin_call();native_invoker.push_arg_int(vehicleClass);native_invoker.end_call("DBC86D85C5059461");return native_invoker.get_return_value_float();end, + ["GET_VEHICLE_CLASS_MAX_AGILITY"]=--[[float]] function(--[[int]] vehicleClass)native_invoker.begin_call();native_invoker.push_arg_int(vehicleClass);native_invoker.end_call("4F930AD022D6DE3B");return native_invoker.get_return_value_float();end, + ["GET_VEHICLE_CLASS_MAX_ACCELERATION"]=--[[float]] function(--[[int]] vehicleClass)native_invoker.begin_call();native_invoker.push_arg_int(vehicleClass);native_invoker.end_call("2F83E7E45D9EA7AE");return native_invoker.get_return_value_float();end, + ["GET_VEHICLE_CLASS_MAX_BRAKING"]=--[[float]] function(--[[int]] vehicleClass)native_invoker.begin_call();native_invoker.push_arg_int(vehicleClass);native_invoker.end_call("4BF54C16EC8FEC03");return native_invoker.get_return_value_float();end, + -- ADD_* + ["_ADD_SPEED_ZONE_FOR_COORD"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[float]] speed,--[[BOOL (bool)]] p5)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_float(speed);native_invoker.push_arg_bool(p5);native_invoker.end_call("2CE544C68FB812A0");return native_invoker.get_return_value_int();end, + -- REMOVE_* + ["_REMOVE_SPEED_ZONE"]=--[[BOOL (bool)]] function(--[[int]] speedzone)native_invoker.begin_call();native_invoker.push_arg_int(speedzone);native_invoker.end_call("1033371FC8E842A7");return native_invoker.get_return_value_bool();end, + ["OPEN_BOMB_BAY_DOORS"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("87E7F24270732CB1");end, + ["CLOSE_BOMB_BAY_DOORS"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("3556041742A0DC74");end, + -- Returns true when the bomb bay doors of this plane are open. False if they're closed. + ["_ARE_BOMB_BAY_DOORS_OPEN"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] aircraft)native_invoker.begin_call();native_invoker.push_arg_int(aircraft);native_invoker.end_call("D0917A423314BBA8");return native_invoker.get_return_value_bool();end, + -- Possibly: Returns whether the searchlight (found on police vehicles) is toggled on. + -- + -- @Author Nac + ["IS_VEHICLE_SEARCHLIGHT_ON"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("C0F97FCE55094987");return native_invoker.get_return_value_bool();end, + -- Only works during nighttime. + ["SET_VEHICLE_SEARCHLIGHT"]=--[[void]] function(--[[Vehicle (int)]] heli,--[[BOOL (bool)]] toggle,--[[BOOL (bool)]] canBeUsedByAI)native_invoker.begin_call();native_invoker.push_arg_int(heli);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_bool(canBeUsedByAI);native_invoker.end_call("14E85C5EE7A4D542");end, + ["_DOES_VEHICLE_HAVE_SEARCHLIGHT"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("99015ED7DBEA5113");return native_invoker.get_return_value_bool();end, + ["_0x639431E895B9AA57"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p2,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p2);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("639431E895B9AA57");return native_invoker.get_return_value_bool();end, + ["_GET_ENTRY_POSITION_OF_DOOR"]=--[[Vector3 (vector3)]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.end_call("C0572928C0ABFDA3");return native_invoker.get_return_value_vector3();end, + ["CAN_SHUFFLE_SEAT"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] seatIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(seatIndex);native_invoker.end_call("30785D90C956BF35");return native_invoker.get_return_value_bool();end, + ["GET_NUM_MOD_KITS"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("33F2E3FE70EAAE1D");return native_invoker.get_return_value_int();end, + -- Set modKit to 0 if you plan to call SET_VEHICLE_MOD. That's what the game does. Most body modifications through SET_VEHICLE_MOD will not take effect until this is set to 0. + -- + -- Full list of vehicle mod kits and mods by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleModKits.json + ["SET_VEHICLE_MOD_KIT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] modKit)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modKit);native_invoker.end_call("1F2AA07F00B3217A");end, + ["GET_VEHICLE_MOD_KIT"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("6325D1A044AE510D");return native_invoker.get_return_value_int();end, + ["GET_VEHICLE_MOD_KIT_TYPE"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("FC058F5121E54C32");return native_invoker.get_return_value_int();end, + -- Returns an int + -- + -- Wheel Types: + -- 0: Sport + -- 1: Muscle + -- 2: Lowrider + -- 3: SUV + -- 4: Offroad + -- 5: Tuner + -- 6: Bike Wheels + -- 7: High End + -- + -- Tested in Los Santos Customs + ["GET_VEHICLE_WHEEL_TYPE"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("B3ED1BFB4BE636DC");return native_invoker.get_return_value_int();end, + -- 0: Sport + -- 1: Muscle + -- 2: Lowrider + -- 3: SUV + -- 4: Offroad + -- 5: Tuner + -- 6: Bike Wheels + -- 7: High End + ["SET_VEHICLE_WHEEL_TYPE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] WheelType)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(WheelType);native_invoker.end_call("487EB21CC7295BA1");end, + ["GET_NUM_MOD_COLORS"]=--[[int]] function(--[[int]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("A551BE18C11A476D");return native_invoker.get_return_value_int();end, + -- paintType: + -- 0: Normal + -- 1: Metallic + -- 2: Pearl + -- 3: Matte + -- 4: Metal + -- 5: Chrome + -- + -- color: number of the color. + -- + -- p3 seems to always be 0. + -- + -- Full list of vehicle colors and vehicle plates by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleColors.json + ["SET_VEHICLE_MOD_COLOR_1"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] paintType,--[[int]] color,--[[int]] p3)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(paintType);native_invoker.push_arg_int(color);native_invoker.push_arg_int(p3);native_invoker.end_call("43FEB945EE7F85B8");end, + -- Changes the secondary paint type and color + -- paintType: + -- 0: Normal + -- 1: Metallic + -- 2: Pearl + -- 3: Matte + -- 4: Metal + -- 5: Chrome + -- + -- color: number of the color + -- + -- Full list of vehicle colors and vehicle plates by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleColors.json + ["SET_VEHICLE_MOD_COLOR_2"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] paintType,--[[int]] color)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(paintType);native_invoker.push_arg_int(color);native_invoker.end_call("816562BADFDEC83E");end, + ["GET_VEHICLE_MOD_COLOR_1"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int* (pointer)]] paintType,--[[int* (pointer)]] color,--[[int* (pointer)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(paintType);native_invoker.push_arg_pointer(color);native_invoker.push_arg_pointer(p3);native_invoker.end_call("E8D65CA700C9A693");end, + ["GET_VEHICLE_MOD_COLOR_2"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int* (pointer)]] paintType,--[[int* (pointer)]] color)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(paintType);native_invoker.push_arg_pointer(color);native_invoker.end_call("81592BE4E3878728");end, + -- returns a string which is the codename of the vehicle's currently selected primary color + -- + -- p1 is always 0 + ["GET_VEHICLE_MOD_COLOR_1_NAME"]=--[[string]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("B45085B721EFD38C");return native_invoker.get_return_value_string();end, + -- returns a string which is the codename of the vehicle's currently selected secondary color + ["GET_VEHICLE_MOD_COLOR_2_NAME"]=--[[string]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("4967A516ED23A5A1");return native_invoker.get_return_value_string();end, + ["HAVE_VEHICLE_MODS_STREAMED_IN"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("9A83F5F9963775EF");return native_invoker.get_return_value_bool();end, + -- In b944, there are 50 (0 - 49) mod types. + -- + -- Sets the vehicle mod. + -- The vehicle must have a mod kit first. + -- + -- Any out of range ModIndex is stock. + -- + -- #Mod Type + -- Spoilers - 0 + -- Front Bumper - 1 + -- Rear Bumper - 2 + -- Side Skirt - 3 + -- Exhaust - 4 + -- Frame - 5 + -- Grille - 6 + -- Hood - 7 + -- Fender - 8 + -- Right Fender - 9 + -- Roof - 10 + -- Engine - 11 + -- Brakes - 12 + -- Transmission - 13 + -- Horns - 14 (modIndex from 0 to 51) + -- Suspension - 15 + -- Armor - 16 + -- Front Wheels - 23 + -- Back Wheels - 24 //only for motocycles + -- Plate holders - 25 + -- Trim Design - 27 + -- Ornaments - 28 + -- Dial Design - 30 + -- Steering Wheel - 33 + -- Shifter Leavers - 34 + -- Plaques - 35 + -- Hydraulics - 38 + -- Livery - 48 + -- + -- ENUMS: pastebin.com/QzEAn02v + ["SET_VEHICLE_MOD"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] modType,--[[int]] modIndex,--[[BOOL (bool)]] customTires)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modType);native_invoker.push_arg_int(modIndex);native_invoker.push_arg_bool(customTires);native_invoker.end_call("6AF0636DDEDCB6DD");end, + -- In b944, there are 50 (0 - 49) mod types. + -- + -- Returns -1 if the vehicle mod is stock + ["GET_VEHICLE_MOD"]=--[[int]] function(--[[Vehicle (int)]] vehicle,--[[int]] modType)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modType);native_invoker.end_call("772960298DA26FDB");return native_invoker.get_return_value_int();end, + -- Only used for wheels(ModType = 23/24) Returns true if the wheels are custom wheels + ["GET_VEHICLE_MOD_VARIATION"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] modType)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modType);native_invoker.end_call("B3924ECD70E095DC");return native_invoker.get_return_value_bool();end, + -- Returns how many possible mods a vehicle has for a given mod type + ["GET_NUM_VEHICLE_MODS"]=--[[int]] function(--[[Vehicle (int)]] vehicle,--[[int]] modType)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modType);native_invoker.end_call("E38E9162A2500646");return native_invoker.get_return_value_int();end, + ["REMOVE_VEHICLE_MOD"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] modType)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modType);native_invoker.end_call("92D619E420858204");end, + -- Toggles: + -- UNK17 - 17 + -- Turbo - 18 + -- UNK19 - 19 + -- Tire Smoke - 20 + -- UNK21 - 21 + -- Xenon Headlights - 22 + ["TOGGLE_VEHICLE_MOD"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] modType,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modType);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2A1F4F37F95BAD08");end, + ["IS_TOGGLE_MOD_ON"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] modType)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modType);native_invoker.end_call("84B233A8C8FC8AE7");return native_invoker.get_return_value_bool();end, + -- Returns the text label of a mod type for a given vehicle + -- + -- Use _GET_LABEL_TEXT to get the part name in the game's language + ["GET_MOD_TEXT_LABEL"]=--[[string]] function(--[[Vehicle (int)]] vehicle,--[[int]] modType,--[[int]] modValue)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modType);native_invoker.push_arg_int(modValue);native_invoker.end_call("8935624F8C5592CC");return native_invoker.get_return_value_string();end, + -- Returns the name for the type of vehicle mod(Armour, engine etc) + -- + ["GET_MOD_SLOT_NAME"]=--[[string]] function(--[[Vehicle (int)]] vehicle,--[[int]] modType)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modType);native_invoker.end_call("51F0FEB9F6AE98C0");return native_invoker.get_return_value_string();end, + -- Second Param = LiveryIndex + -- + -- example + -- + -- int count = VEHICLE::GET_VEHICLE_LIVERY_COUNT(veh); + -- for (int i = 0; i < count; i++) + -- { + -- const char* LiveryName = VEHICLE::GET_LIVERY_NAME(veh, i); + -- } + -- + -- + -- this example will work fine to fetch all names + -- for example for Sanchez we get + -- + -- SANC_LV1 + -- SANC_LV2 + -- SANC_LV3 + -- SANC_LV4 + -- SANC_LV5 + -- + -- + -- Use _GET_LABEL_TEXT, to get the localized livery name. + -- + -- Full list of vehicle mod kits and mods by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleModKits.json + ["GET_LIVERY_NAME"]=--[[string]] function(--[[Vehicle (int)]] vehicle,--[[int]] liveryIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(liveryIndex);native_invoker.end_call("B4C7A93837C91A1F");return native_invoker.get_return_value_string();end, + ["GET_VEHICLE_MOD_MODIFIER_VALUE"]=--[[float]] function(--[[Vehicle (int)]] vehicle,--[[int]] modType,--[[int]] modIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modType);native_invoker.push_arg_int(modIndex);native_invoker.end_call("90A38E9838E0A8C1");return native_invoker.get_return_value_float();end, + -- Can be used for IS_DLC_VEHICLE_MOD and _0xC098810437312FFF + ["GET_VEHICLE_MOD_IDENTIFIER_HASH"]=--[[Hash (int)]] function(--[[Vehicle (int)]] vehicle,--[[int]] modType,--[[int]] modIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modType);native_invoker.push_arg_int(modIndex);native_invoker.end_call("4593CF82AA179706");return native_invoker.get_return_value_int();end, + ["PRELOAD_VEHICLE_MOD"]=--[[void]] function(--[[Any (int)]] p0,--[[int]] modType,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(modType);native_invoker.push_arg_int(p2);native_invoker.end_call("758F49C24925568A");end, + ["HAS_PRELOAD_MODS_FINISHED"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("06F43E5175EB6D96");return native_invoker.get_return_value_bool();end, + ["RELEASE_PRELOAD_MODS"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("445D79F995508307");end, + -- Sets the tire smoke's color of this vehicle. + -- + -- vehicle: The vehicle that is the target of this method. + -- r: The red level in the RGB color code. + -- g: The green level in the RGB color code. + -- b: The blue level in the RGB color code. + -- + -- Note: + -- setting r,g,b to 0 will give the car independance day tyre smoke + ["SET_VEHICLE_TYRE_SMOKE_COLOR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] r,--[[int]] g,--[[int]] b)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.end_call("B5BA80F839791C0F");end, + ["GET_VEHICLE_TYRE_SMOKE_COLOR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int* (pointer)]] r,--[[int* (pointer)]] g,--[[int* (pointer)]] b)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(r);native_invoker.push_arg_pointer(g);native_invoker.push_arg_pointer(b);native_invoker.end_call("B635392A4938B3C3");end, + -- enum WindowTints + -- { + -- WINDOWTINT_NONE, + -- WINDOWTINT_PURE_BLACK, + -- WINDOWTINT_DARKSMOKE, + -- WINDOWTINT_LIGHTSMOKE, + -- WINDOWTINT_STOCK, + -- WINDOWTINT_LIMO, + -- WINDOWTINT_GREEN + -- }; + ["SET_VEHICLE_WINDOW_TINT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] tint)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(tint);native_invoker.end_call("57C51E6BAD752696");end, + ["GET_VEHICLE_WINDOW_TINT"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("0EE21293DAD47C95");return native_invoker.get_return_value_int();end, + ["GET_NUM_VEHICLE_WINDOW_TINTS"]=--[[int]] function()native_invoker.begin_call();native_invoker.end_call("9D1224004B3A6707");return native_invoker.get_return_value_int();end, + -- What's this for? Primary and Secondary RGB have their own natives and this one doesn't seem specific. + ["GET_VEHICLE_COLOR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int* (pointer)]] r,--[[int* (pointer)]] g,--[[int* (pointer)]] b)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(r);native_invoker.push_arg_pointer(g);native_invoker.push_arg_pointer(b);native_invoker.end_call("F3CC740D36221548");end, + -- Some kind of flags. + ["_0xEEBFC7A7EFDC35B4"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("EEBFC7A7EFDC35B4");return native_invoker.get_return_value_int();end, + -- iVar3 = get_vehicle_cause_of_destruction(uLocal_248[iVar2]); + -- if (iVar3 == joaat("weapon_stickybomb")) + -- { + -- func_171(726); + -- iLocal_260 = 1; + -- } + ["GET_VEHICLE_CAUSE_OF_DESTRUCTION"]=--[[Hash (int)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("E495D1EF4C91FD20");return native_invoker.get_return_value_int();end, + -- Sets some health value. Looks like it's used for helis. + ["_0x5EE5632F47AE9695"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] health)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(health);native_invoker.end_call("5EE5632F47AE9695");end, + -- From the driver's perspective, is the left headlight broken. + ["GET_IS_LEFT_VEHICLE_HEADLIGHT_DAMAGED"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("5EF77C9ADD3B11A3");return native_invoker.get_return_value_bool();end, + -- From the driver's perspective, is the right headlight broken. + ["GET_IS_RIGHT_VEHICLE_HEADLIGHT_DAMAGED"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("A7ECB73355EB2F20");return native_invoker.get_return_value_bool();end, + -- Only ever used once in decompiled scripts: **am_pi_menu**: + -- Returns true if the engine is on fire, or if the vehicle engine health is < 0 and it **has been** on fire. + -- + -- It sometimes doesn't return true when the vehicle engine has been on fire, and has since been fixed. I'm not really sure what the exact conditions are. + -- + -- This usually returns true even if there are no visible flames yet (engine health > 0). However if you monitor engine health you'll see that it starts decreasing as soon as this returns true. + ["_IS_VEHICLE_ENGINE_ON_FIRE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("EC69ADF931AAE0C3");return native_invoker.get_return_value_bool();end, + ["MODIFY_VEHICLE_TOP_SPEED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(value);native_invoker.end_call("93A3996368C94158");end, + -- To reset the max speed, set the `speed` value to `0.0` or lower. + ["_SET_VEHICLE_MAX_SPEED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] speed)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(speed);native_invoker.end_call("BAA045B4E42F3C06");end, + -- Has something to do with trains. Always precedes SET_MISSION_TRAIN_AS_NO_LONGER_NEEDED. + -- May be true that it can be used with trains not sure, but not specifically for trains. Go find Xbox360 decompiled scripts and search for 'func_1333' in freemode.c it isn't used just for trains. Thanks for the info tho. + ["_0x1CF38D529D7441D9"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("1CF38D529D7441D9");end, + ["_0x1F9FB66F3A3842D2"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("1F9FB66F3A3842D2");end, + -- Sets some bit and float of vehicle. float is >= 0 + -- SET_VEHICLE_* + ["_0x59C3757B3B7408E8"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_float(p2);native_invoker.end_call("59C3757B3B7408E8");end, + ["ADD_VEHICLE_COMBAT_ANGLED_AVOIDANCE_AREA"]=--[[Any (int)]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.end_call("54B0F614960F4A5F");return native_invoker.get_return_value_int();end, + ["REMOVE_VEHICLE_COMBAT_AVOIDANCE_AREA"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("E30524E1871F481D");end, + ["_IS_ANY_PASSENGER_RAPPELING_FROM_VEHICLE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("291E373D483E7EE7");return native_invoker.get_return_value_bool();end, + -- <1.0 - Decreased torque + -- =1.0 - Default torque + -- >1.0 - Increased torque + -- + -- Negative values will cause the vehicle to go backwards instead of forwards while accelerating. + -- + -- value - is between 0.2 and 1.8 in the decompiled scripts. + -- + -- This needs to be called every frame to take effect. + ["SET_VEHICLE_CHEAT_POWER_INCREASE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(value);native_invoker.end_call("B59E4BD37AE292DB");end, + ["_0x0AD9E8F87FF7C16F"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("0AD9E8F87FF7C16F");end, + -- Sets the wanted state of this vehicle. + -- + ["SET_VEHICLE_IS_WANTED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(state);native_invoker.end_call("F7EC25A3EBEEC726");end, + -- Sets the boat boom position for the `TR3` trailer. + -- Ratio value is between `0.0` and `1.0`, where `0.0` is 90 degrees to the left of the boat, and `1.0` is just slightly to the right/back of the boat. + -- To get the current boom position ratio, use GET_BOAT_BOOM_POSITION_RATIO + ["_SET_BOAT_BOOM_POSITION_RATIO"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] ratio)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(ratio);native_invoker.end_call("F488C566413B4232");end, + -- Same call as VEHICLE::_0x0F3B4D4E43177236 + ["_GET_BOAT_BOOM_POSITION_RATIO_2"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("C1F981A6F74F0C23");end, + ["_GET_BOAT_BOOM_POSITION_RATIO_3"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("0F3B4D4E43177236");end, + ["GET_BOAT_BOOM_POSITION_RATIO"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("6636C535F6CC2725");return native_invoker.get_return_value_float();end, + ["DISABLE_PLANE_AILERON"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("23428FC53C60919C");end, + -- Returns true when in a vehicle, false whilst entering/exiting. + ["GET_IS_VEHICLE_ENGINE_RUNNING"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("AE31E7DF9B5B132E");return native_invoker.get_return_value_bool();end, + ["SET_VEHICLE_USE_ALTERNATE_HANDLING"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("1D97D1E3A70A649F");end, + -- Only works on bikes, both X and Y work in the -1 - 1 range. + -- + -- X forces the bike to turn left or right (-1, 1) + -- Y forces the bike to lean to the left or to the right (-1, 1) + -- + -- Example with X -1/Y 1 + -- http://i.imgur.com/TgIuAPJ.jpg + ["SET_BIKE_ON_STAND"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] x,--[[float]] y)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.end_call("9CFA4896C3A53CBB");end, + ["_0xAB04325045427AAE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("AB04325045427AAE");end, + -- what does this do? + ["_0xCFD778E7904C255E"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("CFD778E7904C255E");end, + ["SET_LAST_DRIVEN_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("ACFB2463CC22BED2");end, + ["GET_LAST_DRIVEN_VEHICLE"]=--[[Vehicle (int)]] function()native_invoker.begin_call();native_invoker.end_call("B2D06FAEDE65B577");return native_invoker.get_return_value_int();end, + ["CLEAR_LAST_DRIVEN_VEHICLE"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E01903C47C7AC89E");end, + ["SET_VEHICLE_HAS_BEEN_DRIVEN_FLAG"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("02398B627547189C");end, + ["SET_TASK_VEHICLE_GOTO_PLANE_MIN_HEIGHT_ABOVE_TERRAIN"]=--[[void]] function(--[[Vehicle (int)]] plane,--[[int]] height)native_invoker.begin_call();native_invoker.push_arg_int(plane);native_invoker.push_arg_int(height);native_invoker.end_call("B893215D8D4C015B");end, + ["SET_VEHICLE_LOD_MULTIPLIER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(multiplier);native_invoker.end_call("93AE6A61BE015BF1");end, + ["SET_VEHICLE_CAN_SAVE_IN_GARAGE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("428BACCDF5E26EAD");end, + -- Also includes some "turnOffBones" when vehicle mods are installed. + ["_GET_VEHICLE_NUMBER_OF_BROKEN_OFF_BONES"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("42A4BEB35D372407");return native_invoker.get_return_value_int();end, + ["_GET_VEHICLE_NUMBER_OF_BROKEN_BONES"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("2C8CBFE1EA5FC631");return native_invoker.get_return_value_int();end, + ["_0x4D9D109F63FEE1D4"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("4D9D109F63FEE1D4");end, + -- SET_VEHICLE_* + ["_0x279D50DE5652D935"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("279D50DE5652D935");end, + -- Copies sourceVehicle's damage (broken bumpers, broken lights, etc.) to targetVehicle. + ["COPY_VEHICLE_DAMAGES"]=--[[void]] function(--[[Vehicle (int)]] sourceVehicle,--[[Vehicle (int)]] targetVehicle)native_invoker.begin_call();native_invoker.push_arg_int(sourceVehicle);native_invoker.push_arg_int(targetVehicle);native_invoker.end_call("E44A982368A4AF23");end, + ["_0xF25E02CB9C5818F8"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("F25E02CB9C5818F8");end, + ["SET_LIGHTS_CUTOFF_DISTANCE_TWEAK"]=--[[void]] function(--[[float]] distance)native_invoker.begin_call();native_invoker.push_arg_float(distance);native_invoker.end_call("BC3CCA5844452B06");end, + -- Commands the driver of an armed vehicle (p0) to shoot its weapon at a target (p1). p3, p4 and p5 are the coordinates of the target. Example: + -- + -- WEAPON::SET_CURRENT_PED_VEHICLE_WEAPON(pilot,MISC::GET_HASH_KEY("VEHICLE_WEAPON_PLANE_ROCKET")); VEHICLE::SET_VEHICLE_SHOOT_AT_TARGET(pilot, target, targPos.x, targPos.y, targPos.z); + ["SET_VEHICLE_SHOOT_AT_TARGET"]=--[[void]] function(--[[Ped (int)]] driver,--[[Entity (int)]] entity,--[[float]] xTarget,--[[float]] yTarget,--[[float]] zTarget)native_invoker.begin_call();native_invoker.push_arg_int(driver);native_invoker.push_arg_int(entity);native_invoker.push_arg_float(xTarget);native_invoker.push_arg_float(yTarget);native_invoker.push_arg_float(zTarget);native_invoker.end_call("74CD9A9327A282EA");end, + ["GET_VEHICLE_LOCK_ON_TARGET"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[Entity* (pointer)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(entity);native_invoker.end_call("8F5EBAB1F260CFCE");return native_invoker.get_return_value_bool();end, + ["SET_FORCE_HD_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("97CE68CB032583F0");end, + ["_0x182F266C2D9E2BEB"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p1);native_invoker.end_call("182F266C2D9E2BEB");end, + ["GET_VEHICLE_PLATE_TYPE"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("9CCC9525BF2408E0");return native_invoker.get_return_value_int();end, + -- in script hook .net + -- + -- Vehicle v = ...; + -- Function.Call(Hash.TRACK_VEHICLE_VISIBILITY, v.Handle); + ["TRACK_VEHICLE_VISIBILITY"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("64473AEFDCF47DCA");end, + -- must be called after TRACK_VEHICLE_VISIBILITY + -- + -- it's not instant so probabilly must pass an 'update' to see correct result. + ["IS_VEHICLE_VISIBLE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("AA0A52D24FB98293");return native_invoker.get_return_value_bool();end, + ["SET_VEHICLE_GRAVITY"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("89F149B6131E57DA");end, + -- Enable/Disables global slipstream physics + ["SET_ENABLE_VEHICLE_SLIPSTREAMING"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("E6C0C80B8C867537");end, + ["_0xF051D9BFB6BA39C0"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("F051D9BFB6BA39C0");end, + -- Returns a float value between 0.0 and 3.0 related to its slipstream draft (boost/speedup). + -- + -- GET_VEHICLE_* + ["_GET_VEHICLE_CURRENT_SLIPSTREAM_DRAFT"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("36492C2F0D134C56");return native_invoker.get_return_value_float();end, + -- Returns true if the vehicle is being slipstreamed by another vehicle + ["_IS_VEHICLE_SLIPSTREAM_LEADER"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("48C633E94A8142A7");return native_invoker.get_return_value_bool();end, + ["SET_VEHICLE_INACTIVE_DURING_PLAYBACK"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("06582AFF74894C75");end, + ["SET_VEHICLE_ACTIVE_DURING_PLAYBACK"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("DFFCEF48E511DB48");end, + -- Returns false if the vehicle has the FLAG_NO_RESPRAY flag set. + ["IS_VEHICLE_SPRAYABLE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("8D474C8FAEFF6CDE");return native_invoker.get_return_value_bool();end, + ["SET_VEHICLE_ENGINE_CAN_DEGRADE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("983765856F2564F9");end, + -- Adds some kind of shadow to the vehicle. + -- + -- -1 disables the effect. + -- DISABLE_* + ["_SET_VEHICLE_SHADOW_EFFECT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("F0E4BA16D1DB546C");end, + -- Remove the weird shadow applied by _SET_VEHICLE_SHADOW_EFFECT. + -- ENABLE_* + ["_REMOVE_VEHICLE_SHADOW_EFFECT"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("F87D9F2301F7D206");end, + ["IS_PLANE_LANDING_GEAR_INTACT"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] plane)native_invoker.begin_call();native_invoker.push_arg_int(plane);native_invoker.end_call("4198AB0022B15F87");return native_invoker.get_return_value_bool();end, + ["ARE_PLANE_PROPELLERS_INTACT"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] plane)native_invoker.begin_call();native_invoker.push_arg_int(plane);native_invoker.end_call("755D6D5267CBBD7E");return native_invoker.get_return_value_bool();end, + ["_0x4C815EB175086F84"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("4C815EB175086F84");return native_invoker.get_return_value_int();end, + ["SET_VEHICLE_CAN_DEFORM_WHEELS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("0CDDA42F9E360CA6");end, + ["IS_VEHICLE_STOLEN"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("4AF9BD80EEBEB453");return native_invoker.get_return_value_bool();end, + ["SET_VEHICLE_IS_STOLEN"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] isStolen)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(isStolen);native_invoker.end_call("67B2C79AA7FF5738");end, + -- This native sets the turbulence multiplier. It only works for planes. + -- 0.0 = no turbulence at all. + -- 1.0 = heavy turbulence. + -- Works by just calling it once, does not need to be called every tick. + ["SET_PLANE_TURBULENCE_MULTIPLIER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(multiplier);native_invoker.end_call("AD2D28A1AFDFF131");end, + -- ADD_A_MARKER_OVER_VEHICLE was a hash collision!!! + -- + -- Can be used for planes only! + ["_ARE_PLANE_WINGS_INTACT"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] plane)native_invoker.begin_call();native_invoker.push_arg_int(plane);native_invoker.end_call("5991A01434CE9677");return native_invoker.get_return_value_bool();end, + -- This native doesn't seem to do anything, might be a debug-only native. + -- + -- Confirmed, it is a debug native. + ["_0xB264C4D2F2B0A78B"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("B264C4D2F2B0A78B");end, + ["DETACH_VEHICLE_FROM_CARGOBOB"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Vehicle (int)]] cargobob)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(cargobob);native_invoker.end_call("0E21D3DF1051399D");end, + ["DETACH_VEHICLE_FROM_ANY_CARGOBOB"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("ADF7BE450512C12F");return native_invoker.get_return_value_bool();end, + ["_DETACH_ENTITY_FROM_CARGOBOB"]=--[[Any (int)]] function(--[[Vehicle (int)]] cargobob,--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.push_arg_int(entity);native_invoker.end_call("AF03011701811146");return native_invoker.get_return_value_int();end, + ["IS_VEHICLE_ATTACHED_TO_CARGOBOB"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] cargobob,--[[Vehicle (int)]] vehicleAttached)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.push_arg_int(vehicleAttached);native_invoker.end_call("D40148F22E81A1D9");return native_invoker.get_return_value_bool();end, + -- Returns attached vehicle (Vehicle in parameter must be cargobob) + ["GET_VEHICLE_ATTACHED_TO_CARGOBOB"]=--[[Vehicle (int)]] function(--[[Vehicle (int)]] cargobob)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.end_call("873B82D42AC2B9E5");return native_invoker.get_return_value_int();end, + ["_GET_ENTITY_ATTACHED_TO_CARGOBOB"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("99093F60746708CA");return native_invoker.get_return_value_int();end, + ["ATTACH_VEHICLE_TO_CARGOBOB"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Vehicle (int)]] cargobob,--[[int]] p2,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(cargobob);native_invoker.push_arg_int(p2);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("4127F1D84E347769");end, + ["_ATTACH_ENTITY_TO_CARGOBOB"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.end_call("A1DD82F3CCF9A01E");end, + -- Stops cargobob from beeing able to detach the attached vehicle. + ["_SET_CARGOBOB_HOOK_CAN_DETACH"]=--[[void]] function(--[[Vehicle (int)]] cargobob,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.push_arg_bool(toggle);native_invoker.end_call("571FEB383F629926");end, + ["_0x1F34B0626C594380"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("1F34B0626C594380");end, + ["_0x2C1D8B3B19E517CC"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("2C1D8B3B19E517CC");return native_invoker.get_return_value_int();end, + -- Gets the position of the cargobob hook, in world coords. + ["_GET_CARGOBOB_HOOK_POSITION"]=--[[Vector3 (vector3)]] function(--[[Vehicle (int)]] cargobob)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.end_call("CBDB9B923CACC92D");return native_invoker.get_return_value_vector3();end, + -- Returns true only when the hook is active, will return false if the magnet is active + ["DOES_CARGOBOB_HAVE_PICK_UP_ROPE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] cargobob)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.end_call("1821D91AD4B56108");return native_invoker.get_return_value_bool();end, + -- Drops the Hook/Magnet on a cargobob + -- + -- state + -- enum eCargobobHook + -- { + -- CARGOBOB_HOOK = 0, + -- CARGOBOB_MAGNET = 1, + -- }; + ["CREATE_PICK_UP_ROPE_FOR_CARGOBOB"]=--[[void]] function(--[[Vehicle (int)]] cargobob,--[[int]] state)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.push_arg_int(state);native_invoker.end_call("7BEB0C7A235F6F3B");end, + -- Retracts the hook on the cargobob. + -- + -- Note: after you retract it the natives for dropping the hook no longer work + ["REMOVE_PICK_UP_ROPE_FOR_CARGOBOB"]=--[[void]] function(--[[Vehicle (int)]] cargobob)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.end_call("9768CF648F54C804");end, + -- min: 1.9f, max: 100.0f + ["SET_PICKUP_ROPE_LENGTH_FOR_CARGOBOB"]=--[[void]] function(--[[Vehicle (int)]] cargobob,--[[float]] length1,--[[float]] length2,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.push_arg_float(length1);native_invoker.push_arg_float(length2);native_invoker.push_arg_bool(p3);native_invoker.end_call("877C1EAEAC531023");end, + ["_0xC0ED6438E6D39BA8"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("C0ED6438E6D39BA8");end, + ["SET_CARGOBOB_PICKUP_ROPE_DAMPING_MULTIPLIER"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("CF1182F682F65307");end, + ["SET_CARGOBOB_PICKUP_ROPE_TYPE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("0D5F65A8F4EBDAB5");end, + -- Returns true only when the magnet is active, will return false if the hook is active + ["DOES_CARGOBOB_HAVE_PICKUP_MAGNET"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] cargobob)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.end_call("6E08BF5B3722BAC9");return native_invoker.get_return_value_bool();end, + -- Won't attract or magnetize to any helicopters or planes of course, but that's common sense. + ["SET_CARGOBOB_PICKUP_MAGNET_ACTIVE"]=--[[void]] function(--[[Vehicle (int)]] cargobob,--[[BOOL (bool)]] isActive)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.push_arg_bool(isActive);native_invoker.end_call("9A665550F8DA349B");end, + ["SET_CARGOBOB_PICKUP_MAGNET_STRENGTH"]=--[[void]] function(--[[Vehicle (int)]] cargobob,--[[float]] strength)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.push_arg_float(strength);native_invoker.end_call("BCBFCD9D1DAC19E2");end, + ["SET_CARGOBOB_PICKUP_MAGNET_EFFECT_RADIUS"]=--[[void]] function(--[[Vehicle (int)]] cargobob,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.push_arg_float(p1);native_invoker.end_call("A17BAD153B51547E");end, + ["SET_CARGOBOB_PICKUP_MAGNET_REDUCED_FALLOFF"]=--[[void]] function(--[[Vehicle (int)]] cargobob,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.push_arg_float(p1);native_invoker.end_call("66979ACF5102FD2F");end, + ["SET_CARGOBOB_PICKUP_MAGNET_PULL_ROPE_LENGTH"]=--[[void]] function(--[[Vehicle (int)]] cargobob,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.push_arg_float(p1);native_invoker.end_call("6D8EAC07506291FB");end, + ["SET_CARGOBOB_PICKUP_MAGNET_PULL_STRENGTH"]=--[[void]] function(--[[Vehicle (int)]] cargobob,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(cargobob);native_invoker.push_arg_float(p1);native_invoker.end_call("ED8286F71A819BAA");end, + ["SET_CARGOBOB_PICKUP_MAGNET_FALLOFF"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p1);native_invoker.end_call("685D5561680D088B");end, + ["SET_CARGOBOB_PICKUP_MAGNET_REDUCED_STRENGTH"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Vehicle (int)]] cargobob)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(cargobob);native_invoker.end_call("E301BD63E9E13CF0");end, + ["_0x9BDDC73CC6A115D4"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("9BDDC73CC6A115D4");end, + ["_0x56EB5E94318D3FB6"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("56EB5E94318D3FB6");end, + ["DOES_VEHICLE_HAVE_WEAPONS"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("25ECB9F8017D98E0");return native_invoker.get_return_value_bool();end, + -- SET_VEHICLE_W* (next character is either H or I) + ["_0x2C4A1590ABF43E8B"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("2C4A1590ABF43E8B");end, + -- how does this work? + ["DISABLE_VEHICLE_WEAPON"]=--[[void]] function(--[[BOOL (bool)]] disabled,--[[Hash (int)]] weaponHash,--[[Vehicle (int)]] vehicle,--[[Ped (int)]] owner)native_invoker.begin_call();native_invoker.push_arg_bool(disabled);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(owner);native_invoker.end_call("F4FC6A6F67D8D856");end, + ["_IS_VEHICLE_WEAPON_DISABLED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] weaponHash,--[[Vehicle (int)]] vehicle,--[[Ped (int)]] owner)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(owner);native_invoker.end_call("563B65A643ED072E");return native_invoker.get_return_value_bool();end, + ["_0xE05DD0E9707003A3"]=--[[void]] function(--[[Any (int)]] p0,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_bool(p1);native_invoker.end_call("E05DD0E9707003A3");end, + ["SET_VEHICLE_ACTIVE_FOR_PED_NAVIGATION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("21115BCD6E44656A");end, + -- Returns an int + -- + -- Vehicle Classes: + -- 0: Compacts + -- 1: Sedans + -- 2: SUVs + -- 3: Coupes + -- 4: Muscle + -- 5: Sports Classics + -- 6: Sports + -- 7: Super + -- 8: Motorcycles + -- 9: Off-road + -- 10: Industrial + -- 11: Utility + -- 12: Vans + -- 13: Cycles + -- 14: Boats + -- 15: Helicopters + -- 16: Planes + -- 17: Service + -- 18: Emergency + -- 19: Military + -- 20: Commercial + -- 21: Trains + -- + -- char buffer[128]; + -- std::sprintf(buffer, "VEH_CLASS_%i", VEHICLE::GET_VEHICLE_CLASS(vehicle)); + -- + -- const char* className = HUD::_GET_LABEL_TEXT(buffer); + ["GET_VEHICLE_CLASS"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("29439776AAA00A62");return native_invoker.get_return_value_int();end, + -- For a full enum, see here : pastebin.com/i2GGAjY0 + -- + -- char buffer[128]; + -- std::sprintf(buffer, "VEH_CLASS_%i", VEHICLE::GET_VEHICLE_CLASS_FROM_NAME (hash)); + -- + -- const char* className = HUD::_GET_LABEL_TEXT(buffer); + -- + -- Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + ["GET_VEHICLE_CLASS_FROM_NAME"]=--[[int]] function(--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(modelHash);native_invoker.end_call("DEDF1C8BD47C2200");return native_invoker.get_return_value_int();end, + ["SET_PLAYERS_LAST_VEHICLE"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("BCDF8BAF56C87B6A");end, + ["SET_VEHICLE_CAN_BE_USED_BY_FLEEING_PEDS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("300504B23BD3B711");end, + ["_0xE5810AC70602F2F5"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p1);native_invoker.end_call("E5810AC70602F2F5");end, + -- Money pickups are created around cars when they explode. Only works when the vehicle model is a car. A single pickup is between 1 and 18 dollars in size. All car models seem to give the same amount of money. + -- + -- youtu.be/3arlUxzHl5Y + -- i.imgur.com/WrNpYFs.jpg + ["SET_VEHICLE_DROPS_MONEY_WHEN_BLOWN_UP"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("068F64F2470F9656");end, + -- VEHICLE::SET_VEHICLE_ENGINE_ON is not enough to start jet engines when not inside the vehicle. But with this native set to true it works: youtu.be/OK0ps2fDpxs + -- i.imgur.com/7XA14pX.png + -- Certain planes got jet engines. + ["_SET_VEHICLE_JET_ENGINE_ON"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B8FBC8B1330CA9B4");end, + -- Seems to copy some values in vehicle + ["_0x6A973569BA094650"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.end_call("6A973569BA094650");end, + -- Use the "AIHandling" string found in handling.meta + ["_SET_VEHICLE_HANDLING_HASH_FOR_AI"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Hash (int)]] hash)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(hash);native_invoker.end_call("10655FAB9915623D");end, + -- Max value is 32767 + ["SET_VEHICLE_EXTENDED_REMOVAL_RANGE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] range)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(range);native_invoker.end_call("79DF7E806202CE01");end, + ["SET_VEHICLE_STEERING_BIAS_SCALAR"]=--[[void]] function(--[[Any (int)]] p0,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_float(p1);native_invoker.end_call("9007A2F21DC108D4");end, + -- value between 0.0 and 1.0 + ["_SET_HELICOPTER_ROLL_PITCH_YAW_MULT"]=--[[void]] function(--[[Vehicle (int)]] helicopter,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(helicopter);native_invoker.push_arg_float(multiplier);native_invoker.end_call("6E0859B530A365CC");end, + -- Seems to be related to the metal parts, not tyres (like i was expecting lol) + ["SET_VEHICLE_FRICTION_OVERRIDE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] friction)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(friction);native_invoker.end_call("1837AF7C627009BA");end, + ["SET_VEHICLE_WHEELS_CAN_BREAK_OFF_WHEN_BLOW_UP"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("A37B9A517B133349");end, + ["_0xF78F94D60248C737"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("F78F94D60248C737");return native_invoker.get_return_value_bool();end, + -- Previously named GET_VEHICLE_DEFORMATION_GET_TREE (hash collision) + -- + -- from Decrypted Scripts I found + -- VEHICLE::SET_VEHICLE_CEILING_HEIGHT(l_BD9[2/*2*/], 420.0); + ["SET_VEHICLE_CEILING_HEIGHT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] height)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(height);native_invoker.end_call("A46413066687A328");end, + ["_0x5E569EC46EC21CAE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("5E569EC46EC21CAE");end, + ["CLEAR_VEHICLE_ROUTE_HISTORY"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("6D6AF961B72728AE");end, + ["DOES_VEHICLE_EXIST_WITH_DECORATOR"]=--[[BOOL (bool)]] function(--[[string]] decorator)native_invoker.begin_call();native_invoker.push_arg_string(decorator);native_invoker.end_call("956B409B984D9BF7");return native_invoker.get_return_value_bool();end, + -- Used to be incorrectly named SET_VEHICLE_EXCLUSIVE_DRIVER + -- + -- Likely SET_VEHICLE_ALLOW_* + -- + -- Jenkins hash may be wrong, unsure at this time. + -- Toggles a flag related to SET_VEHICLE_EXCLUSIVE_DRIVER, however, doesn't enable that feature (or trigger script events related to it). + ["_0x41062318F23ED854"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("41062318F23ED854");end, + -- index: 0 - 1 + -- + -- Used to be incorrectly named _SET_VEHICLE_EXCLUSIVE_DRIVER_2 + ["SET_VEHICLE_EXCLUSIVE_DRIVER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Ped (int)]] ped,--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(ped);native_invoker.push_arg_int(index);native_invoker.end_call("B5C51B5502E85E83");end, + ["_IS_PED_EXCLUSIVE_DRIVER_OF_VEHICLE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Vehicle (int)]] vehicle,--[[int* (pointer)]] outIndex)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(outIndex);native_invoker.end_call("B09D25E77C33EB3F");return native_invoker.get_return_value_bool();end, + ["_DISABLE_PLANE_PROPELLER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.end_call("500873A45724C863");end, + ["SET_VEHICLE_FORCE_AFTERBURNER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B055A34527CB8FD7");end, + -- R* used it to "remove" vehicle windows when "nightshark" had some mod, which adding some kind of armored windows. When enabled, you can't break vehicles glass. All your bullets wiil shoot through glass. You also will not able to break the glass with any other way (hitting and etc) + ["_SET_DISABLE_VEHICLE_WINDOW_COLLISIONS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("1087BC8EC540DAEB");end, + ["_0x4AD280EB48B2D8E6"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] togle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(togle);native_invoker.end_call("4AD280EB48B2D8E6");end, + -- Sets value for vehicle. Vehicle is a helicopter? + -- _SET_HELICOPTER_* + ["_0xB68CFAF83A02768D"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B68CFAF83A02768D");end, + -- Sets some float for vehicle (def -1f) + -- SET_VEHICLE_* + ["_0x0205F5365292D2EB"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p1);native_invoker.end_call("0205F5365292D2EB");end, + ["_0xCF9159024555488C"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("CF9159024555488C");end, + -- Toggles to render distant vehicles. They may not be vehicles but images to look like vehicles. + ["SET_DISTANT_CARS_ENABLED"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("F796359A959DF65D");end, + -- Sets the color of the neon lights of the specified vehicle. + -- + -- More info: pastebin.com/G49gqy8b + ["_SET_VEHICLE_NEON_LIGHTS_COLOUR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] r,--[[int]] g,--[[int]] b)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(r);native_invoker.push_arg_int(g);native_invoker.push_arg_int(b);native_invoker.end_call("8E0A582209A62695");end, + -- Sets some value for vehicle from array based on index + -- _SET_VEHICLE_* + ["_0xB93B2867F7B479D1"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(index);native_invoker.end_call("B93B2867F7B479D1");end, + -- Gets the color of the neon lights of the specified vehicle. + -- + -- See _SET_VEHICLE_NEON_LIGHTS_COLOUR (0x8E0A582209A62695) for more information + ["_GET_VEHICLE_NEON_LIGHTS_COLOUR"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int* (pointer)]] r,--[[int* (pointer)]] g,--[[int* (pointer)]] b)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(r);native_invoker.push_arg_pointer(g);native_invoker.push_arg_pointer(b);native_invoker.end_call("7619EEE8C886757F");end, + -- Sets the neon lights of the specified vehicle on/off. + -- + -- Indices: + -- 0 = Left + -- 1 = Right + -- 2 = Front + -- 3 = Back + ["_SET_VEHICLE_NEON_LIGHT_ENABLED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] index,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(index);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2AA720E4287BF269");end, + -- indices: + -- 0 = Left + -- 1 = Right + -- 2 = Front + -- 3 = Back + ["_IS_VEHICLE_NEON_LIGHT_ENABLED"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] index)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(index);native_invoker.end_call("8C4B92553E4766A5");return native_invoker.get_return_value_bool();end, + ["_0x35E0654F4BAD7971"]=--[[void]] function(--[[BOOL (bool)]] p0)native_invoker.begin_call();native_invoker.push_arg_bool(p0);native_invoker.end_call("35E0654F4BAD7971");end, + ["_DISABLE_VEHICLE_NEON_LIGHTS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("83F813570FF519DE");end, + ["_0xB088E9A47AE6EDD5"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("B088E9A47AE6EDD5");end, + -- REQUEST_VEHICLE_* + ["_REQUEST_VEHICLE_DASHBOARD_SCALEFORM_MOVIE"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("DBA3C090E3D74690");end, + -- Seems related to vehicle health, like the one in IV. + -- Max 1000, min 0. + -- Vehicle does not necessarily explode or become undrivable at 0. + ["GET_VEHICLE_BODY_HEALTH"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("F271147EB7B40F12");return native_invoker.get_return_value_float();end, + -- p2 often set to 1000.0 in the decompiled scripts. + ["SET_VEHICLE_BODY_HEALTH"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(value);native_invoker.end_call("B77D05AC8C78AADB");end, + -- Outputs 2 Vector3's. + -- Scripts check if out2.x - out1.x > someshit.x + -- Could be suspension related, as in max suspension height and min suspension height, considering the natives location. + ["_GET_VEHICLE_SUSPENSION_BOUNDS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Vector3* (pointer)]] out1,--[[Vector3* (pointer)]] out2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_pointer(out1);native_invoker.push_arg_pointer(out2);native_invoker.end_call("DF7E3EEB29642C38");end, + -- Gets the height of the vehicle's suspension. + -- The higher the value the lower the suspension. Each 0.002 corresponds with one more level lowered. + -- 0.000 is the stock suspension. + -- 0.008 is Ultra Suspension. + ["_GET_VEHICLE_SUSPENSION_HEIGHT"]=--[[float]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("53952FD2BAA19F17");return native_invoker.get_return_value_float();end, + -- Something to do with "high speed bump severity"? + -- + -- if (!sub_87a46("SET_CAR_HIGH_SPEED_BUMP_SEVERITY_MULTIPLIER")) { + -- VEHICLE::_84FD40F56075E816(0.0); + -- sub_8795b("SET_CAR_HIGH_SPEED_BUMP_SEVERITY_MULTIPLIER", 1); + -- } + ["_SET_CAR_HIGH_SPEED_BUMP_SEVERITY_MULTIPLIER"]=--[[void]] function(--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_float(multiplier);native_invoker.end_call("84FD40F56075E816");end, + ["_GET_NUMBER_OF_VEHICLE_DOORS"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("92922A607497B14D");return native_invoker.get_return_value_int();end, + ["_SET_HYDRAULIC_RAISED"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("28B18377EB6E25F6");end, + ["_0xA7DCDF4DED40A8F4"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("A7DCDF4DED40A8F4");end, + -- 0 min 100 max + -- starts at 100 + -- Seams to have health zones + -- Front of vehicle when damaged goes from 100-50 and stops at 50. + -- Rear can be damaged from 100-0 + -- Only tested with two cars. + -- + -- any idea how this differs from the first one? + -- + -- -- + -- May return the vehicle health on a scale of 0.0 - 100.0 (needs to be confirmed) + -- + -- example: + -- + -- v_F = ENTITY::GET_ENTITY_MODEL(v_3); + -- if (((v_F == ${tanker}) || (v_F == ${armytanker})) || (v_F == ${tanker2})) { + -- if (VEHICLE::_GET_VEHICLE_BODY_HEALTH_2(v_3) <= 1.0) { + -- NETWORK::NETWORK_EXPLODE_VEHICLE(v_3, 1, 1, -1); + -- } + -- } + ["_GET_VEHICLE_BODY_HEALTH_2"]=--[[float]] function(--[[Vehicle (int)]] vehicle,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.end_call("B8EF61207C2393A9");return native_invoker.get_return_value_float();end, + -- Only used like this: + -- + -- if (VEHICLE::_D4C4642CB7F50B5D(ENTITY::GET_VEHICLE_INDEX_FROM_ENTITY_INDEX(v_3))) { + -- sub_157e9c(g_40001._f1868, 0); + -- } + ["_0xD4C4642CB7F50B5D"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("D4C4642CB7F50B5D");return native_invoker.get_return_value_bool();end, + ["_0xC361AA040D6637A8"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("C361AA040D6637A8");end, + ["SET_VEHICLE_KERS_ALLOWED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("99C82F8A139F3E4E");end, + -- Returns true if the vehicle has a kers boost (for instance the lectro or the vindicator) + ["GET_VEHICLE_HAS_KERS"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("50634E348C8D44EF");return native_invoker.get_return_value_bool();end, + ["_0xE16142B94664DEFD"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.end_call("E16142B94664DEFD");end, + ["_0x26D99D5A82FD18E8"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("26D99D5A82FD18E8");end, + -- Works only on vehicles that support hydraulic. + ["_SET_HYDRAULIC_WHEEL_VALUE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] wheelId,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(wheelId);native_invoker.push_arg_float(value);native_invoker.end_call("84EA99C62CB3EF0C");end, + ["_SET_CAMBERED_WHEELS_DISABLED"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("1201E8A3290A3B98");end, + ["_SET_HYDRAULIC_WHEEL_STATE"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("8EA86DF356801C7D");end, + -- Sets vehicle wheel hydraulic states transition. Known states: + -- 0 - reset + -- 1 - raise wheel (uses value arg, works just like _SET_VEHICLE_HYDRAULIC_WHEEL_VALUE) + -- 2 - jump using wheel + ["_SET_HYDRAULIC_WHEEL_STATE_TRANSITION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] wheelId,--[[int]] state,--[[float]] value,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(wheelId);native_invoker.push_arg_int(state);native_invoker.push_arg_float(value);native_invoker.push_arg_int(p4);native_invoker.end_call("C24075310A8B9CD1");end, + ["_0x5BA68A0840D546AC"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("5BA68A0840D546AC");return native_invoker.get_return_value_int();end, + -- CLEAR_VEHICLE_* + ["_0x4419966C9936071A"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("4419966C9936071A");end, + ["_0x870B8B7A766615C8"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("870B8B7A766615C8");end, + ["_0x8533CAFDE1F0F336"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("8533CAFDE1F0F336");return native_invoker.get_return_value_int();end, + -- SET_VEHICLE_D* + ["_SET_VEHICLE_DAMAGE_MODIFIER"]=--[[Any (int)]] function(--[[Vehicle (int)]] vehicle,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(p1);native_invoker.end_call("4E20D2A627011E8E");return native_invoker.get_return_value_int();end, + ["_SET_VEHICLE_UNK_DAMAGE_MULTIPLIER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(multiplier);native_invoker.end_call("45A561A9421AB6AD");end, + ["_0xD4196117AF7BB974"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("D4196117AF7BB974");return native_invoker.get_return_value_int();end, + ["_0xBB2333BB87DDD87F"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("BB2333BB87DDD87F");end, + ["_0x73561D4425A021A2"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("73561D4425A021A2");end, + -- Inverts vehicle's controls. So INPUT_VEH_ACCELERATE will be INPUT_VEH_BRAKE and vise versa (same for A/D controls) + -- Doesn't work for planes/helis. + ["_SET_VEHICLE_CONTROLS_INVERTED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(state);native_invoker.end_call("5B91B229243351A8");end, + ["_0x7BBE7FF626A591FE"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("7BBE7FF626A591FE");end, + ["_0x65B080555EA48149"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("65B080555EA48149");end, + -- SET_* + ["_0x428AD3E26C8D9EB0"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] p4)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(p4);native_invoker.end_call("428AD3E26C8D9EB0");end, + -- RESET_* + -- + -- Resets the effect of 0x428AD3E26C8D9EB0 + ["_0xE2F53F172B45EDE1"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("E2F53F172B45EDE1");end, + ["_0xBA91D045575699AD"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("BA91D045575699AD");return native_invoker.get_return_value_bool();end, + ["_0x80E3357FDEF45C21"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("80E3357FDEF45C21");end, + ["_SET_VEHICLE_RAMP_LAUNCH_MODIFIER"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("EFC13B1CE30D755D");end, + ["_GET_IS_DOOR_VALID"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[int]] doorIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(doorIndex);native_invoker.end_call("645F4B6E8499F632");return native_invoker.get_return_value_bool();end, + ["_SET_VEHICLE_ROCKET_BOOST_REFILL_TIME"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] seconds)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(seconds);native_invoker.end_call("E00F2AB100B76E89");end, + ["_GET_HAS_ROCKET_BOOST"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("36D782F68B309BDA");return native_invoker.get_return_value_bool();end, + ["_IS_VEHICLE_ROCKET_BOOST_ACTIVE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("3D34E80EED4AE3BE");return native_invoker.get_return_value_bool();end, + ["_SET_VEHICLE_ROCKET_BOOST_ACTIVE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] active)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(active);native_invoker.end_call("81E1552E35DC3839");end, + ["_GET_HAS_RETRACTABLE_WHEELS"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("DCA174A42133F08C");return native_invoker.get_return_value_bool();end, + ["_GET_IS_WHEELS_LOWERED_STATE_ACTIVE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("1DA0DA9CB3F0C8BF");return native_invoker.get_return_value_bool();end, + ["_RAISE_RETRACTABLE_WHEELS"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("F660602546D27BA8");end, + ["_LOWER_RETRACTABLE_WHEELS"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("5335BE58C083E74E");end, + -- Returns true if the vehicle has the FLAG_JUMPING_CAR flag set. + ["_GET_CAN_VEHICLE_JUMP"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("9078C0C5EF8C19E9");return native_invoker.get_return_value_bool();end, + -- Allows vehicles with the FLAG_JUMPING_CAR flag to jump higher (i.e. Ruiner 2000). + ["_SET_USE_HIGHER_VEHICLE_JUMP_FORCE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("F06A16CA55D138D8");end, + -- SET_C* + ["_0xB2E0C0D6922D31F2"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B2E0C0D6922D31F2");end, + -- Set vehicle's primary mounted weapon 2 ammo. For example, use it on APC. + -- For example, you can "remove" any vehicle weapon from any vehicle. + -- ammoAmount -1 = infinite ammo (default value for any spawned vehicle tho) + ["_SET_VEHICLE_WEAPON_CAPACITY"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] weaponIndex,--[[int]] capacity)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(weaponIndex);native_invoker.push_arg_int(capacity);native_invoker.end_call("44CD1F493DB2A0A6");end, + ["_GET_VEHICLE_WEAPON_CAPACITY"]=--[[int]] function(--[[Vehicle (int)]] vehicle,--[[int]] weaponIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(weaponIndex);native_invoker.end_call("8181CE2F25CB9BB7");return native_invoker.get_return_value_int();end, + ["_GET_VEHICLE_HAS_PARACHUTE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("BC9CFF381338CB4F");return native_invoker.get_return_value_bool();end, + ["_GET_VEHICLE_CAN_ACTIVATE_PARACHUTE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("A916396DF4154EE3");return native_invoker.get_return_value_bool();end, + ["_SET_VEHICLE_PARACHUTE_ACTIVE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] active)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(active);native_invoker.end_call("0BFFB028B3DD0A97");end, + ["_0x3DE51E9C80B116CF"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("3DE51E9C80B116CF");return native_invoker.get_return_value_int();end, + ["_SET_VEHICLE_RECEIVES_RAMP_DAMAGE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("28D034A93FE31BF5");end, + ["_SET_VEHICLE_RAMP_SIDEWAYS_LAUNCH_MOTION"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("1BBAC99C0BC53656");end, + ["_SET_VEHICLE_RAMP_UPWARDS_LAUNCH_MOTION"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("756AE6E962168A04");end, + ["_0x9D30687C57BAA0BB"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("9D30687C57BAA0BB");end, + ["_SET_VEHICLE_WEAPONS_DISABLED"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("86B4B6212CB8B627");end, + ["_0x41290B40FA63E6DA"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("41290B40FA63E6DA");end, + -- parachuteModel = 230075693 + ["_SET_VEHICLE_PARACHUTE_MODEL"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Hash (int)]] modelHash)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(modelHash);native_invoker.end_call("4D610C6B56031351");end, + -- colorIndex = 0 - 7 + ["_SET_VEHICLE_PARACHUTE_TEXTURE_VARIATIION"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] textureVariation)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(textureVariation);native_invoker.end_call("A74AD2439468C883");end, + ["_0x0419B167EE128F33"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("0419B167EE128F33");return native_invoker.get_return_value_int();end, + ["_0xF3B0E0AED097A3F5"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("F3B0E0AED097A3F5");return native_invoker.get_return_value_int();end, + ["_0xD3E51C0AB8C26EEE"]=--[[Any (int)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("D3E51C0AB8C26EEE");return native_invoker.get_return_value_int();end, + ["_GET_ALL_VEHICLES"]=--[[int]] function(--[[int* (pointer)]] vehsStruct)native_invoker.begin_call();native_invoker.push_arg_pointer(vehsStruct);native_invoker.end_call("9B8E1BF04B51F2E8");return native_invoker.get_return_value_int();end, + ["_0x72BECCF4B829522E"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("72BECCF4B829522E");end, + ["_0x66E3AAFACE2D1EB8"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("66E3AAFACE2D1EB8");end, + ["_0x1312DDD8385AEE4E"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("1312DDD8385AEE4E");end, + ["_0xEDBC8405B3895CC9"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("EDBC8405B3895CC9");end, + ["_0x26E13D440E7F6064"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(value);native_invoker.end_call("26E13D440E7F6064");end, + ["_0x2FA2494B47FDD009"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("2FA2494B47FDD009");end, + ["_SET_VEHICLE_ROCKET_BOOST_PERCENTAGE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] percentage)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(percentage);native_invoker.end_call("FEB2DDED3509562E");end, + -- Set state to true to extend the wings, false to retract them. + ["_SET_OPPRESSOR_TRANSFORM_STATE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] state)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(state);native_invoker.end_call("544996C0081ABDEB");end, + ["_0x78CEEE41F49F421F"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("78CEEE41F49F421F");end, + ["_0xAF60E6A2936F982A"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("AF60E6A2936F982A");end, + ["_0x430A7631A84C9BE7"]=--[[void]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("430A7631A84C9BE7");end, + -- Disables collision for this vehicle (maybe it also supports other entities, not sure). + -- Only world/building/fixed world objects will have their collisions disabled, props, peds, or any other entity still collides with the vehicle. + -- Example: https://streamable.com/6n45d5 + -- Not sure if there is a native (and if so, which one) that resets the collisions. + ["_DISABLE_VEHICLE_WORLD_COLLISION"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("75627043C6AA90AD");end, + -- Sets some value for vehicle + -- SET_VEHICLE_* + ["_0x8235F1BEAD557629"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("8235F1BEAD557629");end, + ["_0x9640E30A7F395E4B"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.end_call("9640E30A7F395E4B");end, + ["_0x0BBB9A7A8FFE931B"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("0BBB9A7A8FFE931B");end, + -- Stops the cargobob from being able to attach any vehicle + ["_SET_CARGOBOB_HOOK_CAN_ATTACH"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("94A68DA412C4007D");end, + -- Sets the amount of bombs that this vehicle has. As far as I know, this does _not_ impact vehicle weapons or the ammo of those weapons in any way, it is just a way to keep track of the amount of bombs in a specific plane. + ["_SET_VEHICLE_BOMB_COUNT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] bombCount)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(bombCount);native_invoker.end_call("F4B2ED59DEB5D774");end, + -- Gets the amount of bombs that this vehicle has. As far as I know, this does _not_ impact vehicle weapons or the ammo of those weapons in any way, it is just a way to keep track of the amount of bombs in a specific plane. + ["_GET_VEHICLE_BOMB_COUNT"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("EA12BD130D7569A1");return native_invoker.get_return_value_int();end, + -- Similar to 0xF4B2ED59DEB5D774, this sets the amount of countermeasures that are present on this vehicle. + -- Use 0xF846AA63DF56B804 to get the current amount. + ["_SET_VEHICLE_COUNTERMEASURE_COUNT"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] counterMeasureCount)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(counterMeasureCount);native_invoker.end_call("9BDA23BF666F0855");end, + -- Similar to `0xEA12BD130D7569A1`, this gets the amount of countermeasures that are present on this vehicle. + -- Use 0x9BDA23BF666F0855 to set the current amount. + ["_GET_VEHICLE_COUNTERMEASURE_COUNT"]=--[[int]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("F846AA63DF56B804");return native_invoker.get_return_value_int();end, + -- Used on helicopters + -- SET_HELICOPTER_?? + ["_0x0A3F820A9A9A9AC5"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("0A3F820A9A9A9AC5");end, + -- Used in decompiled scripts in combination with _GET_VEHICLE_SUSPENSION_BOUNDS + -- p7 is usually 2 + -- p8 is usually 1 + ["_0x51F30DB60626A20E"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle,--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] rotX,--[[float]] rotY,--[[float]] rotZ,--[[int]] p7,--[[Any (int)]] p8)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(rotX);native_invoker.push_arg_float(rotY);native_invoker.push_arg_float(rotZ);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.end_call("51F30DB60626A20E");return native_invoker.get_return_value_bool();end, + -- Sets a flag on heli and another vehicle type. + -- _SET_VEHICLE_?? + ["_0x97841634EF7DF1D6"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("97841634EF7DF1D6");end, + ["_SET_VEHICLE_HOVER_TRANSFORM_RATIO"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] ratio)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(ratio);native_invoker.end_call("D138FA15C9776837");end, + -- According to decompiled scripts this should work with the `deluxo` and `oppressor2` vehicles. + -- I've only seen this work for `deluxo` though, can't figure out what it's supposed to do on `oppressor2`. + -- + -- For the deluxo: + -- - Set `state` to `0.0`: Fully transform to a 'road' vehicle (non-hover mode). + -- - Set `state` to `1.0`: Fully transform to a 'flying' vehicle (hover mode). + -- + -- If you set it to something like 0.5, then something [weird happens](https://streamable.com/p6wmr), you end up in some 50% hover mode, 50% not hover mode. + -- + -- This doesn't need to be called every tick, just once and the vehicle will transform to that state at the usual transform speed. It'll just stop transforming when it reaches the state you provided. + -- + -- Once this native is used then players will just be able to hit the vehicle transform key to toggle the transformation cycle; it won't block users from using the key. + ["_SET_VEHICLE_HOVER_TRANSFORM_PERCENTAGE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] percentage)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(percentage);native_invoker.end_call("438B3D7CA026FE91");end, + -- It will override the ability to transform deluxo. For oppressor it will work just like 0x2D55FE374D5FDB91 + ["_SET_VEHICLE_HOVER_TRANSFORM_ENABLED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("F1211889DF15A763");end, + -- Disables "wings" for some flying vehicles. Works only for oppressor _2_ and deluxo. + -- For deluxo it just immediately removes vehicle's "wings" and you will be not able to fly up. + -- For oppressor 2 it will remove wings right after you land. And you will not able to fly up anymore too. + -- But for opressor 2 you still can fly if you somehow get back in the air. + ["_SET_VEHICLE_HOVER_TRANSFORM_ACTIVE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2D55FE374D5FDB91");end, + ["_0x3A9128352EAC9E85"]=--[[Any (int)]] function(--[[Any (int)]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("3A9128352EAC9E85");return native_invoker.get_return_value_int();end, + -- Native is significantly more complicated than simply generating a random vector & length. + -- The 'point' is either 400.0 or 250.0 units away from the Ped's current coordinates; and paths into functions like rage::grcViewport___IsSphereVisible + ["_FIND_RANDOM_POINT_IN_SPACE"]=--[[Vector3 (vector3)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("8DC9675797123522");return native_invoker.get_return_value_vector3();end, + -- Only used with the "akula" in the decompiled native scripts. + ["_SET_DEPLOY_HELI_STUB_WINGS"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] p1,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(p1);native_invoker.push_arg_bool(p2);native_invoker.end_call("B251E0B33E58B424");end, + -- Only used with the "akula" in the decompiled native scripts. + ["_ARE_HELI_STUB_WINGS_DEPLOYED"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("AEF12960FA943792");return native_invoker.get_return_value_bool();end, + -- Sets some vehicle value + -- _SET_VEHICLE_? + ["_0xAA653AE61924B0A0"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("AA653AE61924B0A0");end, + -- Toggles specific flag on turret + ["_SET_VEHICLE_TURRET_UNK"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] index,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(index);native_invoker.push_arg_bool(toggle);native_invoker.end_call("C60060EB0D8AC7B1");end, + ["_SET_SPECIALFLIGHT_WING_RATIO"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] ratio)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(ratio);native_invoker.end_call("70A252F60A3E036B");end, + -- Disables turret movement when called in a loop. You can still fire and aim. You cannot shoot backwards though. + ["_SET_DISABLE_TURRET_MOVEMENT_THIS_FRAME"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] turretId)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(turretId);native_invoker.end_call("E615BB7A7752C76A");end, + -- Sets some vehicle value to 1 + -- SET_VEHICLE_?? + ["_0x887FA38787DE8C72"]=--[[void]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("887FA38787DE8C72");end, + ["_SET_UNK_FLOAT_0x104_FOR_SUBMARINE_VEHICLE_TASK"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[float]] value)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_float(value);native_invoker.end_call("498218259FB7C72D");end, + ["_SET_UNK_BOOL_0x102_FOR_SUBMARINE_VEHICLE_TASK"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] value)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(value);native_invoker.end_call("41B9FB92EDED32A6");end, + -- Does nothing. It's a nullsub. + ["_0x36DE109527A2C0C4"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("36DE109527A2C0C4");end, + -- Does nothing. It's a nullsub. + ["_0x82E0AC411E41A5B4"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("82E0AC411E41A5B4");end, + -- Does nothing. It's a nullsub. + ["_0x99A05839C46CE316"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("99A05839C46CE316");end, + ["_GET_IS_VEHICLE_SHUNT_BOOST_ACTIVE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("A2459F72C14E2E8D");return native_invoker.get_return_value_bool();end, + -- GET_H* + ["_0xE8718FAF591FD224"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("E8718FAF591FD224");return native_invoker.get_return_value_bool();end, + -- Returns last vehicle that was rammed by the given vehicle using the shunt boost. + ["_GET_LAST_RAMMED_VEHICLE"]=--[[Vehicle (int)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("04F2FA6E234162F7");return native_invoker.get_return_value_int();end, + ["_SET_DISABLE_VEHICLE_UNK"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("143921E45EC44D62");end, + ["_SET_VEHICLE_NITRO_ENABLED"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle,--[[float]] level,--[[float]] power,--[[float]] rechargeTime,--[[BOOL (bool)]] disableSound)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_float(level);native_invoker.push_arg_float(power);native_invoker.push_arg_float(rechargeTime);native_invoker.push_arg_bool(disableSound);native_invoker.end_call("C8E9B6B71B8E660D");end, + ["_SET_VEHICLE_WHEELS_DEAL_DAMAGE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("2970EAA18FD5E42F");end, + -- Sets some global vehicle related bool + ["_SET_DISABLE_VEHICLE_UNK_2"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("211E95CE9903940C");end, + ["_0x5BBCF35BF6E456F7"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("5BBCF35BF6E456F7");end, + ["_GET_DOES_VEHICLE_HAVE_TOMBSTONE"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("71AFB258CCED3A27");return native_invoker.get_return_value_bool();end, + -- Disables detachable bumber from domnator4, dominator5, dominator6, see https://gfycat.com/SecondUnluckyGosling + ["_HIDE_VEHICLE_TOMBSTONE"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_bool(toggle);native_invoker.end_call("AE71FB656C600587");end, + -- Returns whether this vehicle is currently disabled by an EMP mine. + ["_GET_IS_VEHICLE_EMP_DISABLED"]=--[[BOOL (bool)]] function(--[[Vehicle (int)]] vehicle)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.end_call("0506ED94363AD905");return native_invoker.get_return_value_bool();end, + ["_0x8F0D5BA1C2CC91D7"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("8F0D5BA1C2CC91D7");end, + ["_GET_TYRE_HEALTH"]=--[[float]] function(--[[Vehicle (int)]] vehicle,--[[int]] wheelIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(wheelIndex);native_invoker.end_call("55EAB010FAEE9380");return native_invoker.get_return_value_float();end, + ["_SET_TYRE_HEALTH"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] wheelIndex,--[[float]] health)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(wheelIndex);native_invoker.push_arg_float(health);native_invoker.end_call("74C68EF97645E79D");end, + ["_GET_TYRE_WEAR_MULTIPLIER"]=--[[float]] function(--[[Vehicle (int)]] vehicle,--[[int]] wheelIndex)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(wheelIndex);native_invoker.end_call("6E387895952F4F71");return native_invoker.get_return_value_float();end, + ["_SET_TYRE_WEAR_MULTIPLIER"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] wheelIndex,--[[float]] multiplier)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(wheelIndex);native_invoker.push_arg_float(multiplier);native_invoker.end_call("01894E2EDE923CA2");end, + ["_0x392183BB9EA57697"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] wheelIndex,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(wheelIndex);native_invoker.push_arg_float(p2);native_invoker.end_call("392183BB9EA57697");end, + ["_0xC970D0E0FC31D768"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] wheelIndex,--[[float]] p2)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(wheelIndex);native_invoker.push_arg_float(p2);native_invoker.end_call("C970D0E0FC31D768");end, + ["_0xF8B49F5BA7F850E7"]=--[[void]] function(--[[Vehicle (int)]] vehicle,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(p1);native_invoker.end_call("F8B49F5BA7F850E7");end, +} +WATER={ + -- This function set height to the value of z-axis of the water surface. + -- + -- This function works with sea and lake. However it does not work with shallow rivers (e.g. raton canyon will return -100000.0f) + -- + -- note: seems to return true when you are in water + ["GET_WATER_HEIGHT"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float* (pointer)]] height)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_pointer(height);native_invoker.end_call("F6829842C06AE524");return native_invoker.get_return_value_bool();end, + ["GET_WATER_HEIGHT_NO_WAVES"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float* (pointer)]] height)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_pointer(height);native_invoker.end_call("8EE6B53CE13A9794");return native_invoker.get_return_value_bool();end, + ["TEST_PROBE_AGAINST_WATER"]=--[[BOOL (bool)]] function(--[[float]] x1,--[[float]] y1,--[[float]] z1,--[[float]] x2,--[[float]] y2,--[[float]] z2,--[[Vector3* (pointer)]] result)native_invoker.begin_call();native_invoker.push_arg_float(x1);native_invoker.push_arg_float(y1);native_invoker.push_arg_float(z1);native_invoker.push_arg_float(x2);native_invoker.push_arg_float(y2);native_invoker.push_arg_float(z2);native_invoker.push_arg_pointer(result);native_invoker.end_call("FFA5D878809819DB");return native_invoker.get_return_value_bool();end, + ["TEST_PROBE_AGAINST_ALL_WATER"]=--[[BOOL (bool)]] function(--[[Any (int)]] p0,--[[Any (int)]] p1,--[[Any (int)]] p2,--[[Any (int)]] p3,--[[Any (int)]] p4,--[[Any (int)]] p5,--[[Any (int)]] p6,--[[Any (int)]] p7)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.push_arg_int(p3);native_invoker.push_arg_int(p4);native_invoker.push_arg_int(p5);native_invoker.push_arg_int(p6);native_invoker.push_arg_int(p7);native_invoker.end_call("8974647ED222EA5F");return native_invoker.get_return_value_bool();end, + ["TEST_VERTICAL_PROBE_AGAINST_ALL_WATER"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[Any (int)]] p3,--[[float* (pointer)]] height)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_int(p3);native_invoker.push_arg_pointer(height);native_invoker.end_call("2B3451FA1E3142E2");return native_invoker.get_return_value_bool();end, + -- Sets the water height for a given position and radius. + -- + ["MODIFY_WATER"]=--[[void]] function(--[[float]] x,--[[float]] y,--[[float]] radius,--[[float]] height)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(radius);native_invoker.push_arg_float(height);native_invoker.end_call("C443FD757C3BA637");end, + -- Most likely ADD_CURRENT_* + ["_ADD_CURRENT_RISE"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[float]] unk)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_float(unk);native_invoker.end_call("FDBF4CDBC07E1706");return native_invoker.get_return_value_int();end, + -- p0 is the handle returned from _0xFDBF4CDBC07E1706 + -- + -- Most likely REMOVE_CURRENT_* + ["_REMOVE_CURRENT_RISE"]=--[[void]] function(--[[int]] p0)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.end_call("B1252E3E59A82AAF");end, + -- Sets a value that determines how aggressive the ocean waves will be. Values of 2.0 or more make for very aggressive waves like you see during a thunderstorm. + -- + -- Works only ~200 meters around the player. + ["SET_DEEP_OCEAN_SCALER"]=--[[void]] function(--[[float]] intensity)native_invoker.begin_call();native_invoker.push_arg_float(intensity);native_invoker.end_call("B96B00E976BE977F");end, + -- Gets the aggressiveness factor of the ocean waves. + ["GET_DEEP_OCEAN_SCALER"]=--[[float]] function()native_invoker.begin_call();native_invoker.end_call("2B2A2CC86778B619");return native_invoker.get_return_value_float();end, + ["_0x547237AA71AB44DE"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("547237AA71AB44DE");end, + -- Sets the waves intensity back to original (1.0 in most cases). + ["RESET_DEEP_OCEAN_SCALER"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("5E5E99285AE812DB");end, +} +WEAPON={ + -- Enables laser sight on any weapon. + -- + -- It doesn't work. Neither on tick nor OnKeyDown + ["ENABLE_LASER_SIGHT_RENDERING"]=--[[void]] function(--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_bool(toggle);native_invoker.end_call("C8B46D7727D864AA");end, + ["GET_WEAPON_COMPONENT_TYPE_MODEL"]=--[[Hash (int)]] function(--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.end_call("0DB57B41EC1DB083");return native_invoker.get_return_value_int();end, + -- Returns the model of any weapon. + -- + -- Can also take an ammo hash? + -- sub_6663a(&l_115B, WEAPON::GET_WEAPONTYPE_MODEL(${ammo_rpg})); + ["GET_WEAPONTYPE_MODEL"]=--[[Hash (int)]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("F46CDC33180FDA94");return native_invoker.get_return_value_int();end, + ["GET_WEAPONTYPE_SLOT"]=--[[Hash (int)]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("4215460B9B8B7FA0");return native_invoker.get_return_value_int();end, + ["GET_WEAPONTYPE_GROUP"]=--[[Hash (int)]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("C3287EE3050FB74C");return native_invoker.get_return_value_int();end, + -- Returns the amount of extra components the specified component has. + -- Returns -1 if the component isn't of type CWeaponComponentVariantModel. + ["_GET_WEAPON_COMPONENT_VARIANT_EXTRA_COMPONENT_COUNT"]=--[[int]] function(--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.end_call("6558AC7C17BFEF58");return native_invoker.get_return_value_int();end, + -- Returns the model hash of the extra component at specified index. + ["_GET_WEAPON_COMPONENT_VARIANT_EXTRA_COMPONENT_MODEL"]=--[[Hash (int)]] function(--[[Hash (int)]] componentHash,--[[int]] extraComponentIndex)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.push_arg_int(extraComponentIndex);native_invoker.end_call("4D1CB8DC40208A17");return native_invoker.get_return_value_int();end, + ["SET_CURRENT_PED_WEAPON"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[BOOL (bool)]] equipNow)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_bool(equipNow);native_invoker.end_call("ADF692B254977C0C");end, + -- The return value seems to indicate returns true if the hash of the weapon object weapon equals the weapon hash. + -- p2 seems to be 1 most of the time. + -- + -- + -- + -- + -- + -- p2 is not implemented + -- + -- disassembly said that? + -- + ["GET_CURRENT_PED_WEAPON"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash* (pointer)]] weaponHash,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(weaponHash);native_invoker.push_arg_bool(p2);native_invoker.end_call("3A87E44BB9A01D54");return native_invoker.get_return_value_bool();end, + ["GET_CURRENT_PED_WEAPON_ENTITY_INDEX"]=--[[Entity (int)]] function(--[[Ped (int)]] ped,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("3B390A939AF0B5FC");return native_invoker.get_return_value_int();end, + -- p1 is always 0 in the scripts. + ["GET_BEST_PED_WEAPON"]=--[[Hash (int)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("8483E98E8B888AE2");return native_invoker.get_return_value_int();end, + ["SET_CURRENT_PED_VEHICLE_WEAPON"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.end_call("75C55983C2C39DAA");return native_invoker.get_return_value_bool();end, + -- Example in VB + -- + -- Public Shared Function GetVehicleCurrentWeapon(Ped As Ped) As Integer + -- Dim arg As New OutputArgument() + -- Native.Function.Call(Hash.GET_CURRENT_PED_VEHICLE_WEAPON, Ped, arg) + -- Return arg.GetResult(Of Integer)() + -- End Function + -- + -- Usage: + -- If GetVehicleCurrentWeapon(Game.Player.Character) = -821520672 Then ...Do something + -- Note: -821520672 = VEHICLE_WEAPON_PLANE_ROCKET + ["GET_CURRENT_PED_VEHICLE_WEAPON"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash* (pointer)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(weaponHash);native_invoker.end_call("1017582BCD3832DC");return native_invoker.get_return_value_bool();end, + -- SET_PED_* + ["_0x50276EF8172F5F12"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("50276EF8172F5F12");end, + -- Checks if the ped is currently equipped with a weapon matching a bit specified using a bitwise-or in typeFlags. + -- + -- Type flag bit values: + -- 1 = Melee weapons + -- 2 = Explosive weapons + -- 4 = Any other weapons + -- + -- Not specifying any bit will lead to the native *always* returning 'false', and for example specifying '4 | 2' will check for any weapon except fists and melee weapons. + -- 7 returns true if you are equipped with any weapon except your fists. + -- 6 returns true if you are equipped with any weapon except melee weapons. + -- 5 returns true if you are equipped with any weapon except the Explosives weapon group. + -- 4 returns true if you are equipped with any weapon except Explosives weapon group AND melee weapons. + -- 3 returns true if you are equipped with either Explosives or Melee weapons (the exact opposite of 4). + -- 2 returns true only if you are equipped with any weapon from the Explosives weapon group. + -- 1 returns true only if you are equipped with any Melee weapon. + -- 0 never returns true. + -- + -- Note: When I say "Explosives weapon group", it does not include the Jerry can and Fire Extinguisher. + ["IS_PED_ARMED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[int]] typeFlags)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(typeFlags);native_invoker.end_call("475768A975D5AD17");return native_invoker.get_return_value_bool();end, + ["IS_WEAPON_VALID"]=--[[BOOL (bool)]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("937C71165CF334B3");return native_invoker.get_return_value_bool();end, + -- p2 should be FALSE, otherwise it seems to always return FALSE + -- + -- Bool does not check if the weapon is current equipped, unfortunately. + ["HAS_PED_GOT_WEAPON"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_bool(p2);native_invoker.end_call("8DECB02F88F428BC");return native_invoker.get_return_value_bool();end, + ["IS_PED_WEAPON_READY_TO_SHOOT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("B80CA294F2F26749");return native_invoker.get_return_value_bool();end, + ["GET_PED_WEAPONTYPE_IN_SLOT"]=--[[Hash (int)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponSlot)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponSlot);native_invoker.end_call("EFFED78E9011134D");return native_invoker.get_return_value_int();end, + -- WEAPON::GET_AMMO_IN_PED_WEAPON(PLAYER::PLAYER_PED_ID(), a_0) + -- + -- From decompiled scripts + -- Returns total ammo in weapon + -- + -- GTALua Example : + -- natives.WEAPON.GET_AMMO_IN_PED_WEAPON(plyPed, WeaponHash) + ["GET_AMMO_IN_PED_WEAPON"]=--[[int]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponhash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponhash);native_invoker.end_call("015A522136D7F951");return native_invoker.get_return_value_int();end, + ["ADD_AMMO_TO_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[int]] ammo)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(ammo);native_invoker.end_call("78F0424C34306220");end, + ["SET_PED_AMMO"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[int]] ammo,--[[BOOL (bool)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(ammo);native_invoker.push_arg_bool(p3);native_invoker.end_call("14E56BC5B5DB6A19");end, + ["SET_PED_INFINITE_AMMO"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle,--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.push_arg_int(weaponHash);native_invoker.end_call("3EDCB0505123623B");end, + ["SET_PED_INFINITE_AMMO_CLIP"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("183DADC6AA953186");end, + ["_0x24C024BA8379A70A"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("24C024BA8379A70A");end, + -- isHidden - ???? + -- Returns the given weapon handle (you can use it to set clip in weapon etc.) + -- All weapon names (add to the list if something is missing), use MISC::GET_HASH_KEY((char *)weaponNames[i]) to get get the hash: + -- + -- static LPCSTR weaponNames[] = { + -- "WEAPON_KNIFE", "WEAPON_NIGHTSTICK", "WEAPON_HAMMER", "WEAPON_BAT", "WEAPON_GOLFCLUB", + -- "WEAPON_CROWBAR", "WEAPON_PISTOL", "WEAPON_COMBATPISTOL", "WEAPON_APPISTOL", "WEAPON_PISTOL50", + -- "WEAPON_MICROSMG", "WEAPON_SMG", "WEAPON_ASSAULTSMG", "WEAPON_ASSAULTRIFLE", + -- "WEAPON_CARBINERIFLE", "WEAPON_ADVANCEDRIFLE", "WEAPON_MG", "WEAPON_COMBATMG", "WEAPON_PUMPSHOTGUN", + -- "WEAPON_SAWNOFFSHOTGUN", "WEAPON_ASSAULTSHOTGUN", "WEAPON_BULLPUPSHOTGUN", "WEAPON_STUNGUN", "WEAPON_SNIPERRIFLE", + -- "WEAPON_HEAVYSNIPER", "WEAPON_GRENADELAUNCHER", "WEAPON_GRENADELAUNCHER_SMOKE", "WEAPON_RPG", "WEAPON_MINIGUN", + -- "WEAPON_GRENADE", "WEAPON_STICKYBOMB", "WEAPON_SMOKEGRENADE", "WEAPON_BZGAS", "WEAPON_MOLOTOV", + -- "WEAPON_FIREEXTINGUISHER", "WEAPON_PETROLCAN", "WEAPON_FLARE", "WEAPON_SNSPISTOL", "WEAPON_SPECIALCARBINE", + -- "WEAPON_HEAVYPISTOL", "WEAPON_BULLPUPRIFLE", "WEAPON_HOMINGLAUNCHER", "WEAPON_PROXMINE", "WEAPON_SNOWBALL", + -- "WEAPON_VINTAGEPISTOL", "WEAPON_DAGGER", "WEAPON_FIREWORK", "WEAPON_MUSKET", "WEAPON_MARKSMANRIFLE", + -- "WEAPON_HEAVYSHOTGUN", "WEAPON_GUSENBERG", "WEAPON_HATCHET", "WEAPON_RAILGUN", "WEAPON_COMBATPDW", + -- "WEAPON_KNUCKLE", "WEAPON_MARKSMANPISTOL", "WEAPON_FLASHLIGHT", "WEAPON_MACHETE", "WEAPON_MACHINEPISTOL", + -- "WEAPON_SWITCHBLADE", "WEAPON_REVOLVER", "WEAPON_COMPACTRIFLE", "WEAPON_DBSHOTGUN", "WEAPON_FLAREGUN", + -- "WEAPON_AUTOSHOTGUN", "WEAPON_BATTLEAXE", "WEAPON_COMPACTLAUNCHER", "WEAPON_MINISMG", "WEAPON_PIPEBOMB", + -- "WEAPON_POOLCUE", "WEAPON_SWEEPER", "WEAPON_WRENCH" + -- }; + -- ---------------------------------------------------------------------------------------------------------------------------------------- + -- Translation table: + -- pastebin.com/a39K8Nz8 + ["GIVE_WEAPON_TO_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[int]] ammoCount,--[[BOOL (bool)]] isHidden,--[[BOOL (bool)]] equipNow)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(ammoCount);native_invoker.push_arg_bool(isHidden);native_invoker.push_arg_bool(equipNow);native_invoker.end_call("BF0FD6E56C964FCB");end, + -- Gives a weapon to PED with a delay, example: + -- + -- WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PED::PLAYER_PED_ID(), MISC::GET_HASH_KEY("WEAPON_PISTOL"), 1000, false) + -- ---------------------------------------------------------------------------------------------------------------------------------------- + -- Translation table: + -- pastebin.com/a39K8Nz8 + -- + -- + ["GIVE_DELAYED_WEAPON_TO_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[int]] ammoCount,--[[BOOL (bool)]] equipNow)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(ammoCount);native_invoker.push_arg_bool(equipNow);native_invoker.end_call("B282DC6EBD803C75");end, + -- setting the last params to false it does that same so I would suggest its not a toggle + ["REMOVE_ALL_PED_WEAPONS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("F25DF915FA38C5F3");end, + -- This native removes a specified weapon from your selected ped. + -- Weapon Hashes: pastebin.com/0wwDZgkF + -- + -- Example: + -- C#: + -- Function.Call(Hash.REMOVE_WEAPON_FROM_PED, Game.Player.Character, 0x99B507EA); + -- + -- C++: + -- WEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x99B507EA); + -- + -- The code above removes the knife from the player. + ["REMOVE_WEAPON_FROM_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.end_call("4899CB088EDF59B8");end, + -- Hides the players weapon during a cutscene. + ["HIDE_PED_WEAPON_FOR_SCRIPTED_CUTSCENE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("6F6981D2253C208F");end, + -- Has 5 parameters since latest patches. + ["SET_PED_CURRENT_WEAPON_VISIBLE"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] visible,--[[BOOL (bool)]] deselectWeapon,--[[BOOL (bool)]] p3,--[[BOOL (bool)]] p4)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(visible);native_invoker.push_arg_bool(deselectWeapon);native_invoker.push_arg_bool(p3);native_invoker.push_arg_bool(p4);native_invoker.end_call("0725A4CCFDED9A70");end, + ["SET_PED_DROPS_WEAPONS_WHEN_DEAD"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("476AE72C1D19D1A8");end, + -- It determines what weapons caused damage: + -- + -- If you want to define only a specific weapon, second parameter=weapon hash code, third parameter=0 + -- If you want to define any melee weapon, second parameter=0, third parameter=1. + -- If you want to identify any weapon (firearms, melee, rockets, etc.), second parameter=0, third parameter=2. + ["HAS_PED_BEEN_DAMAGED_BY_WEAPON"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[int]] weaponType)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(weaponType);native_invoker.end_call("2D343D2219CD027A");return native_invoker.get_return_value_bool();end, + -- Does NOT seem to work with HAS_PED_BEEN_DAMAGED_BY_WEAPON. Use CLEAR_ENTITY_LAST_WEAPON_DAMAGE and HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON instead. + ["CLEAR_PED_LAST_WEAPON_DAMAGE"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("0E98F88A24C5F4B8");end, + -- It determines what weapons caused damage: + -- + -- If you want to define only a specific weapon, second parameter=weapon hash code, third parameter=0 + -- If you want to define any melee weapon, second parameter=0, third parameter=1. + -- If you want to identify any weapon (firearms, melee, rockets, etc.), second parameter=0, third parameter=2. + ["HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON"]=--[[BOOL (bool)]] function(--[[Entity (int)]] entity,--[[Hash (int)]] weaponHash,--[[int]] weaponType)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(weaponType);native_invoker.end_call("131D401334815E94");return native_invoker.get_return_value_bool();end, + ["CLEAR_ENTITY_LAST_WEAPON_DAMAGE"]=--[[void]] function(--[[Entity (int)]] entity)native_invoker.begin_call();native_invoker.push_arg_int(entity);native_invoker.end_call("AC678E40BE7C74D2");end, + ["SET_PED_DROPS_WEAPON"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("6B7513D9966FBEC0");end, + ["SET_PED_DROPS_INVENTORY_WEAPON"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[float]] xOffset,--[[float]] yOffset,--[[float]] zOffset,--[[int]] ammoCount)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_float(xOffset);native_invoker.push_arg_float(yOffset);native_invoker.push_arg_float(zOffset);native_invoker.push_arg_int(ammoCount);native_invoker.end_call("208A1888007FC0E6");end, + -- p2 is mostly 1 in the scripts. + ["GET_MAX_AMMO_IN_CLIP"]=--[[int]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_bool(p2);native_invoker.end_call("A38DCFFCEA8962FA");return native_invoker.get_return_value_int();end, + ["GET_AMMO_IN_CLIP"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[int* (pointer)]] ammo)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_pointer(ammo);native_invoker.end_call("2E1202248937775C");return native_invoker.get_return_value_bool();end, + ["SET_AMMO_IN_CLIP"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[int]] ammo)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(ammo);native_invoker.end_call("DCD2A934D65CB497");return native_invoker.get_return_value_bool();end, + ["GET_MAX_AMMO"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[int* (pointer)]] ammo)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_pointer(ammo);native_invoker.end_call("DC16122C7A20C933");return native_invoker.get_return_value_bool();end, + -- Returns the max ammo for an ammo type. Ammo types: https://gist.github.com/root-cause/faf41f59f7a6d818b7db0b839bd147c1 + ["_GET_MAX_AMMO_BY_TYPE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] ammoTypeHash,--[[int* (pointer)]] ammo)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(ammoTypeHash);native_invoker.push_arg_pointer(ammo);native_invoker.end_call("585847C5E4E11709");return native_invoker.get_return_value_bool();end, + -- Ammo types: https://gist.github.com/root-cause/faf41f59f7a6d818b7db0b839bd147c1 + ["_ADD_AMMO_TO_PED_BY_TYPE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] ammoTypeHash,--[[int]] ammo)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(ammoTypeHash);native_invoker.push_arg_int(ammo);native_invoker.end_call("2472622CE1F2D45F");end, + -- Ammo types: https://gist.github.com/root-cause/faf41f59f7a6d818b7db0b839bd147c1 + ["SET_PED_AMMO_BY_TYPE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] ammoTypeHash,--[[int]] ammo)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(ammoTypeHash);native_invoker.push_arg_int(ammo);native_invoker.end_call("5FD1E1F011E76D7E");end, + ["GET_PED_AMMO_BY_TYPE"]=--[[int]] function(--[[Ped (int)]] ped,--[[Hash (int)]] ammoTypeHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(ammoTypeHash);native_invoker.end_call("39D22031557946C1");return native_invoker.get_return_value_int();end, + ["SET_PED_AMMO_TO_DROP"]=--[[void]] function(--[[Ped (int)]] ped,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(p1);native_invoker.end_call("A4EFEF9440A5B0EF");end, + ["SET_PICKUP_AMMO_AMOUNT_SCALER"]=--[[void]] function(--[[float]] p0)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.end_call("E620FD3512A04F18");end, + -- Returns the current ammo type of the specified ped's specified weapon. + -- MkII magazines will change the return value, like Pistol MkII returning AMMO_PISTOL without any components and returning AMMO_PISTOL_TRACER after Tracer Rounds component is attached. + -- Use 0xF489B44DD5AF4BD9 if you always want AMMO_PISTOL. + ["GET_PED_AMMO_TYPE_FROM_WEAPON"]=--[[Hash (int)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.end_call("7FEAD38B326B9F74");return native_invoker.get_return_value_int();end, + -- Returns the base/default ammo type of the specified ped's specified weapon. + -- Use GET_PED_AMMO_TYPE_FROM_WEAPON if you want current ammo type (like AMMO_MG_INCENDIARY/AMMO_MG_TRACER while using MkII magazines) and use this if you want base ammo type. (AMMO_MG) + ["_GET_PED_AMMO_TYPE_FROM_WEAPON_2"]=--[[Hash (int)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.end_call("F489B44DD5AF4BD9");return native_invoker.get_return_value_int();end, + -- Pass ped. Pass address of Vector3. + -- The coord will be put into the Vector3. + -- The return will determine whether there was a coord found or not. + ["GET_PED_LAST_WEAPON_IMPACT_COORD"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Vector3* (pointer)]] coords)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_pointer(coords);native_invoker.end_call("6C4D0409BA1A2BC2");return native_invoker.get_return_value_bool();end, + -- p1/gadgetHash was always 0xFBAB5776 ("GADGET_PARACHUTE"). + -- p2 is always true. + ["SET_PED_GADGET"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] gadgetHash,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(gadgetHash);native_invoker.push_arg_bool(p2);native_invoker.end_call("D0D7B1E680ED4A1A");end, + -- gadgetHash - was always 0xFBAB5776 ("GADGET_PARACHUTE"). + ["GET_IS_PED_GADGET_EQUIPPED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] gadgetHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(gadgetHash);native_invoker.end_call("F731332072F5156C");return native_invoker.get_return_value_bool();end, + -- Returns the hash of the weapon. + -- + -- var num7 = WEAPON::GET_SELECTED_PED_WEAPON(num4); + -- sub_27D3(num7); + -- switch (num7) + -- { + -- case 0x24B17070: + -- + -- Also see WEAPON::GET_CURRENT_PED_WEAPON. Difference? + -- + -- ------------------------------------------------------------------------- + -- + -- The difference is that GET_SELECTED_PED_WEAPON simply returns the ped's current weapon hash but GET_CURRENT_PED_WEAPON also checks the weapon object and returns true if the hash of the weapon object equals the weapon hash + ["GET_SELECTED_PED_WEAPON"]=--[[Hash (int)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("0A6DB4965674D243");return native_invoker.get_return_value_int();end, + -- WEAPON::EXPLODE_PROJECTILES(PLAYER::PLAYER_PED_ID(), func_221(0x00000003), 0x00000001); + ["EXPLODE_PROJECTILES"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[BOOL (bool)]] p2)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_bool(p2);native_invoker.end_call("FC4BD125DE7611E4");end, + -- If `explode` true, then removal is done through exploding the projectile. Basically the same as EXPLODE_PROJECTILES but without defining the owner ped. + ["REMOVE_ALL_PROJECTILES_OF_TYPE"]=--[[void]] function(--[[Hash (int)]] weaponHash,--[[BOOL (bool)]] explode)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_bool(explode);native_invoker.end_call("FC52E0F37E446528");end, + ["GET_LOCKON_DISTANCE_OF_CURRENT_PED_WEAPON"]=--[[float]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("840F03E9041E2C9C");return native_invoker.get_return_value_float();end, + ["GET_MAX_RANGE_OF_CURRENT_PED_WEAPON"]=--[[float]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("814C9D19DFD69679");return native_invoker.get_return_value_float();end, + -- Third Parameter = unsure, but pretty sure it is weapon hash + -- --> get_hash_key("weapon_stickybomb") + -- + -- Fourth Parameter = unsure, almost always -1 + ["HAS_VEHICLE_GOT_PROJECTILE_ATTACHED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] driver,--[[Vehicle (int)]] vehicle,--[[Hash (int)]] weaponHash,--[[Any (int)]] p3)native_invoker.begin_call();native_invoker.push_arg_int(driver);native_invoker.push_arg_int(vehicle);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(p3);native_invoker.end_call("717C8481234E3B88");return native_invoker.get_return_value_bool();end, + ["GIVE_WEAPON_COMPONENT_TO_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(componentHash);native_invoker.end_call("D966D51AA5B28BB9");end, + ["REMOVE_WEAPON_COMPONENT_FROM_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(componentHash);native_invoker.end_call("1E8BE90C74FB4C09");end, + ["HAS_PED_GOT_WEAPON_COMPONENT"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(componentHash);native_invoker.end_call("C593212475FAE340");return native_invoker.get_return_value_bool();end, + ["IS_PED_WEAPON_COMPONENT_ACTIVE"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(componentHash);native_invoker.end_call("0D78DE0572D3969E");return native_invoker.get_return_value_bool();end, + -- Old name: _PED_SKIP_NEXT_RELOADING + ["REFILL_AMMO_INSTANTLY"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("8C0D57EA686FAD87");return native_invoker.get_return_value_bool();end, + -- Forces a ped to reload only if they are able to; if they have a full magazine, they will not reload. + ["MAKE_PED_RELOAD"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("20AE33F3AC9C0033");return native_invoker.get_return_value_bool();end, + -- Nearly every instance of p1 I found was 31. Nearly every instance of p2 I found was 0. + -- + -- REQUEST_WEAPON_ASSET(iLocal_1888, 31, 26); + ["REQUEST_WEAPON_ASSET"]=--[[void]] function(--[[Hash (int)]] weaponHash,--[[int]] p1,--[[int]] p2)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(p1);native_invoker.push_arg_int(p2);native_invoker.end_call("5443438F033E29C3");end, + ["HAS_WEAPON_ASSET_LOADED"]=--[[BOOL (bool)]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("36E353271F0E90EE");return native_invoker.get_return_value_bool();end, + ["REMOVE_WEAPON_ASSET"]=--[[void]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("AA08EF13F341C8FC");end, + -- Now has 8 params. + ["CREATE_WEAPON_OBJECT"]=--[[Object (int)]] function(--[[Hash (int)]] weaponHash,--[[int]] ammoCount,--[[float]] x,--[[float]] y,--[[float]] z,--[[BOOL (bool)]] showWorldModel,--[[float]] scale,--[[Any (int)]] p7,--[[Any (int)]] p8,--[[Any (int)]] p9)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(ammoCount);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_bool(showWorldModel);native_invoker.push_arg_float(scale);native_invoker.push_arg_int(p7);native_invoker.push_arg_int(p8);native_invoker.push_arg_int(p9);native_invoker.end_call("9541D3CF0D398F36");return native_invoker.get_return_value_int();end, + -- addonHash: + -- (use WEAPON::GET_WEAPON_COMPONENT_TYPE_MODEL() to get hash value) + -- ${component_at_ar_flsh}, ${component_at_ar_supp}, ${component_at_pi_flsh}, ${component_at_scope_large}, ${component_at_ar_supp_02} + ["GIVE_WEAPON_COMPONENT_TO_WEAPON_OBJECT"]=--[[void]] function(--[[Object (int)]] weaponObject,--[[Hash (int)]] addonHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponObject);native_invoker.push_arg_int(addonHash);native_invoker.end_call("33E179436C0B31DB");end, + ["REMOVE_WEAPON_COMPONENT_FROM_WEAPON_OBJECT"]=--[[void]] function(--[[Any (int)]] p0,--[[Any (int)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(p0);native_invoker.push_arg_int(p1);native_invoker.end_call("F7D82B0D66777611");end, + ["HAS_WEAPON_GOT_WEAPON_COMPONENT"]=--[[BOOL (bool)]] function(--[[Object (int)]] weapon,--[[Hash (int)]] addonHash)native_invoker.begin_call();native_invoker.push_arg_int(weapon);native_invoker.push_arg_int(addonHash);native_invoker.end_call("76A18844E743BF91");return native_invoker.get_return_value_bool();end, + ["GIVE_WEAPON_OBJECT_TO_PED"]=--[[void]] function(--[[Object (int)]] weaponObject,--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(weaponObject);native_invoker.push_arg_int(ped);native_invoker.end_call("B1FA61371AF7C4B7");end, + ["DOES_WEAPON_TAKE_WEAPON_COMPONENT"]=--[[BOOL (bool)]] function(--[[Hash (int)]] weaponHash,--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(componentHash);native_invoker.end_call("5CEE3DF569CECAB0");return native_invoker.get_return_value_bool();end, + -- Drops the current weapon and returns the object + -- + -- Unknown behavior when unarmed. + ["GET_WEAPON_OBJECT_FROM_PED"]=--[[Object (int)]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(p1);native_invoker.end_call("CAE1DC9A0E22A16D");return native_invoker.get_return_value_int();end, + -- GIVE_* + ["_GIVE_LOADOUT_TO_PED"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] loadoutHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(loadoutHash);native_invoker.end_call("68F8BE6AF5CDF8A6");end, + -- tintIndex can be the following: + -- + -- 0 - Normal + -- 1 - Green + -- 2 - Gold + -- 3 - Pink + -- 4 - Army + -- 5 - LSPD + -- 6 - Orange + -- 7 - Platinum + ["SET_PED_WEAPON_TINT_INDEX"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[int]] tintIndex)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(tintIndex);native_invoker.end_call("50969B9B89ED5738");end, + ["GET_PED_WEAPON_TINT_INDEX"]=--[[int]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.end_call("2B9EEDC07BD06B9F");return native_invoker.get_return_value_int();end, + ["SET_WEAPON_OBJECT_TINT_INDEX"]=--[[void]] function(--[[Object (int)]] weapon,--[[int]] tintIndex)native_invoker.begin_call();native_invoker.push_arg_int(weapon);native_invoker.push_arg_int(tintIndex);native_invoker.end_call("F827589017D4E4A9");end, + ["GET_WEAPON_OBJECT_TINT_INDEX"]=--[[int]] function(--[[Object (int)]] weapon)native_invoker.begin_call();native_invoker.push_arg_int(weapon);native_invoker.end_call("CD183314F7CD2E57");return native_invoker.get_return_value_int();end, + ["GET_WEAPON_TINT_COUNT"]=--[[int]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("5DCF6C5CAB2E9BF7");return native_invoker.get_return_value_int();end, + -- Colors: + -- 0 = Gray + -- 1 = Dark Gray + -- 2 = Black + -- 3 = White + -- 4 = Blue + -- 5 = Cyan + -- 6 = Aqua + -- 7 = Cool Blue + -- 8 = Dark Blue + -- 9 = Royal Blue + -- 10 = Plum + -- 11 = Dark Purple + -- 12 = Purple + -- 13 = Red + -- 14 = Wine Red + -- 15 = Magenta + -- 16 = Pink + -- 17 = Salmon + -- 18 = Hot Pink + -- 19 = Rust Orange + -- 20 = Brown + -- 21 = Earth + -- 22 = Orange + -- 23 = Light Orange + -- 24 = Dark Yellow + -- 25 = Yellow + -- 26 = Light Brown + -- 27 = Lime Green + -- 28 = Olive + -- 29 = Moss + -- 30 = Turquoise + -- 31 = Dark Green + ["_SET_PED_WEAPON_LIVERY_COLOR"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[Hash (int)]] camoComponentHash,--[[int]] colorIndex)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(camoComponentHash);native_invoker.push_arg_int(colorIndex);native_invoker.end_call("9FE5633880ECD8ED");end, + -- Returns -1 if camoComponentHash is invalid/not attached to the weapon. + ["_GET_PED_WEAPON_LIVERY_COLOR"]=--[[int]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[Hash (int)]] camoComponentHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(camoComponentHash);native_invoker.end_call("F0A60040BE558F2D");return native_invoker.get_return_value_int();end, + -- Colors: + -- 0 = Gray + -- 1 = Dark Gray + -- 2 = Black + -- 3 = White + -- 4 = Blue + -- 5 = Cyan + -- 6 = Aqua + -- 7 = Cool Blue + -- 8 = Dark Blue + -- 9 = Royal Blue + -- 10 = Plum + -- 11 = Dark Purple + -- 12 = Purple + -- 13 = Red + -- 14 = Wine Red + -- 15 = Magenta + -- 16 = Pink + -- 17 = Salmon + -- 18 = Hot Pink + -- 19 = Rust Orange + -- 20 = Brown + -- 21 = Earth + -- 22 = Orange + -- 23 = Light Orange + -- 24 = Dark Yellow + -- 25 = Yellow + -- 26 = Light Brown + -- 27 = Lime Green + -- 28 = Olive + -- 29 = Moss + -- 30 = Turquoise + -- 31 = Dark Green + ["_SET_WEAPON_OBJECT_LIVERY_COLOR"]=--[[void]] function(--[[Object (int)]] weaponObject,--[[Hash (int)]] camoComponentHash,--[[int]] colorIndex)native_invoker.begin_call();native_invoker.push_arg_int(weaponObject);native_invoker.push_arg_int(camoComponentHash);native_invoker.push_arg_int(colorIndex);native_invoker.end_call("5DA825A85D0EA6E6");end, + -- Returns -1 if camoComponentHash is invalid/not attached to the weapon object. + ["_GET_WEAPON_OBJECT_LIVERY_COLOR"]=--[[int]] function(--[[Object (int)]] weaponObject,--[[Hash (int)]] camoComponentHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponObject);native_invoker.push_arg_int(camoComponentHash);native_invoker.end_call("B3EA4FEABF41464B");return native_invoker.get_return_value_int();end, + -- GET_PED_WEAPON_* + ["_0xA2C9AC24B4061285"]=--[[int]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.end_call("A2C9AC24B4061285");return native_invoker.get_return_value_int();end, + -- SET_WEAPON_OBJECT_* + ["_0x977CA98939E82E4B"]=--[[void]] function(--[[Object (int)]] weaponObject,--[[int]] p1)native_invoker.begin_call();native_invoker.push_arg_int(weaponObject);native_invoker.push_arg_int(p1);native_invoker.end_call("977CA98939E82E4B");end, + -- struct WeaponHudStatsData + -- { + -- BYTE hudDamage; // 0x0000 + -- char _0x0001[0x7]; // 0x0001 + -- BYTE hudSpeed; // 0x0008 + -- char _0x0009[0x7]; // 0x0009 + -- BYTE hudCapacity; // 0x0010 + -- char _0x0011[0x7]; // 0x0011 + -- BYTE hudAccuracy; // 0x0018 + -- char _0x0019[0x7]; // 0x0019 + -- BYTE hudRange; // 0x0020 + -- }; + -- + -- Usage: + -- + -- WeaponHudStatsData data; + -- if (GET_WEAPON_HUD_STATS(weaponHash, (int *)&data)) + -- { + -- // BYTE damagePercentage = data.hudDamage and so on + -- } + ["GET_WEAPON_HUD_STATS"]=--[[BOOL (bool)]] function(--[[Hash (int)]] weaponHash,--[[Any* (pointer)]] outData)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_pointer(outData);native_invoker.end_call("D92C739EE34C9EBA");return native_invoker.get_return_value_bool();end, + ["GET_WEAPON_COMPONENT_HUD_STATS"]=--[[BOOL (bool)]] function(--[[Hash (int)]] componentHash,--[[int* (pointer)]] outData)native_invoker.begin_call();native_invoker.push_arg_int(componentHash);native_invoker.push_arg_pointer(outData);native_invoker.end_call("B3CAF387AE12E9F8");return native_invoker.get_return_value_bool();end, + -- This native does not return damages of weapons from the melee and explosive group. + ["GET_WEAPON_DAMAGE"]=--[[float]] function(--[[Hash (int)]] weaponHash,--[[Hash (int)]] componentHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_int(componentHash);native_invoker.end_call("3133B907D8B32053");return native_invoker.get_return_value_float();end, + -- // Returns the size of the default weapon component clip. + -- + -- Use it like this: + -- + -- char cClipSize[32]; + -- Hash cur; + -- if (WEAPON::GET_CURRENT_PED_WEAPON(playerPed, &cur, 1)) + -- { + -- if (WEAPON::IS_WEAPON_VALID(cur)) + -- { + -- int iClipSize = WEAPON::GET_WEAPON_CLIP_SIZE(cur); + -- sprintf_s(cClipSize, "ClipSize: %.d", iClipSize); + -- vDrawString(cClipSize, 0.5f, 0.5f); + -- } + -- } + -- + ["GET_WEAPON_CLIP_SIZE"]=--[[int]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("583BE370B1EC6EB4");return native_invoker.get_return_value_int();end, + ["_GET_WEAPON_TIME_BETWEEN_SHOTS"]=--[[float]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("065D2AACAD8CF7A4");return native_invoker.get_return_value_float();end, + ["SET_PED_CHANCE_OF_FIRING_BLANKS"]=--[[void]] function(--[[Ped (int)]] ped,--[[float]] xBias,--[[float]] yBias)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(xBias);native_invoker.push_arg_float(yBias);native_invoker.end_call("8378627201D5497D");end, + -- Returns handle of the projectile. + ["SET_PED_SHOOT_ORDNANCE_WEAPON"]=--[[Object (int)]] function(--[[Ped (int)]] ped,--[[float]] p1)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_float(p1);native_invoker.end_call("B4C8D77C80C0421E");return native_invoker.get_return_value_int();end, + ["REQUEST_WEAPON_HIGH_DETAIL_MODEL"]=--[[void]] function(--[[Entity (int)]] weaponObject)native_invoker.begin_call();native_invoker.push_arg_int(weaponObject);native_invoker.end_call("48164DBB970AC3F0");end, + -- Changes the weapon damage output by the given multiplier value. Must be run every frame. + ["_SET_WEAPON_DAMAGE_MODIFIER_THIS_FRAME"]=--[[void]] function(--[[Hash (int)]] weaponHash,--[[float]] damageMultiplier)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_float(damageMultiplier);native_invoker.end_call("4757F00BC6323CFE");end, + -- This native returns a true or false value. + -- + -- Ped ped = The ped whose weapon you want to check. + ["IS_PED_CURRENT_WEAPON_SILENCED"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("65F0C5AE05943EC7");return native_invoker.get_return_value_bool();end, + ["IS_FLASH_LIGHT_ON"]=--[[BOOL (bool)]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("4B7620C47217126C");return native_invoker.get_return_value_bool();end, + ["SET_FLASH_LIGHT_FADE_DISTANCE"]=--[[Any (int)]] function(--[[float]] distance)native_invoker.begin_call();native_invoker.push_arg_float(distance);native_invoker.end_call("CEA66DAD478CD39B");return native_invoker.get_return_value_int();end, + -- Enables/disables flashlight on ped's weapon. + ["_SET_FLASH_LIGHT_ENABLED"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("988DB6FE9B3AC000");end, + -- Changes the selected ped aiming animation style. + -- Note : You must use GET_HASH_KEY! + -- + -- Strings to use with GET_HASH_KEY : + -- + -- "Ballistic", + -- "Default", + -- "Fat", + -- "Female", + -- "FirstPerson", + -- "FirstPersonAiming", + -- "FirstPersonFranklin", + -- "FirstPersonFranklinAiming", + -- "FirstPersonFranklinRNG", + -- "FirstPersonFranklinScope", + -- "FirstPersonMPFemale", + -- "FirstPersonMichael", + -- "FirstPersonMichaelAiming", + -- "FirstPersonMichaelRNG", + -- "FirstPersonMichaelScope", + -- "FirstPersonRNG", + -- "FirstPersonScope", + -- "FirstPersonTrevor", + -- "FirstPersonTrevorAiming", + -- "FirstPersonTrevorRNG", + -- "FirstPersonTrevorScope", + -- "Franklin", + -- "Gang", + -- "Gang1H", + -- "GangFemale", + -- "Hillbilly", + -- "MP_F_Freemode", + -- "Michael", + -- "SuperFat", + -- "Trevor" + ["SET_WEAPON_ANIMATION_OVERRIDE"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] animStyle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(animStyle);native_invoker.end_call("1055AC3A667F09D9");end, + -- 0=unknown (or incorrect weaponHash) + -- 1= no damage (flare,snowball, petrolcan) + -- 2=melee + -- 3=bullet + -- 4=force ragdoll fall + -- 5=explosive (RPG, Railgun, grenade) + -- 6=fire(molotov) + -- 8=fall(WEAPON_HELI_CRASH) + -- 10=electric + -- 11=barbed wire + -- 12=extinguisher + -- 13=gas + -- 14=water cannon(WEAPON_HIT_BY_WATER_CANNON) + ["GET_WEAPON_DAMAGE_TYPE"]=--[[int]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("3BE0BB12D25FB305");return native_invoker.get_return_value_int();end, + ["_0xE4DCEC7FD5B739A5"]=--[[void]] function(--[[Ped (int)]] ped)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.end_call("E4DCEC7FD5B739A5");end, + -- this returns if you can use the weapon while using a parachute + ["CAN_USE_WEAPON_ON_PARACHUTE"]=--[[BOOL (bool)]] function(--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_int(weaponHash);native_invoker.end_call("BC7BE5ABC0879F74");return native_invoker.get_return_value_bool();end, + -- Both coordinates are from objects in the decompiled scripts. Native related to 0xECDC202B25E5CF48 p1 value. The only weapon hash used in the decompiled scripts is weapon_air_defence_gun. These two natives are used by the yacht script, decompiled scripts suggest it and the weapon hash used (valkyrie's rockets) are also used by yachts. + ["_CREATE_AIR_DEFENSE_SPHERE"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_int(weaponHash);native_invoker.end_call("91EF34584710BE99");return native_invoker.get_return_value_int();end, + ["_CREATE_AIR_DEFENSE_AREA"]=--[[int]] function(--[[float]] p0,--[[float]] p1,--[[float]] p2,--[[float]] p3,--[[float]] p4,--[[float]] p5,--[[float]] p6,--[[float]] p7,--[[float]] p8,--[[float]] p9,--[[Hash (int)]] weaponHash)native_invoker.begin_call();native_invoker.push_arg_float(p0);native_invoker.push_arg_float(p1);native_invoker.push_arg_float(p2);native_invoker.push_arg_float(p3);native_invoker.push_arg_float(p4);native_invoker.push_arg_float(p5);native_invoker.push_arg_float(p6);native_invoker.push_arg_float(p7);native_invoker.push_arg_float(p8);native_invoker.push_arg_float(p9);native_invoker.push_arg_int(weaponHash);native_invoker.end_call("9DA58CDBF6BDBC08");return native_invoker.get_return_value_int();end, + ["_REMOVE_AIR_DEFENSE_ZONE"]=--[[BOOL (bool)]] function(--[[int]] zoneId)native_invoker.begin_call();native_invoker.push_arg_int(zoneId);native_invoker.end_call("0ABF535877897560");return native_invoker.get_return_value_bool();end, + ["_REMOVE_ALL_AIR_DEFENSE_ZONES"]=--[[void]] function()native_invoker.begin_call();native_invoker.end_call("1E45B34ADEBEE48E");end, + ["_SET_PLAYER_AIR_DEFENSE_ZONE_FLAG"]=--[[void]] function(--[[Player (int)]] player,--[[int]] zoneId,--[[BOOL (bool)]] enable)native_invoker.begin_call();native_invoker.push_arg_int(player);native_invoker.push_arg_int(zoneId);native_invoker.push_arg_bool(enable);native_invoker.end_call("ECDC202B25E5CF48");end, + ["_IS_ANY_AIR_DEFENSE_ZONE_INSIDE_SPHERE"]=--[[BOOL (bool)]] function(--[[float]] x,--[[float]] y,--[[float]] z,--[[float]] radius,--[[int* (pointer)]] outZoneId)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.push_arg_float(radius);native_invoker.push_arg_pointer(outZoneId);native_invoker.end_call("DAB963831DBFD3F4");return native_invoker.get_return_value_bool();end, + ["_FIRE_AIR_DEFENSE_WEAPON"]=--[[void]] function(--[[int]] zoneId,--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_int(zoneId);native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("44F1012B69313374");end, + ["_DOES_AIR_DEFENSE_ZONE_EXIST"]=--[[BOOL (bool)]] function(--[[int]] zoneId)native_invoker.begin_call();native_invoker.push_arg_int(zoneId);native_invoker.end_call("CD79A550999D7D4F");return native_invoker.get_return_value_bool();end, + -- Disables selecting the given weapon. Ped isn't forced to put the gun away. However you can't reselect the weapon if you holster then unholster. Weapon is also grayed out on the weapon wheel. + ["_SET_CAN_PED_EQUIP_WEAPON"]=--[[void]] function(--[[Ped (int)]] ped,--[[Hash (int)]] weaponHash,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_int(weaponHash);native_invoker.push_arg_bool(toggle);native_invoker.end_call("B4771B9AAF4E68E4");end, + -- Disable all weapons. Does the same as 0xB4771B9AAF4E68E4 except for all weapons. + ["_SET_CAN_PED_EQUIP_ALL_WEAPONS"]=--[[void]] function(--[[Ped (int)]] ped,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(ped);native_invoker.push_arg_bool(toggle);native_invoker.end_call("EFF296097FF1E509");end, +} +ZONE={ + ["GET_ZONE_AT_COORDS"]=--[[int]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("27040C25DE6CB2F4");return native_invoker.get_return_value_int();end, + -- 'zoneName' corresponds to an entry in 'popzone.ipl'. + -- + -- AIRP = Los Santos International Airport + -- ALAMO = Alamo Sea + -- ALTA = Alta + -- ARMYB = Fort Zancudo + -- BANHAMC = Banham Canyon Dr + -- BANNING = Banning + -- BEACH = Vespucci Beach + -- BHAMCA = Banham Canyon + -- BRADP = Braddock Pass + -- BRADT = Braddock Tunnel + -- BURTON = Burton + -- CALAFB = Calafia Bridge + -- CANNY = Raton Canyon + -- CCREAK = Cassidy Creek + -- CHAMH = Chamberlain Hills + -- CHIL = Vinewood Hills + -- CHU = Chumash + -- CMSW = Chiliad Mountain State Wilderness + -- CYPRE = Cypress Flats + -- DAVIS = Davis + -- DELBE = Del Perro Beach + -- DELPE = Del Perro + -- DELSOL = La Puerta + -- DESRT = Grand Senora Desert + -- DOWNT = Downtown + -- DTVINE = Downtown Vinewood + -- EAST_V = East Vinewood + -- EBURO = El Burro Heights + -- ELGORL = El Gordo Lighthouse + -- ELYSIAN = Elysian Island + -- GALFISH = Galilee + -- GOLF = GWC and Golfing Society + -- GRAPES = Grapeseed + -- GREATC = Great Chaparral + -- HARMO = Harmony + -- HAWICK = Hawick + -- HORS = Vinewood Racetrack + -- HUMLAB = Humane Labs and Research + -- JAIL = Bolingbroke Penitentiary + -- KOREAT = Little Seoul + -- LACT = Land Act Reservoir + -- LAGO = Lago Zancudo + -- LDAM = Land Act Dam + -- LEGSQU = Legion Square + -- LMESA = La Mesa + -- LOSPUER = La Puerta + -- MIRR = Mirror Park + -- MORN = Morningwood + -- MOVIE = Richards Majestic + -- MTCHIL = Mount Chiliad + -- MTGORDO = Mount Gordo + -- MTJOSE = Mount Josiah + -- MURRI = Murrieta Heights + -- NCHU = North Chumash + -- NOOSE = N.O.O.S.E + -- OCEANA = Pacific Ocean + -- PALCOV = Paleto Cove + -- PALETO = Paleto Bay + -- PALFOR = Paleto Forest + -- PALHIGH = Palomino Highlands + -- PALMPOW = Palmer-Taylor Power Station + -- PBLUFF = Pacific Bluffs + -- PBOX = Pillbox Hill + -- PROCOB = Procopio Beach + -- RANCHO = Rancho + -- RGLEN = Richman Glen + -- RICHM = Richman + -- ROCKF = Rockford Hills + -- RTRAK = Redwood Lights Track + -- SANAND = San Andreas + -- SANCHIA = San Chianski Mountain Range + -- SANDY = Sandy Shores + -- SKID = Mission Row + -- SLAB = Stab City + -- STAD = Maze Bank Arena + -- STRAW = Strawberry + -- TATAMO = Tataviam Mountains + -- TERMINA = Terminal + -- TEXTI = Textile City + -- TONGVAH = Tongva Hills + -- TONGVAV = Tongva Valley + -- VCANA = Vespucci Canals + -- VESP = Vespucci + -- VINE = Vinewood + -- WINDF = Ron Alternates Wind Farm + -- WVINE = West Vinewood + -- ZANCUDO = Zancudo River + -- ZP_ORT = Port of South Los Santos + -- ZQ_UAR = Davis Quartz + -- + -- Full list of zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/zones.json + ["GET_ZONE_FROM_NAME_ID"]=--[[int]] function(--[[string]] zoneName)native_invoker.begin_call();native_invoker.push_arg_string(zoneName);native_invoker.end_call("98CD1D2934B76CC1");return native_invoker.get_return_value_int();end, + ["GET_ZONE_POPSCHEDULE"]=--[[int]] function(--[[int]] zoneId)native_invoker.begin_call();native_invoker.push_arg_int(zoneId);native_invoker.end_call("4334BC40AA0CB4BB");return native_invoker.get_return_value_int();end, + -- AIRP = Los Santos International Airport + -- ALAMO = Alamo Sea + -- ALTA = Alta + -- ARMYB = Fort Zancudo + -- BANHAMC = Banham Canyon Dr + -- BANNING = Banning + -- BEACH = Vespucci Beach + -- BHAMCA = Banham Canyon + -- BRADP = Braddock Pass + -- BRADT = Braddock Tunnel + -- BURTON = Burton + -- CALAFB = Calafia Bridge + -- CANNY = Raton Canyon + -- CCREAK = Cassidy Creek + -- CHAMH = Chamberlain Hills + -- CHIL = Vinewood Hills + -- CHU = Chumash + -- CMSW = Chiliad Mountain State Wilderness + -- CYPRE = Cypress Flats + -- DAVIS = Davis + -- DELBE = Del Perro Beach + -- DELPE = Del Perro + -- DELSOL = La Puerta + -- DESRT = Grand Senora Desert + -- DOWNT = Downtown + -- DTVINE = Downtown Vinewood + -- EAST_V = East Vinewood + -- EBURO = El Burro Heights + -- ELGORL = El Gordo Lighthouse + -- ELYSIAN = Elysian Island + -- GALFISH = Galilee + -- GOLF = GWC and Golfing Society + -- GRAPES = Grapeseed + -- GREATC = Great Chaparral + -- HARMO = Harmony + -- HAWICK = Hawick + -- HORS = Vinewood Racetrack + -- HUMLAB = Humane Labs and Research + -- JAIL = Bolingbroke Penitentiary + -- KOREAT = Little Seoul + -- LACT = Land Act Reservoir + -- LAGO = Lago Zancudo + -- LDAM = Land Act Dam + -- LEGSQU = Legion Square + -- LMESA = La Mesa + -- LOSPUER = La Puerta + -- MIRR = Mirror Park + -- MORN = Morningwood + -- MOVIE = Richards Majestic + -- MTCHIL = Mount Chiliad + -- MTGORDO = Mount Gordo + -- MTJOSE = Mount Josiah + -- MURRI = Murrieta Heights + -- NCHU = North Chumash + -- NOOSE = N.O.O.S.E + -- OCEANA = Pacific Ocean + -- PALCOV = Paleto Cove + -- PALETO = Paleto Bay + -- PALFOR = Paleto Forest + -- PALHIGH = Palomino Highlands + -- PALMPOW = Palmer-Taylor Power Station + -- PBLUFF = Pacific Bluffs + -- PBOX = Pillbox Hill + -- PROCOB = Procopio Beach + -- RANCHO = Rancho + -- RGLEN = Richman Glen + -- RICHM = Richman + -- ROCKF = Rockford Hills + -- RTRAK = Redwood Lights Track + -- SANAND = San Andreas + -- SANCHIA = San Chianski Mountain Range + -- SANDY = Sandy Shores + -- SKID = Mission Row + -- SLAB = Stab City + -- STAD = Maze Bank Arena + -- STRAW = Strawberry + -- TATAMO = Tataviam Mountains + -- TERMINA = Terminal + -- TEXTI = Textile City + -- TONGVAH = Tongva Hills + -- TONGVAV = Tongva Valley + -- VCANA = Vespucci Canals + -- VESP = Vespucci + -- VINE = Vinewood + -- WINDF = Ron Alternates Wind Farm + -- WVINE = West Vinewood + -- ZANCUDO = Zancudo River + -- ZP_ORT = Port of South Los Santos + -- ZQ_UAR = Davis Quartz + -- + -- Full list of zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/zones.json + ["GET_NAME_OF_ZONE"]=--[[string]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("CD90657D4C30E1CA");return native_invoker.get_return_value_string();end, + ["SET_ZONE_ENABLED"]=--[[void]] function(--[[int]] zoneId,--[[BOOL (bool)]] toggle)native_invoker.begin_call();native_invoker.push_arg_int(zoneId);native_invoker.push_arg_bool(toggle);native_invoker.end_call("BA5ECEEA120E5611");end, + -- cellphone range 1- 5 used for signal bar in iFruit phone + ["GET_ZONE_SCUMMINESS"]=--[[int]] function(--[[int]] zoneId)native_invoker.begin_call();native_invoker.push_arg_int(zoneId);native_invoker.end_call("5F7B268D15BA0739");return native_invoker.get_return_value_int();end, + -- Only used once in the decompiled scripts. Seems to be related to scripted vehicle generators. + -- + -- Modified example from "am_imp_exp.c4", line 6406: + -- /* popSchedules[0] = ZONE::GET_ZONE_POPSCHEDULE(ZONE::GET_ZONE_AT_COORDS(891.3, 807.9, 188.1)); + -- etc. + -- */ + -- ZONE::OVERRIDE_POPSCHEDULE_VEHICLE_MODEL(popSchedules[index], vehicleHash); + -- STREAMING::REQUEST_MODEL(vehicleHash); + ["OVERRIDE_POPSCHEDULE_VEHICLE_MODEL"]=--[[void]] function(--[[int]] scheduleId,--[[Hash (int)]] vehicleHash)native_invoker.begin_call();native_invoker.push_arg_int(scheduleId);native_invoker.push_arg_int(vehicleHash);native_invoker.end_call("5F7D596BAC2E7777");end, + -- Only used once in the decompiled scripts. Seems to be related to scripted vehicle generators. + -- + -- Modified example from "am_imp_exp.c4", line 6418: + -- /* popSchedules[0] = ZONE::GET_ZONE_POPSCHEDULE(ZONE::GET_ZONE_AT_COORDS(891.3, 807.9, 188.1)); + -- etc. + -- */ + -- STREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(vehicleHash); + -- ZONE::CLEAR_POPSCHEDULE_OVERRIDE_VEHICLE_MODEL(popSchedules[index]); + ["CLEAR_POPSCHEDULE_OVERRIDE_VEHICLE_MODEL"]=--[[void]] function(--[[int]] scheduleId)native_invoker.begin_call();native_invoker.push_arg_int(scheduleId);native_invoker.end_call("5C0DE367AA0D911C");end, + -- Returns a hash representing which part of the map the given coords are located. + -- + -- Possible return values: + -- (Hash of) city -> -289320599 + -- (Hash of) countryside -> 2072609373 + -- + -- C# Example : + -- + -- Ped player = Game.Player.Character; + -- Hash h = Function.Call(Hash.GET_HASH_OF_MAP_AREA_AT_COORDS, player.Position.X, player.Position.Y, player.Position.Z); + ["GET_HASH_OF_MAP_AREA_AT_COORDS"]=--[[Hash (int)]] function(--[[float]] x,--[[float]] y,--[[float]] z)native_invoker.begin_call();native_invoker.push_arg_float(x);native_invoker.push_arg_float(y);native_invoker.push_arg_float(z);native_invoker.end_call("7EE64D51E8498728");return native_invoker.get_return_value_int();end, +}