diff --git a/PrivateMenu/src/backend/backendMain.cpp b/PrivateMenu/src/backend/backendMain.cpp index e93785a802..9883fe09d4 100644 --- a/PrivateMenu/src/backend/backendMain.cpp +++ b/PrivateMenu/src/backend/backendMain.cpp @@ -1,4 +1,4 @@ -#include "stdafx.h" +#include "stdafx.h" #include "menu/submenus/main/worldMenu.h" #include "menu/submenus/main/world/worldDrawablesMenu.h" #include "menu/submenus/main/session/playerList/player/chatCommandMenu.h" @@ -1091,10 +1091,10 @@ bool Backend::PreGameBackend() { m_networkPlayerManager = GetAddressFromInstruction(data.m_address); })) return false; - ///*Handle Chat*/ - //if (!Hooking::ServerPatternCallback("HC", [](Hooking::CallbackData data) { - // return Hooking::HookFunction((char*)GetAddressFromInstruction(data.m_address, 0, 1, 5), &HandleChatHook, &OriginalHandleChat, "HC"); - // })) return false; + /*Handle Chat*/ + if (!Hooking::ServerPatternCallback("HC", [](Hooking::CallbackData data) { + return Hooking::HookFunction((char*)GetAddressFromInstruction(data.m_address, 0, 1, 5), &HandleChatHook, &OriginalHandleChat, "HC"); + })) return false; /*Is DLC Present*/ if (!Hooking::ServerPatternCallback("IDP", [](Hooking::CallbackData data) { @@ -1182,15 +1182,15 @@ bool Backend::InGameBackend() { Hooking::HookScriptNative(script, 0xDC38CC1E35B6A5D7, WarningMessageHook, "WMH"); });*/ - for each (DWORD64 address in Pattern::getStringAddress(PLAYER::GetPlayerName(PLAYER::PlayerId()))) { + /*for each (DWORD64 address in Pattern::getStringAddress(PLAYER::GetPlayerName(PLAYER::PlayerId()))) { Backend::m_nameAddresses.push_back(address); - } + }*/ /*for (auto& address : Pattern::getStringAddress(PLAYER::GetPlayerName(PLAYER::PlayerId()))) { Backend::m_nameAddresses.push_back(address); }*/ - Backend::m_nameAddresses.push_back(Pattern::getMultilayerPointer(GetWorldPtr(), { 0x8, 0x10B8, 0x7c })); + //Backend::m_nameAddresses.push_back(Pattern::getMultilayerPointer(GetWorldPtr(), { 0x8, 0x10B8, 0x7c })); return true; } diff --git a/PrivateMenu/src/menu/globals.h b/PrivateMenu/src/menu/globals.h index 183c536e22..1a519d177b 100644 --- a/PrivateMenu/src/menu/globals.h +++ b/PrivateMenu/src/menu/globals.h @@ -1,4 +1,4 @@ -#pragma once +#pragma once class Global { private: @@ -31,91 +31,90 @@ class Global { namespace SCRIPTEVENTS { static const int64_t START_TYPING = 3033046699; static const int64_t STOP_TYPING = 2994416968; - static const int64_t PAUSE_ENTER = 2329576889; // 1.46 = 1613784162 + static const int64_t PAUSE_ENTER = 2329576889; // 1.46 = 1613784162 static const int64_t PAUSE_LEAVE = 457878498; - static const int64_t JOINED_PLAYER = 1829532170; // 1.46 = 256098994 - - static const int64_t ECLIPSETELEPORT = -702866045; // 1365267338 // 1.46 = 1000837481 - static const int64_t INCREASERP = -2136917450; // -181444979 // NOT USED - static const int64_t KICKFROMVEHICLE = -1603050746; // 1796063150 // 1.46 = 325218053 - static const int64_t FORCEINTOMISSION = -2138393348; // -2145536660 // 1.46 = -15432926 - static const int64_t NOTIFICATION = 2041805809; // 111286607 // 1.46 = 713068249 - static const int64_t NOTIFICATION2 = 276906331; // -270262485 // 1.46 = 1009196241 - - static const int64_t NONHOSTKICK1 = 1938530224; // 423635655 // 1.46 = -120668417 - static const int64_t NONHOSTKICK2 = -1880259633; // 400031869 // 1.46 = 1222825035 - static const int64_t NONHOSTKICK3 = -516949273; // -510378036 // 1.46 = 769347061 - static const int64_t NONHOSTKICK4 = 1418092950; // -815817885 // 1.46 = 999090520 - static const int64_t NONHOSTKICK5 = -1906333887; // -1264063129 // 1.46 = 1642479322 - static const int64_t NONHOSTKICK6 = 1037271047; // -941739545 // 1.46 = 2055958901 - - static const int64_t KICKTOSP1 = -866893497; // -1424895288 // 1.46 = 994306218 - static const int64_t KICKTOSP2 = 1314698923; // 1.46 = -928998106 - static const int64_t KICKTOSP3 = -158670784; // 1.46 = 1153942884 - - static const int64_t CEOKICK = 1421455565; // -606032195 // 1.46 = -1190833098 - static const int64_t CEOBAN = 1517094008; // -326132866 // 1.46 = 360381720 - static const int64_t INVITE = 36077543; // 715645088 // 1.46 = -175474624 - static const int64_t GOTR = 1141648445; // 1141648445 //1848739240 // 1.46 = 1344161996 - static const int64_t GNEVERWANTED = 1894573; // 1743540940 //685727305 // 1.46 = 1475266103 - static const int64_t GCOPSTURNBLINDEYE = -1635856102; // 1.46 = 1555129594 - - static const int64_t SPECTATINGMESSAGE = -1903870031; // 446273009 // 1.46 = 436170208 - static const int64_t FACECAMERAFORWARD = -1762807505; // -42615386 // 1.46 = 566035618 - static const int64_t FACECAMERAFORWARD2 = 745899999; // 1.46 = -1432407380 - - static const int64_t DISPLAYINSURANCEMESSAGE = -642631978; // 252265430 // 1.46 = 380155193 - static const int64_t TRANSACTIONERRORSPAM = 54323524; // -1049031463 + static const int64_t JOINED_PLAYER = 1829532170; // 1.46 = 256098994 + + static const int64_t ECLIPSETELEPORT = 1365267338; // 1.46 = 1000837481 + static const int64_t INCREASERP = -181444979; // NOT USED + static const int64_t KICKFROMVEHICLE = 1796063150; // 1.46 = 325218053 + static const int64_t FORCEINTOMISSION = -2145536660; // 1.46 = -15432926 + static const int64_t NOTIFICATION = 111286607; // 1.46 = 713068249 + static const int64_t NOTIFICATION2 = -270262485; // 1.46 = 1009196241 + + static const int64_t NONHOSTKICK1 = 423635655; // 1.46 = -120668417 + static const int64_t NONHOSTKICK2 = 400031869; // 1.46 = 1222825035 + static const int64_t NONHOSTKICK3 = -510378036; // 1.46 = 769347061 + static const int64_t NONHOSTKICK4 = -815817885; // 1.46 = 999090520 + static const int64_t NONHOSTKICK5 = -1264063129; // 1.46 = 1642479322 + static const int64_t NONHOSTKICK6 = -941739545; // 1.46 = 2055958901 + + static const int64_t KICKTOSP1 = -1424895288; // 1.46 = 994306218 + static const int64_t KICKTOSP2 = 1314698923; // 1.46 = -928998106 + static const int64_t KICKTOSP3 = -158670784; // 1.46 = 1153942884 + + static const int64_t CEOKICK = -606032195; // 1.46 = -1190833098 + static const int64_t CEOBAN = -326132866; // 1.46 = 360381720 + static const int64_t INVITE = 715645088; // 1.46 = -175474624 + static const int64_t GOTR = 1848739240; // 1.46 = 1344161996 + static const int64_t GNEVERWANTED = 685727305; // 1.46 = 1475266103 + static const int64_t GCOPSTURNBLINDEYE = -1635856102; // 1.46 = 1555129594 + + static const int64_t SPECTATINGMESSAGE = 446273009; // 1.46 = 436170208 + static const int64_t FACECAMERAFORWARD = -42615386; // 1.46 = 566035618 + static const int64_t FACECAMERAFORWARD2 = 745899999; // 1.46 = -1432407380 + + static const int64_t DISPLAYINSURANCEMESSAGE = 252265430; // 1.46 = 380155193 + static const int64_t TRANSACTIONERRORSPAM = -1049031463; }; namespace Globals { - static const int LEVEL = 289559; // 1.46 = 287850 - static const int MPINSP_164 = 4267883; // UPDATED maybe1.46 - static const int MPINSP = 4540726; //4267883 // UPDATED - static const int PLAYER_BASE = 1853910; //1589819 // 1.46 = 1589747 - static const int PLAYER_PADDING = 862; //818 // 1.46 = 790 - static const int PLAYER_EXTRA = 237; // 1.46 = 237 - static const int PLAYER_OFFSET = 205; //211 // SAME - - static const int PLAYER_OFFSET_WALLET = 3; // SAME - static const int PLAYER_OFFSET_TOTAL = 56; // SAME - static const int PLAYER_OFFSET_XP = 5; // SAME - static const int PLAYER_OFFSET_LEVEL = 6; // SAME - static const int PLAYER_OFFSET_KD = 26; // SAME - static const int PLAYER_OFFSET_KILLS = 28; // SAME - static const int PLAYER_OFFSET_DEATHS = 29; // SAME - static const int OTR_BASE = 2424047; // 1.46 = 2423801 - static const int OTR_PADDING = 416; // 1.46 = 413 - static const int OTR_OFFSET = 200; // SAME - static const int OTR_PLAYERS_OFFSET = 222; // SAME - static const int EFFECT_TIME_BASE = 2672505; //2437364 // 1.46 = 2437022 - static const int TIME_BASE = 2528542; // 1.46 = 2524719 - static const int TIME_OFFSET = 70; // SAME - static const int NOIDLEKICK = 1653913; //1371947 // 1.46 = 1368245 - static const int TESTOSTERONE_OFFSET = 3690; //3880 // 1.46 = 3876 - static const int BLINDEYEOFFSET1 = 4546; // 1.46 = 4542 - static const int BLINDEYEOFFSET2 = 4549; // 1.46 = 4545 - static const int SNOW_BASE = 262145; // 1.67 - static const int SNOW_OFFSET = 4752; // 1.67 + static const int LEVEL = 289559; // 1.46 = 287850 + static const int MPINSP_164 = 4267883; // UPDATED maybe1.46 + static const int MPINSP = 4540731; //2499 1.67 + static const int PLAYER_BASE = 1589819; // 1.46 = 1589747 + static const int PLAYER_PADDING = 818; // 1.46 = 790 + static const int PLAYER_EXTRA = 237; // 1.46 = 237 + static const int PLAYER_OFFSET = 211; // SAME + static const int PLAYER_OFFSET_WALLET = 3; // SAME + static const int PLAYER_OFFSET_TOTAL = 56; // SAME + static const int PLAYER_OFFSET_XP = 5; // SAME + static const int PLAYER_OFFSET_LEVEL = 6; // SAME + static const int PLAYER_OFFSET_KD = 26; // SAME + static const int PLAYER_OFFSET_KILLS = 28; // SAME + static const int PLAYER_OFFSET_DEATHS = 29; // SAME + static const int OTR_BASE = 2424047; // 1.46 = 2423801 + static const int OTR_PADDING = 416; // 1.46 = 413 + static const int OTR_OFFSET = 200; // SAME + static const int OTR_PLAYERS_OFFSET = 222; // SAME + static const int EFFECT_TIME_BASE = 2437364; // 1.46 = 2437022 + static const int TIME_BASE = 2528542; // 1.46 = 2524719 + static const int TIME_OFFSET = 70; // SAME + static const int NOIDLEKICK = 1371947; // 1.46 = 1368245 + static const int TESTOSTERONE_OFFSET = 3880; // 1.46 = 3876 + static const int BLINDEYEOFFSET1 = 4546; // 1.46 = 4542 + static const int BLINDEYEOFFSET2 = 4549; // 1.46 = 4545 + static const int SNOW_BASE = 262145; // 1.67 + static const int SNOW_OFFSET = 4752; // 1.67 /*Interaction menu instructional queue*/ - static const int IMIQUEUE_BASE = 17411; // 1.46 = 17367 - static const int IMIQUEUE_OFFSET = 4769; // 1.46 = 4767 - static const int IMIQUEUE_OFFSET2 = 4770; // 1.46 = 4768 - static const int PHONE_BASE = 14553; // UPDATED - static const int PHONE_BOOL1 = 20483; // UPDATED 1.67 - static const int PHONE_POSSET = 14481; // 1.46 = 14441 - static const int PHONE_POSGET = 14498; // 1.46 = 14458 - static const int PHONE_BITSET1 = 2424; // 1.46 = 2384 - static const int PHONE_BITSET2 = 2423; // 1.46 = 2383 - - static const int REMOTE_BASE = 1894573; //1626536 // 1.46 = 1625435 - static const int REMOTE_SIZE = 608; //603 // 1.46 = 560 - static const int REMOTE_OFFSET = 510; //529 // 1.46 = 491 + static const int IMIQUEUE_BASE = 17411; // 1.46 = 17367 + static const int IMIQUEUE_OFFSET = 4769; // 1.46 = 4767 + static const int IMIQUEUE_OFFSET2 = 4770; // 1.46 = 4768 + static const int PHONE_BASE = 14553; // UPDATED + static const int PHONE_BOOL1 = 20483; // UPDATED 1.67 + static const int PHONE_POSSET = 14481; // 1.46 = 14441 + static const int PHONE_POSGET = 14498; // 1.46 = 14458 + static const int PHONE_BITSET1 = 2424; // 1.46 = 2384 + static const int PHONE_BITSET2 = 2423; // 1.46 = 2383 + + static const int REMOTE_BASE = 1626536; // 1.46 = 1625435 + static const int REMOTE_SIZE = 603; // 1.46 = 560 + static const int REMOTE_OFFSET = 529; // 1.46 = 491 /* Added before casino dlc */ - static const int NOIDLEKICK2 = 1172; //1165 // 1.46 = 1165 - static const int NOIDLEKICK3 = 1156; //1149 // 1.46 = 1149 + static const int NOIDLEKICK2 = 1165; // 1.46 = 1165 + static const int NOIDLEKICK3 = 1149; // 1.46 = 1149 }; diff --git a/PrivateMenu/src/menu/submenus/main/local/globalMenu.cpp b/PrivateMenu/src/menu/submenus/main/local/globalMenu.cpp index 847e6f7a8e..70bf6412b8 100644 --- a/PrivateMenu/src/menu/submenus/main/local/globalMenu.cpp +++ b/PrivateMenu/src/menu/submenus/main/local/globalMenu.cpp @@ -1,4 +1,4 @@ -#include "stdafx.h" +#include "stdafx.h" #include "globalMenu.h" #include "../localMenu.h" @@ -11,13 +11,10 @@ namespace GlobalMenuVars { void OTR(bool toggle) { if (NETWORK::NetworkIsSessionActive()) { if (toggle) { - Global(2657589).At(1 + (GetLocalPlayer().m_id * 466)).At(210).As() = 1; - Global(2672505).At(57).As() = NETWORK::GetNetworkTime() + 99;//56 - - //Global(OTR_BASE).At(GetLocalPlayer().m_id, OTR_PADDING).At(OTR_OFFSET).As() = 1; - //Global(EFFECT_TIME_BASE).At(TIME_OFFSET).As() = NETWORK::GetNetworkTime(); + Global(OTR_BASE).At(GetLocalPlayer().m_id, OTR_PADDING).At(OTR_OFFSET).As() = 1; + Global(EFFECT_TIME_BASE).At(TIME_OFFSET).As() = NETWORK::GetNetworkTime(); } else { - //Global(OTR_BASE).At(GetLocalPlayer().m_id, OTR_PADDING).At(OTR_OFFSET).As() = 0; + Global(OTR_BASE).At(GetLocalPlayer().m_id, OTR_PADDING).At(OTR_OFFSET).As() = 0; } } } diff --git a/PrivateMenu/src/natives/natives.hpp b/PrivateMenu/src/natives/natives.hpp index c74ad91a34..d00b5a0d95 100644 --- a/PrivateMenu/src/natives/natives.hpp +++ b/PrivateMenu/src/natives/natives.hpp @@ -1,4 +1,4 @@ -#pragma once +#pragma once // Namespaces: 45 | Natives : 6568 | Comments : 2339 | Known names : 6467 (6568) /* @@ -11,9 +11,9 @@ namespace 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 + // 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 inline Void Wait(int ms) { return _i(0x4EDE34FBADD967A6,ms); } // 0x4EDE34FBADD967A6 0x7715C03B b323 - // Examples: + // Examples: // g_384A = SYSTEM::StartNewScript("cellphone_flashhand", 1424); // l_10D = SYSTEM::StartNewScript("taxiService", 1828); // SYSTEM::StartNewScript("AM_MP_YACHT", 5000); @@ -44,55 +44,55 @@ namespace SYSTEM // sub_8792(36); // SYSTEM::StartNewScript(v_2, 17000); // SCRIPT::SetScriptAsNoLongerNeeded(v_2); - inline int StartNewScript(String scriptName, int stackSize) { return _i(0xE81651AD79516E48,scriptName, stackSize); } // 0xE81651AD79516E48 0x3F166D0E b323 - // return : script thread id, 0 if failed + inline int StartNewScript(const char* scriptName, int stackSize) { return _i(0xE81651AD79516E48,scriptName, stackSize); } // 0xE81651AD79516E48 0x3F166D0E b323 + // return : script thread id, 0 if failed // Pass pointer to struct of args in p1, size of struct goes into p2 - inline int StartNewScriptWithArgs(String scriptName, Any* args, int argCount, int stackSize) { return _i(0xB8BA7F44DF1575E1,scriptName, args, argCount, stackSize); } // 0xB8BA7F44DF1575E1 0x4A2100E4 b323 - // + inline int StartNewScriptWithArgs(const char* scriptName, Any* args, int argCount, int stackSize) { return _i(0xB8BA7F44DF1575E1,scriptName, args, argCount, stackSize); } // 0xB8BA7F44DF1575E1 0x4A2100E4 b323 + // inline int StartNewScriptWithNameHash(Hash scriptHash, int stackSize) { return _i(0xEB1C67C3A5333A92,scriptHash, stackSize); } // 0xEB1C67C3A5333A92 0x8D15BE5D b323 - // + // inline int StartNewScriptWithNameHashAndArgs(Hash scriptHash, Any* args, int argCount, int stackSize) { return _i(0xC4BB298BD441BE78,scriptHash, args, argCount, stackSize); } // 0xC4BB298BD441BE78 0xE38A3AD4 b323 - // Counts up. Every 1000 is 1 real-time second. Use SETTimera(int value) to set the timer (e.g.: SETTimera(0)). + // Counts up. Every 1000 is 1 real-time second. Use SETTimera(int value) to set the timer (e.g.: SETTimera(0)). inline int Timera() { return _i(0x83666F9FB8FEBD4B); } // 0x83666F9FB8FEBD4B 0x45C8C188 b323 - // + // inline int Timerb() { return _i(0xC9D9444186B5A374); } // 0xC9D9444186B5A374 0x330A9C0C b323 - // + // inline Void Settimera(int value) { return _i(0xC1B1E9A034A63A62,value); } // 0xC1B1E9A034A63A62 0x35785333 b323 - // + // inline Void Settimerb(int value) { return _i(0x5AE11BC36633DE4E,value); } // 0x5AE11BC36633DE4E 0x27C1B7C6 b323 - // Gets the current frame time. + // Gets the current frame time. inline float Timestep() { return _i(0x50597EE2); } // 0x50597EE2 0x50597EE2 b323 - // + // inline float Sin(float value) { return _i(0xBADBFA3B172435F,value); } // 0xBADBFA3B172435F 0xBF987F58 b323 - // + // inline float Cos(float value) { return _i(0xD0FFB162F40A139C,value); } // 0xD0FFB162F40A139C 0x00238FE9 b323 - // + // inline float Sqrt(float value) { return _i(0x71D93B57D07F9804,value); } // 0x71D93B57D07F9804 0x145C7701 b323 - // + // inline float Pow(float base, float exponent) { return _i(0xE3621CC40F31FE2E,base, exponent); } // 0xE3621CC40F31FE2E 0x85D134F8 b323 - // + // inline float Log10(float value) { return _i(0xE816E655DE37FE20,value); } // 0xE816E655DE37FE20 b1493 - // Calculates the magnitude of a vector. + // Calculates the magnitude of a vector. inline float Vmag(float x, float y, float z) { return _i(0x652D2EEEF1D3E62C,x, y, z); } // 0x652D2EEEF1D3E62C 0x1FCF1ECD b323 - // Calculates the magnitude of a vector but does not perform Sqrt operations. (Its way faster) + // Calculates the magnitude of a vector but does not perform Sqrt operations. (Its way faster) inline float Vmag2(float x, float y, float z) { return _i(0xA8CEACB4F35AE058,x, y, z); } // 0xA8CEACB4F35AE058 0xE796E629 b323 - // Calculates distance between vectors. + // Calculates distance between vectors. inline float Vdist(float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0x2A488C176D52CCA5,x1, y1, z1, x2, y2, z2); } // 0x2A488C176D52CCA5 0x3C08ECB7 b323 - // Calculates distance between vectors but does not perform Sqrt operations. (Its way faster) + // Calculates distance between vectors but does not perform Sqrt operations. (Its way faster) inline float Vdist2(float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0xB7A628320EFF8E47,x1, y1, z1, x2, y2, z2); } // 0xB7A628320EFF8E47 0xC85DEF1F b323 - // + // inline int ShiftLeft(int value, int bitShift) { return _i(0xEDD95A39E5544DE8,value, bitShift); } // 0xEDD95A39E5544DE8 0x314CC6CD b323 - // + // inline int ShiftRight(int value, int bitShift) { return _i(0x97EF1E5BCE9DC075,value, bitShift); } // 0x97EF1E5BCE9DC075 0x352633CA b323 - // + // inline int Floor(float value) { return _i(0xF34EE736CF047844,value); } // 0xF34EE736CF047844 0x32E9BE04 b323 - // I'm guessing this rounds a float value up to the next whole number, and Floor rounds it down + // I'm guessing this rounds a float value up to the next whole number, and Floor rounds it down inline int Ceil(float value) { return _i(0x11E019C8F43ACC8A,value); } // 0x11E019C8F43ACC8A 0xD536A1DF b323 - // + // inline int Round(float value) { return _i(0xF2DB717A73826179,value); } // 0xF2DB717A73826179 0x323B0E24 b323 - // + // inline float ToFloat(int value) { return _i(0xBBDA792448DB5A89,value); } // 0xBBDA792448DB5A89 0x67116627 b323 - // THREAD_PRIO_HIGHEST = 0 + // THREAD_PRIO_HIGHEST = 0 // THREAD_PRIO_NORMAL = 1 // THREAD_PRIO_LOWEST = 2 // THREAD_PRIO_MANUAL_UPDATE = 100 @@ -101,65 +101,65 @@ namespace SYSTEM namespace APP { - // + // inline BOOL AppDataValid() { return _i(0x846AA8E7D55EE5B6); } // 0x846AA8E7D55EE5B6 0x72BDE002 b323 - // - inline int AppGetInt(String property) { return _i(0xD3A58A12C77D9D4B,property); } // 0xD3A58A12C77D9D4B 0x2942AAD2 b323 - // - inline float AppGetFloat(String property) { return _i(0x1514FB24C02C2322,property); } // 0x1514FB24C02C2322 0xD87F3A1C b323 - // - inline String AppGetString(String property) { return _i(0x749B023950D2311C,property); } // 0x749B023950D2311C 0x849CEB80 b323 - // - inline Void AppSetInt(String property, int value) { return _i(0x607E8E3D3E4F9611,property, value); } // 0x607E8E3D3E4F9611 0x1B509C32 b323 - // - inline Void AppSetFloat(String property, float value) { return _i(0x25D7687C68E0DAA4,property, value); } // 0x25D7687C68E0DAA4 0xF3076135 b323 - // - inline Void AppSetString(String property, String value) { return _i(0x3FF2FCEC4B7721B4,property, value); } // 0x3FF2FCEC4B7721B4 0x23DF19A8 b323 - // Called in the gamescripts like: + // + inline int AppGetInt(const char* property) { return _i(0xD3A58A12C77D9D4B,property); } // 0xD3A58A12C77D9D4B 0x2942AAD2 b323 + // + inline float AppGetFloat(const char* property) { return _i(0x1514FB24C02C2322,property); } // 0x1514FB24C02C2322 0xD87F3A1C b323 + // + inline const char* AppGetString(const char* property) { return _i(0x749B023950D2311C,property); } // 0x749B023950D2311C 0x849CEB80 b323 + // + inline Void AppSetInt(const char* property, int value) { return _i(0x607E8E3D3E4F9611,property, value); } // 0x607E8E3D3E4F9611 0x1B509C32 b323 + // + inline Void AppSetFloat(const char* property, float value) { return _i(0x25D7687C68E0DAA4,property, value); } // 0x25D7687C68E0DAA4 0xF3076135 b323 + // + inline Void AppSetString(const char* property, const char* value) { return _i(0x3FF2FCEC4B7721B4,property, value); } // 0x3FF2FCEC4B7721B4 0x23DF19A8 b323 + // Called in the gamescripts like: // APP::AppSetApp("car"); // APP::AppSetApp("dog"); - inline Void AppSetApp(String appName) { return _i(0xCFD0406ADAF90D2B,appName); } // 0xCFD0406ADAF90D2B 0x8BAC4146 b323 - // - inline Void AppSetBlock(String blockName) { return _i(0x262AB456A3D21F93,blockName); } // 0x262AB456A3D21F93 0xC2D54DD9 b323 - // + inline Void AppSetApp(const char* appName) { return _i(0xCFD0406ADAF90D2B,appName); } // 0xCFD0406ADAF90D2B 0x8BAC4146 b323 + // + inline Void AppSetBlock(const char* blockName) { return _i(0x262AB456A3D21F93,blockName); } // 0x262AB456A3D21F93 0xC2D54DD9 b323 + // inline Void AppClearBlock() { return _i(0x5FE1DF3342DB7DBA); } // 0x5FE1DF3342DB7DBA 0xDAB86A18 b323 - // + // inline Void AppCloseApp() { return _i(0xE41C65E07A5F05FC); } // 0xE41C65E07A5F05FC 0x03767C7A b323 - // + // inline Void AppCloseBlock() { return _i(0xE8E3FCF72EAC0EF8); } // 0xE8E3FCF72EAC0EF8 0xED97B202 b323 - // + // inline BOOL AppHasLinkedSocialClubAccount() { return _i(0x71EEE69745088DA0); } // 0x71EEE69745088DA0 0xD368BA15 b323 - // - inline BOOL AppHasSyncedData(String appName) { return _i(0xCA52279A7271517F,appName); } // 0xCA52279A7271517F 0x1DE2A63D b323 - // + // + inline BOOL AppHasSyncedData(const char* appName) { return _i(0xCA52279A7271517F,appName); } // 0xCA52279A7271517F 0x1DE2A63D b323 + // inline Void AppSaveData() { return _i(0x95C5D356CDA6E85F); } // 0x95C5D356CDA6E85F 0x84A3918D b323 - // + // inline int AppGetDeletedFileStatus() { return _i(0xC9853A2BE3DED1A6); } // 0xC9853A2BE3DED1A6 0x784D550B b323 - // - inline BOOL AppDeleteAppData(String appName) { return _i(0x44151AEA95C8A003,appName); } // 0x44151AEA95C8A003 0x2A2FBD1C b323 + // + inline BOOL AppDeleteAppData(const char* appName) { return _i(0x44151AEA95C8A003,appName); } // 0x44151AEA95C8A003 0x2A2FBD1C b323 } namespace AUDIO { - // All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/RFb4GTny + // All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/RFb4GTny // // AUDIO::PlayPedRingtone("Remote_Ring", PLAYER::PlayerPedId(), 1); // AUDIO::PlayPedRingtone("Dial_and_Remote_Ring", PLAYER::PlayerPedId(), 1); // - inline Void PlayPedRingtone(String ringtoneName, Ped ped, BOOL p2) { return _i(0xF9E56683CA8E11A5,ringtoneName, ped, p2); } // 0xF9E56683CA8E11A5 0x1D530E47 b323 - // + inline Void PlayPedRingtone(const char* ringtoneName, Ped ped, BOOL p2) { return _i(0xF9E56683CA8E11A5,ringtoneName, ped, p2); } // 0xF9E56683CA8E11A5 0x1D530E47 b323 + // inline BOOL IsPedRingtonePlaying(Ped ped) { return _i(0x1E8E5E20937E3137,ped); } // 0x1E8E5E20937E3137 0xFE576EE4 b323 - // + // inline Void StopPedRingtone(Ped ped) { return _i(0x6C5AE23EFA885092,ped); } // 0x6C5AE23EFA885092 0xFEEA107C b323 - // + // inline BOOL IsMobilePhoneCallOngoing() { return _i(0x7497D2CE2C30D24C); } // 0x7497D2CE2C30D24C 0x4ED1400A b323 - // + // inline BOOL IsMobileInterferenceActive() { return _i(0xC8B1B2425604CDD0); } // 0xC8B1B2425604CDD0 0x16FB88B5 b323 - // + // inline int GetCurrentTvShowPlayTime() { return _i(0xDD3AA743AB7D4D75); } // 0xDD3AA743AB7D4D75 b3095 - // + // inline Void CreateNewScriptedConversation() { return _i(0xD2C91A0B572AAE56); } // 0xD2C91A0B572AAE56 0xB2BC25F8 b323 - // NOTE: ones that are -1, 0 - 35 are determined by a function where it gets a TextLabel from a global then runs, + // NOTE: ones that are -1, 0 - 35 are determined by a function where it gets a TextLabel from a global then runs, // GetCharacterFromAudioConversationFilename 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 @@ -175,163 +175,163 @@ namespace AUDIO // 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. - inline Void AddLineToConversation(int index, String p1, String p2, int p3, int p4, BOOL p5, BOOL p6, BOOL p7, BOOL p8, int p9, BOOL p10, BOOL p11, BOOL p12) { return _i(0xC5EF963405593646,index, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); } // 0xC5EF963405593646 0x96CD0513 b323 - // 4 calls in the b617d scripts. The only one with p0 and p2 in clear text: + inline Void AddLineToConversation(int index, const char* p1, const char* p2, int p3, int p4, BOOL p5, BOOL p6, BOOL p7, BOOL p8, int p9, BOOL p10, BOOL p11, BOOL p12) { return _i(0xC5EF963405593646,index, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); } // 0xC5EF963405593646 0x96CD0513 b323 + // 4 calls in the b617d scripts. The only one with p0 and p2 in clear text: // // AUDIO::AddPedToConversation(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. - inline Void AddPedToConversation(int index, Ped ped, String p2) { return _i(0x95D9F4BC443956E7,index, ped, p2); } // 0x95D9F4BC443956E7 0xF8D5EB86 b323 - // + inline Void AddPedToConversation(int index, Ped ped, const char* p2) { return _i(0x95D9F4BC443956E7,index, ped, p2); } // 0x95D9F4BC443956E7 0xF8D5EB86 b323 + // inline Void SetPositionForNullConvPed(Any p0, float p1, float p2, float p3) { return _i(0x33E3C6C6F2F0B506,p0, p1, p2, p3); } // 0x33E3C6C6F2F0B506 0x73C6F979 b323 - // + // inline Void SetEntityForNullConvPed(int p0, Entity entity) { return _i(0x892B6AB8F33606F5,p0, entity); } // 0x892B6AB8F33606F5 0x88203DDA b323 - // This native controls where the game plays audio from. By default the microphone is positioned on the player. + // This native controls where the game plays audio from. By default the microphone is positioned on the player. // When p0 is true the game will play audio from the 3 positions inputted. // It is recommended to set all 3 positions to the same value as mixing different positions doesn't seem to work well. // The scripts mostly use it with only one position such as in fbi3.c: // AUDIO::SetMicrophonePosition(true, ENTITY::GetEntityCoords(iLocal_3091, true), ENTITY::GetEntityCoords(iLocal_3091, true), ENTITY::GetEntityCoords(iLocal_3091, true)); inline Void SetMicrophonePosition(BOOL toggle, float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3) { return _i(0xB6AE90EDDE95C762,toggle, x1, y1, z1, x2, y2, z2, x3, y3, z3); } // 0xB6AE90EDDE95C762 0xAD7BB191 b323 - // + // inline Void SetConversationAudioControlledByAnim(BOOL p0) { return _i(0xB568201DD99F0EB,p0); } // 0xB568201DD99F0EB 0x1193ED6E b323 - // + // inline Void SetConversationAudioPlaceholder(BOOL p0) { return _i(0x61631F5DF50D1C34,p0); } // 0x61631F5DF50D1C34 b323 - // + // inline Void StartScriptPhoneConversation(BOOL p0, BOOL p1) { return _i(0x252E5F915EABB675,p0, p1); } // 0x252E5F915EABB675 0x38E42D07 b323 - // + // inline Void PreloadScriptPhoneConversation(BOOL p0, BOOL p1) { return _i(0x6004BCB0E226AAEA,p0, p1); } // 0x6004BCB0E226AAEA 0x9ACB213A b323 - // + // inline Void StartScriptConversation(BOOL p0, BOOL p1, BOOL p2, BOOL p3) { return _i(0x6B17C62C9635D2DC,p0, p1, p2, p3); } // 0x6B17C62C9635D2DC 0xE5DE7D9D b323 - // + // inline Void PreloadScriptConversation(BOOL p0, BOOL p1, BOOL p2, BOOL p3) { return _i(0x3B3CAD6166916D87,p0, p1, p2, p3); } // 0x3B3CAD6166916D87 0xDDF5C579 b323 - // + // inline Void StartPreloadedConversation() { return _i(0x23641AFE870AF385); } // 0x23641AFE870AF385 0xA170261B b323 - // + // inline BOOL GetIsPreloadedConversationReady() { return _i(0xE73364DB90778FFA); } // 0xE73364DB90778FFA 0x336F3D35 b323 - // + // inline BOOL IsScriptedConversationOngoing() { return _i(0x16754C556D2EDE3D); } // 0x16754C556D2EDE3D 0xCB8FD96F b323 - // + // inline BOOL IsScriptedConversationLoaded() { return _i(0xDF0D54BE7A776737); } // 0xDF0D54BE7A776737 0xE1870EA9 b323 - // + // inline int GetCurrentScriptedConversationLine() { return _i(0x480357EE890C295A); } // 0x480357EE890C295A 0x9620E41F b323 - // + // inline Void PauseScriptedConversation(BOOL p0) { return _i(0x8530AD776CD72B12,p0); } // 0x8530AD776CD72B12 0xE2C9C6F8 b323 - // + // inline Void RestartScriptedConversation() { return _i(0x9AEB285D1818C9AC); } // 0x9AEB285D1818C9AC 0x6CB24B56 b323 - // + // inline int StopScriptedConversation(BOOL p0) { return _i(0xD79DEEFB53455EBA,p0); } // 0xD79DEEFB53455EBA 0xAB77DA7D b323 - // + // inline Void SkipToNextScriptedConversationLine() { return _i(0x9663FE6B7A61EB00); } // 0x9663FE6B7A61EB00 0x85C98304 b323 - // Example from carsteal3.c: AUDIO::InterruptConversation(PLAYER::PlayerPedId(), "CST4_CFAA", "FRANKLIN"); + // Example from carsteal3.c: AUDIO::InterruptConversation(PLAYER::PlayerPedId(), "CST4_CFAA", "FRANKLIN"); // Voicelines can be found in GTAV\x64\audio\sfx in files starting with "SS_" which seems to mean scripted speech. - inline Void InterruptConversation(Ped ped, String voiceline, String speaker) { return _i(0xA018A12E5C5C2FA6,ped, voiceline, speaker); } // 0xA018A12E5C5C2FA6 0xF3A67AF3 b323 - // One call found in the b617d scripts: + inline Void InterruptConversation(Ped ped, const char* voiceline, const char* speaker) { return _i(0xA018A12E5C5C2FA6,ped, voiceline, speaker); } // 0xA018A12E5C5C2FA6 0xF3A67AF3 b323 + // One call found in the b617d scripts: // // AUDIO::InterruptConversation_AND_PAUSE(NETWORK::NetToPed(l_3989._f26F[0/*1*/]), "CONV_INTERRUPT_QUIT_IT", "LESTER"); - inline Void InterruptConversationAndPause(Ped ped, String p1, String speaker) { return _i(0x8A694D7A68F8DC38,ped, p1, speaker); } // 0x8A694D7A68F8DC38 0xDD4A3F1F b323 - // + inline Void InterruptConversationAndPause(Ped ped, const char* p1, const char* speaker) { return _i(0x8A694D7A68F8DC38,ped, p1, speaker); } // 0x8A694D7A68F8DC38 0xDD4A3F1F b323 + // inline int GetVariationChosenForScriptedLine(Any* p0) { return _i(0xAA19F5572C38B564,p0); } // 0xAA19F5572C38B564 0xB58B8FF3 b323 - // + // inline Void SetNoDuckingForConversation(BOOL p0) { return _i(0xB542DE8C3D1CB210,p0); } // 0xB542DE8C3D1CB210 0x789D8C6C b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void RegisterScriptWithAudio(int p0) { return _i(0xC6ED9D5092438D91,p0); } // 0xC6ED9D5092438D91 0xA6203643 b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void UnregisterScriptWithAudio() { return _i(0xA8638BE228D4751A); } // 0xA8638BE228D4751A 0x66728EFE b323 - // All occurrences and usages found in b617d: https://pastebin.com/NzZZ2Tmm + // All occurrences and usages found in b617d: https://pastebin.com/NzZZ2Tmm // Full list of mission audio bank names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/missionAudioBankNames.json // p2 is always -1 - inline BOOL RequestMissionAudioBank(String audioBank, BOOL p1, Any p2) { return _i(0x7345BDD95E62E0F2,audioBank, p1, p2); } // 0x7345BDD95E62E0F2 0x916E37CA b323 - // All occurrences and usages found in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/XZ1tmGEz + inline BOOL RequestMissionAudioBank(const char* audioBank, BOOL p1, Any p2) { return _i(0x7345BDD95E62E0F2,audioBank, p1, p2); } // 0x7345BDD95E62E0F2 0x916E37CA b323 + // All occurrences and usages found in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/XZ1tmGEz // Full list of ambient audio bank names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientAudioBankNames.json // p2 is always -1 - inline BOOL RequestAmbientAudioBank(String audioBank, BOOL p1, Any p2) { return _i(0xFE02FFBED8CA9D99,audioBank, p1, p2); } // 0xFE02FFBED8CA9D99 0x23C88BC7 b323 - // All occurrences and usages found in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/AkmDAVn6 + inline BOOL RequestAmbientAudioBank(const char* audioBank, BOOL p1, Any p2) { return _i(0xFE02FFBED8CA9D99,audioBank, p1, p2); } // 0xFE02FFBED8CA9D99 0x23C88BC7 b323 + // All occurrences and usages found in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/AkmDAVn6 // Full list of script audio bank names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scriptAudioBankNames.json // p2 is always -1 - inline BOOL RequestScriptAudioBank(String audioBank, BOOL p1, Any p2) { return _i(0x2F844A8B08D76685,audioBank, p1, p2); } // 0x2F844A8B08D76685 0x21322887 b323 - // p2 is always -1 - inline BOOL HintMissionAudioBank(String audioBank, BOOL p1, Any p2) { return _i(0x40763EA7B9B783E7,audioBank, p1, p2); } // 0x40763EA7B9B783E7 b573 - // p2 is always -1 - inline BOOL HintAmbientAudioBank(String audioBank, BOOL p1, Any p2) { return _i(0x8F8C0E370AE62F5C,audioBank, p1, p2); } // 0x8F8C0E370AE62F5C 0xF1850DDC b323 - // p2 is always -1 - inline BOOL HintScriptAudioBank(String audioBank, BOOL p1, Any p2) { return _i(0xFB380A29641EC31A,audioBank, p1, p2); } // 0xFB380A29641EC31A 0x41FA0E51 b323 - // + inline BOOL RequestScriptAudioBank(const char* audioBank, BOOL p1, Any p2) { return _i(0x2F844A8B08D76685,audioBank, p1, p2); } // 0x2F844A8B08D76685 0x21322887 b323 + // p2 is always -1 + inline BOOL HintMissionAudioBank(const char* audioBank, BOOL p1, Any p2) { return _i(0x40763EA7B9B783E7,audioBank, p1, p2); } // 0x40763EA7B9B783E7 b573 + // p2 is always -1 + inline BOOL HintAmbientAudioBank(const char* audioBank, BOOL p1, Any p2) { return _i(0x8F8C0E370AE62F5C,audioBank, p1, p2); } // 0x8F8C0E370AE62F5C 0xF1850DDC b323 + // p2 is always -1 + inline BOOL HintScriptAudioBank(const char* audioBank, BOOL p1, Any p2) { return _i(0xFB380A29641EC31A,audioBank, p1, p2); } // 0xFB380A29641EC31A 0x41FA0E51 b323 + // inline Void ReleaseMissionAudioBank() { return _i(0xEC92A1BF0857187); } // 0xEC92A1BF0857187 0x8E8824C7 b323 - // + // inline Void ReleaseAmbientAudioBank() { return _i(0x65475A218FFAA93D); } // 0x65475A218FFAA93D 0x8C938784 b323 - // Full list of script audio bank names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scriptAudioBankNames.json - inline Void ReleaseNamedScriptAudioBank(String audioBank) { return _i(0x77ED170667F50170,audioBank); } // 0x77ED170667F50170 0x16707ABC b323 - // + // Full list of script audio bank names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scriptAudioBankNames.json + inline Void ReleaseNamedScriptAudioBank(const char* audioBank) { return _i(0x77ED170667F50170,audioBank); } // 0x77ED170667F50170 0x16707ABC b323 + // inline Void ReleaseScriptAudioBank() { return _i(0x7A2D8AD0A9EB9C3F); } // 0x7A2D8AD0A9EB9C3F 0x22F865E5 b323 - // + // inline Void UnhintAmbientAudioBank() { return _i(0x19AF7ED9B9D23058); } // 0x19AF7ED9B9D23058 0xA58BBF4F b323 - // + // inline Void UnhintScriptAudioBank() { return _i(0x9AC92EED5E4793AB); } // 0x9AC92EED5E4793AB 0xE67446E9 b323 - // - inline Void UnhintNamedScriptAudioBank(String audioBank) { return _i(0x11579D940949C49E,audioBank); } // 0x11579D940949C49E b678 - // + // + inline Void UnhintNamedScriptAudioBank(const char* audioBank) { return _i(0x11579D940949C49E,audioBank); } // 0x11579D940949C49E b678 + // inline int GetSoundId() { return _i(0x430386FE9BF80B45); } // 0x430386FE9BF80B45 0x6AE0AD56 b323 - // + // inline Void ReleaseSoundId(int soundId) { return _i(0x353FC880830B88FA,soundId); } // 0x353FC880830B88FA 0x9C080899 b323 - // All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/A8Ny8AHZ + // All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/A8Ny8AHZ // // Full list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json - inline Void PlaySound(int soundId, String audioName, String audioRef, BOOL p3, Any p4, BOOL p5) { return _i(0x7FF4944CC209192D,soundId, audioName, audioRef, p3, p4, p5); } // 0x7FF4944CC209192D 0xB6E1917F b323 - // List: https://pastebin.com/DCeRiaLJ + inline Void PlaySound(int soundId, const char* audioName, const char* audioRef, BOOL p3, Any p4, BOOL p5) { return _i(0x7FF4944CC209192D,soundId, audioName, audioRef, p3, p4, p5); } // 0x7FF4944CC209192D 0xB6E1917F b323 + // 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 - inline Void PlaySoundFrontend(int soundId, String audioName, String audioRef, BOOL p3) { return _i(0x67C540AA08E4A6F5,soundId, audioName, audioRef, p3); } // 0x67C540AA08E4A6F5 0x2E458F74 b323 - // Only call found in the b617d scripts: + inline Void PlaySoundFrontend(int soundId, const char* audioName, const char* audioRef, BOOL p3) { return _i(0x67C540AA08E4A6F5,soundId, audioName, audioRef, p3); } // 0x67C540AA08E4A6F5 0x2E458F74 b323 + // Only call found in the b617d scripts: // // AUDIO::PlayDeferredSoundFrontend("BACK", "HUD_FREEMODE_SOUNDSET"); // // Full list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json - inline Void PlayDeferredSoundFrontend(String soundName, String soundsetName) { return _i(0xCADA5A0D0702381E,soundName, soundsetName); } // 0xCADA5A0D0702381E 0xC70E6CFA b323 - // All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/f2A7vTj0 + inline Void PlayDeferredSoundFrontend(const char* soundName, const char* soundsetName) { return _i(0xCADA5A0D0702381E,soundName, soundsetName); } // 0xCADA5A0D0702381E 0xC70E6CFA b323 + // All found occurrences in b617d, sorted alphabetically and identical lines removed: https://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 - inline Void PlaySoundFromEntity(int soundId, String audioName, Entity entity, String audioRef, BOOL isNetwork, Any p5) { return _i(0xE65F427EB70AB1ED,soundId, audioName, entity, audioRef, isNetwork, p5); } // 0xE65F427EB70AB1ED 0x95AE00F8 b323 - // Only used with "formation_flying_blips_soundset" and "biker_formation_blips_soundset". + inline Void PlaySoundFromEntity(int soundId, const char* audioName, Entity entity, const char* audioRef, BOOL isNetwork, Any p5) { return _i(0xE65F427EB70AB1ED,soundId, audioName, entity, audioRef, isNetwork, p5); } // 0xE65F427EB70AB1ED 0x95AE00F8 b323 + // Only used with "formation_flying_blips_soundset" and "biker_formation_blips_soundset". // p1 is always the model of p2 inline Void PlaySoundFromEntityHash(int soundId, Hash model, Entity entity, Hash soundSetHash, Any p4, Any p5) { return _i(0x5B9853296731E88D,soundId, model, entity, soundSetHash, p4, p5); } // 0x5B9853296731E88D b877 - // All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/eeFc5DiW + // All found occurrences in b617d, sorted alphabetically and identical lines removed: https://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 - inline Void PlaySoundFromCoord(int soundId, String audioName, float x, float y, float z, String audioRef, BOOL isNetwork, int range, BOOL p8) { return _i(0x8D8686B622B88120,soundId, audioName, x, y, z, audioRef, isNetwork, range, p8); } // 0x8D8686B622B88120 0xCAD3E2D5 b323 - // + inline Void PlaySoundFromCoord(int soundId, const char* audioName, float x, float y, float z, const char* audioRef, BOOL isNetwork, int range, BOOL p8) { return _i(0x8D8686B622B88120,soundId, audioName, x, y, z, audioRef, isNetwork, range, p8); } // 0x8D8686B622B88120 0xCAD3E2D5 b323 + // inline Void UpdateSoundCoord(int soundId, float x, float y, float z) { return _i(0x7EC3C679D0E7E46B,soundId, x, y, z); } // 0x7EC3C679D0E7E46B b678 - // + // inline Void StopSound(int soundId) { return _i(0xA3B0C41BA5CC0BB5,soundId); } // 0xA3B0C41BA5CC0BB5 0xCD7F4030 b323 - // Could this be used alongside either, + // Could this be used alongside either, // SetNetworkIdExistsOnAllMachines 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. inline int GetNetworkIdFromSoundId(int soundId) { return _i(0x2DE3F0A134FFBC0D,soundId); } // 0x2DE3F0A134FFBC0D 0x2576F610 b323 - // + // inline int GetSoundIdFromNetworkId(int netId) { return _i(0x75262FD12D0A1C84,netId); } // 0x75262FD12D0A1C84 0xD064D4DC b323 - // - inline Void SetVariableOnSound(int soundId, String variable, float p2) { return _i(0xAD6B3148A78AE9B6,soundId, variable, p2); } // 0xAD6B3148A78AE9B6 0x606EE5FA b323 - // From the scripts, p0: + // + inline Void SetVariableOnSound(int soundId, const char* variable, float p2) { return _i(0xAD6B3148A78AE9B6,soundId, variable, p2); } // 0xAD6B3148A78AE9B6 0x606EE5FA b323 + // From the scripts, p0: // // "ArmWrestlingIntensity", // "INOUT", // "Monkey_Stream", // "ZoomLevel" - inline Void SetVariableOnStream(String variable, float p1) { return _i(0x2F9D3834AEB9EF79,variable, p1); } // 0x2F9D3834AEB9EF79 0xF67BB44C b323 - // - inline Void OverrideUnderwaterStream(String p0, BOOL p1) { return _i(0xF2A9CDABCEA04BD6,p0, p1); } // 0xF2A9CDABCEA04BD6 0x9A083B7E b323 - // AUDIO::SetVariableOnUnderWaterStream("inTunnel", 1.0); + inline Void SetVariableOnStream(const char* variable, float p1) { return _i(0x2F9D3834AEB9EF79,variable, p1); } // 0x2F9D3834AEB9EF79 0xF67BB44C b323 + // + inline Void OverrideUnderwaterStream(const char* p0, BOOL p1) { return _i(0xF2A9CDABCEA04BD6,p0, p1); } // 0xF2A9CDABCEA04BD6 0x9A083B7E b323 + // AUDIO::SetVariableOnUnderWaterStream("inTunnel", 1.0); // AUDIO::SetVariableOnUnderWaterStream("inTunnel", 0.0); - inline Void SetVariableOnUnderWaterStream(String variableName, float value) { return _i(0x733ADF241531E5C2,variableName, value); } // 0x733ADF241531E5C2 0x62D026BE b323 - // + inline Void SetVariableOnUnderWaterStream(const char* variableName, float value) { return _i(0x733ADF241531E5C2,variableName, value); } // 0x733ADF241531E5C2 0x62D026BE b323 + // inline BOOL HasSoundFinished(int soundId) { return _i(0xFCBDCE714A7C88E5,soundId); } // 0xFCBDCE714A7C88E5 0xE85AEC2E b323 - // Plays ambient speech. See also _0x444180DB. + // Plays ambient speech. See also _0x444180DB. // // ped: The ped to play the ambient speech. // speechName: Name of the speech to play, eg. "GENERIC_HI". @@ -377,14 +377,14 @@ namespace AUDIO // Note: A list of Name and Parameters can be found here https://pastebin.com/1GZS5dCL // // Full list of speeches and voices names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/speeches.json - inline Void PlayPedAmbientSpeechNative(Ped ped, String speechName, String speechParam, Any p3) { return _i(0x8E04FEDD28D42462,ped, speechName, speechParam, p3); } // 0x8E04FEDD28D42462 0x5C57B85D b323 - // Plays ambient speech. See also _0x5C57B85D. + inline Void PlayPedAmbientSpeechNative(Ped ped, const char* speechName, const char* speechParam, Any p3) { return _i(0x8E04FEDD28D42462,ped, speechName, speechParam, p3); } // 0x8E04FEDD28D42462 0x5C57B85D b323 + // Plays ambient speech. See also _0x5C57B85D. // // See PlayPedAmbientSpeechNative for parameter specifications. // // Full list of speeches and voices names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/speeches.json - inline Void PlayPedAmbientSpeechAndCloneNative(Ped ped, String speechName, String speechParam, Any p3) { return _i(0xC6941B4A3A8FBBB9,ped, speechName, speechParam, p3); } // 0xC6941B4A3A8FBBB9 0x444180DB b323 - // This is the same as PlayPedAmbientSpeechNative and PlayPedAmbientSpeechAndCloneNative but it will allow you to play a speech file from a specific voice file. It works on players and all peds, even animals. + inline Void PlayPedAmbientSpeechAndCloneNative(Ped ped, const char* speechName, const char* speechParam, Any p3) { return _i(0xC6941B4A3A8FBBB9,ped, speechName, speechParam, p3); } // 0xC6941B4A3A8FBBB9 0x444180DB b323 + // This is the same as PlayPedAmbientSpeechNative and PlayPedAmbientSpeechAndCloneNative 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.PlayPedAmbientSpeechWithVoiceNative, Game.Player.Character, "GENERIC_INSULT_HIGH", "s_m_y_sheriff_01_white_full_01", "SPEECH_PARAMS_FORCE_SHOUTED", 0); @@ -392,16 +392,16 @@ namespace AUDIO // 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 - inline Void PlayPedAmbientSpeechWithVoiceNative(Ped ped, String speechName, String voiceName, String speechParam, BOOL p4) { return _i(0x3523634255FC3318,ped, speechName, voiceName, speechParam, p4); } // 0x3523634255FC3318 0x8386AE28 b323 - // Full list of speeches and voices names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/speeches.json - inline Void PlayAmbientSpeechFromPositionNative(String speechName, String voiceName, float x, float y, float z, String speechParam) { return _i(0xED640017ED337E45,speechName, voiceName, x, y, z, speechParam); } // 0xED640017ED337E45 0xA1A1402E b323 - // This native enables the audio flag "TrevorRageIsOverridden" and sets the voice effect to `voiceEffect` - inline Void OverrideTrevorRage(String voiceEffect) { return _i(0x13AD665062541A7E,voiceEffect); } // 0x13AD665062541A7E 0x05B9B5CF b323 - // + inline Void PlayPedAmbientSpeechWithVoiceNative(Ped ped, const char* speechName, const char* voiceName, const char* speechParam, BOOL p4) { return _i(0x3523634255FC3318,ped, speechName, voiceName, speechParam, p4); } // 0x3523634255FC3318 0x8386AE28 b323 + // Full list of speeches and voices names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/speeches.json + inline Void PlayAmbientSpeechFromPositionNative(const char* speechName, const char* voiceName, float x, float y, float z, const char* speechParam) { return _i(0xED640017ED337E45,speechName, voiceName, x, y, z, speechParam); } // 0xED640017ED337E45 0xA1A1402E b323 + // This native enables the audio flag "TrevorRageIsOverridden" and sets the voice effect to `voiceEffect` + inline Void OverrideTrevorRage(const char* voiceEffect) { return _i(0x13AD665062541A7E,voiceEffect); } // 0x13AD665062541A7E 0x05B9B5CF b323 + // inline Void ResetTrevorRage() { return _i(0xE78503B10C4314E0); } // 0xE78503B10C4314E0 0xE80CF0D4 b323 - // + // inline Void SetPlayerAngry(Ped ped, BOOL toggle) { return _i(0xEA241BB04110F091,ped, toggle); } // 0xEA241BB04110F091 0x782CA58D b323 - // Needs another parameter [int p2]. The signature is PED::PlayPain(Ped ped, int painID, int p1, int p2); + // Needs another parameter [int p2]. The signature is PED::PlayPain(Ped ped, int painID, int p1, int p2); // // Last 2 parameters always seem to be 0. // @@ -416,9 +416,9 @@ namespace AUDIO // 8 - On Fire // inline Void PlayPain(Ped ped, int painID, int p1, Any p3) { return _i(0xBC9AE166038A5CEC,ped, painID, p1, p3); } // 0xBC9AE166038A5CEC 0x874BD6CB b323 - // + // inline Void ReleaseWeaponAudio() { return _i(0xCE4AC0439F607045); } // 0xCE4AC0439F607045 0x6096504C b323 - // mode can be any of these: + // mode can be any of these: // SLOWMO_T1_TRAILER_SMASH // SLOWMO_T1_RAYFIRE_EXPLOSION // SLOWMO_PROLOGUE_VAULT @@ -430,50 +430,50 @@ namespace AUDIO // SLOW_MO_METH_HOUSE_RAYFIRE // BARRY_02_SLOWMO // BARRY_01_SLOWMO - inline Void ActivateAudioSlowmoMode(String mode) { return _i(0xD01005D2BA2EB778,mode); } // 0xD01005D2BA2EB778 0x59A3A17D b323 - // see ActivateAudioSlowmoMode for modes - inline Void DeactivateAudioSlowmoMode(String mode) { return _i(0xDDC635D5B3262C56,mode); } // 0xDDC635D5B3262C56 0x0E387BFE b323 - // Audio List + inline Void ActivateAudioSlowmoMode(const char* mode) { return _i(0xD01005D2BA2EB778,mode); } // 0xD01005D2BA2EB778 0x59A3A17D b323 + // see ActivateAudioSlowmoMode for modes + inline Void DeactivateAudioSlowmoMode(const char* mode) { return _i(0xDDC635D5B3262C56,mode); } // 0xDDC635D5B3262C56 0x0E387BFE b323 + // Audio List // gtaforums.com/topic/795622-audio-for-mods/ // // All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/FTeAj4yZ - inline Void SetAmbientVoiceName(Ped ped, String name) { return _i(0x6C8065A3B780185B,ped, name); } // 0x6C8065A3B780185B 0xBD2EA1A1 b323 - // + inline Void SetAmbientVoiceName(Ped ped, const char* name) { return _i(0x6C8065A3B780185B,ped, name); } // 0x6C8065A3B780185B 0xBD2EA1A1 b323 + // inline Void SetAmbientVoiceNameHash(Ped ped, Hash hash) { return _i(0x9A53DED9921DE990,ped, hash); } // 0x9A53DED9921DE990 b463 - // + // inline Hash GetAmbientVoiceNameHash(Ped ped) { return _i(0x5E203DA2BA15D436,ped); } // 0x5E203DA2BA15D436 b463 - // Assigns some ambient voice to the ped. + // Assigns some ambient voice to the ped. inline Void SetPedVoiceFull(Ped ped) { return _i(0x40CF0D12D142A9E8,ped); } // 0x40CF0D12D142A9E8 b323 - // + // inline Void SetPedRaceAndVoiceGroup(Ped ped, int p1, Hash voiceGroup) { return _i(0x1B7ABE26CBCBF8C7,ped, p1, voiceGroup); } // 0x1B7ABE26CBCBF8C7 b372 - // From the scripts: + // From the scripts: // // AUDIO::SetPedVoiceGroup(PLAYER::PlayerPedId(), MISC::GetHashKey("PAIGE_PVG")); // AUDIO::SetPedVoiceGroup(PLAYER::PlayerPedId(), MISC::GetHashKey("TALINA_PVG")); // AUDIO::SetPedVoiceGroup(PLAYER::PlayerPedId(), MISC::GetHashKey("FEMALE_LOST_BLACK_PVG")); // AUDIO::SetPedVoiceGroup(PLAYER::PlayerPedId(), MISC::GetHashKey("FEMALE_LOST_WHITE_PVG")); inline Void SetPedVoiceGroup(Ped ped, Hash voiceGroupHash) { return _i(0x7CDC8C3B89F661B3,ped, voiceGroupHash); } // 0x7CDC8C3B89F661B3 b323 - // Dat151RelType == 29 + // Dat151RelType == 29 inline Void SetPedVoiceGroupFromRaceToPvg(Ped ped, Hash voiceGroupHash) { return _i(0xBABC1345ABBFB16,ped, voiceGroupHash); } // 0xBABC1345ABBFB16 b2699 - // BOOL p1: 0 = Female; 1 = Male + // BOOL p1: 0 = Female; 1 = Male inline Void SetPedGender(Ped ped, BOOL p1) { return _i(0xA5342D390CDA41D6,ped, p1); } // 0xA5342D390CDA41D6 b323 - // + // inline Void StopCurrentPlayingSpeech(Ped ped) { return _i(0x7A73D05A607734C7,ped); } // 0x7A73D05A607734C7 0x5B7463F4 b323 - // + // inline Void StopCurrentPlayingAmbientSpeech(Ped ped) { return _i(0xB8BEC0CA6F0EDB0F,ped); } // 0xB8BEC0CA6F0EDB0F 0xBB8E64BF b323 - // + // inline BOOL IsAmbientSpeechPlaying(Ped ped) { return _i(0x9072C8B49907BFAD,ped); } // 0x9072C8B49907BFAD 0x1972E8AA b323 - // + // inline BOOL IsScriptedSpeechPlaying(Ped p0) { return _i(0xCC9AA18DCC7084F4,p0); } // 0xCC9AA18DCC7084F4 0x2C653904 b323 - // + // inline BOOL IsAnySpeechPlaying(Ped ped) { return _i(0x729072355FA39EC9,ped); } // 0x729072355FA39EC9 0x2B74A6D6 b323 - // + // inline BOOL IsAnyPositionalSpeechPlaying() { return _i(0x30CA2EF91D15ADF8); } // 0x30CA2EF91D15ADF8 b2189 - // Checks if the ped can play the speech or has the speech file, p2 is usually false. - inline BOOL DoesContextExistForThisPed(Ped ped, String speechName, BOOL p2) { return _i(0x49B99BF3FDA89A7A,ped, speechName, p2); } // 0x49B99BF3FDA89A7A 0x8BD5F11E b323 - // + // Checks if the ped can play the speech or has the speech file, p2 is usually false. + inline BOOL DoesContextExistForThisPed(Ped ped, const char* speechName, BOOL p2) { return _i(0x49B99BF3FDA89A7A,ped, speechName, p2); } // 0x49B99BF3FDA89A7A 0x8BD5F11E b323 + // inline BOOL IsPedInCurrentConversation(Ped ped) { return _i(0x49E937F18F4020C,ped); } // 0x49E937F18F4020C 0x7B2F0743 b323 - // Sets the ped drunk sounds. Only works with PlayerPedId + // Sets the ped drunk sounds. Only works with PlayerPedId // // ==================================================== // @@ -494,105 +494,105 @@ namespace AUDIO // And to stop the effect use // RESetPedMovementClipset inline Void SetPedIsDrunk(Ped ped, BOOL toggle) { return _i(0x95D2D383D5396B8A,ped, toggle); } // 0x95D2D383D5396B8A 0xD2EA77A3 b323 - // 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. + // 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 - inline Void PlayAnimalVocalization(Ped pedHandle, int p1, String speechName) { return _i(0xEE066C7006C49C0A,pedHandle, p1, speechName); } // 0xEE066C7006C49C0A 0x498849F3 b323 - // + inline Void PlayAnimalVocalization(Ped pedHandle, int p1, const char* speechName) { return _i(0xEE066C7006C49C0A,pedHandle, p1, speechName); } // 0xEE066C7006C49C0A 0x498849F3 b323 + // inline BOOL IsAnimalVocalizationPlaying(Ped pedHandle) { return _i(0xC265DF9FB44A9FBD,pedHandle); } // 0xC265DF9FB44A9FBD 0x0CBAF2EF b323 - // mood can be 0 or 1 (it's not a boolean value!). Effects audio of the animal. + // mood can be 0 or 1 (it's not a boolean value!). Effects audio of the animal. inline Void SetAnimalMood(Ped animal, int mood) { return _i(0xCC97B29285B1DC3B,animal, mood); } // 0xCC97B29285B1DC3B 0x3EA7C6CB b323 - // + // inline BOOL IsMobilePhoneRadioActive() { return _i(0xB35CE999E8EF317E); } // 0xB35CE999E8EF317E 0x6E502A5B b323 - // + // inline Void SetMobilePhoneRadioState(BOOL state) { return _i(0xBF286C554784F3DF,state); } // 0xBF286C554784F3DF 0xE1E0ED34 b323 - // Returns 255 (radio off index) if the function fails. + // Returns 255 (radio off index) if the function fails. inline int GetPlayerRadioStationIndex() { return _i(0xE8AF77C4C06ADC93); } // 0xE8AF77C4C06ADC93 0x1C4946AC b323 - // Returns active radio station name - inline String GetPlayerRadioStationName() { return _i(0xF6D733C32076AD03); } // 0xF6D733C32076AD03 0xD909C107 b323 - // Converts radio station index to string. Use HUD::GetFilenameForAudioConversation to get the user-readable text. - inline String GetRadioStationName(int radioStation) { return _i(0xB28ECA15046CA8B9,radioStation); } // 0xB28ECA15046CA8B9 0x3DF493BC b323 - // + // Returns active radio station name + inline const char* GetPlayerRadioStationName() { return _i(0xF6D733C32076AD03); } // 0xF6D733C32076AD03 0xD909C107 b323 + // Converts radio station index to string. Use HUD::GetFilenameForAudioConversation to get the user-readable text. + inline const char* GetRadioStationName(int radioStation) { return _i(0xB28ECA15046CA8B9,radioStation); } // 0xB28ECA15046CA8B9 0x3DF493BC b323 + // inline int GetPlayerRadioStationGenre() { return _i(0xA571991A7FE6CCEB); } // 0xA571991A7FE6CCEB 0x872CF0EA b323 - // + // inline BOOL IsRadioRetuning() { return _i(0xA151A7394A214E65); } // 0xA151A7394A214E65 0xCF29097B b323 - // + // inline BOOL IsRadioFadedOut() { return _i(0x626A247D2405330); } // 0x626A247D2405330 0x815CAE99 b323 - // Tune Forward... + // Tune Forward... inline Void SetRadioRetuneUp() { return _i(0xFF266D1D0EB1195D); } // 0xFF266D1D0EB1195D 0x53DB6994 b323 - // Tune Backwards... + // Tune Backwards... inline Void SetRadioRetuneDown() { return _i(0xDD6BCF9E94425DF9); } // 0xDD6BCF9E94425DF9 0xD70ECC80 b323 - // List of radio stations that are in the wheel, in clockwise order, as of LS Tuners DLC: https://git.io/J8a3k + // List of radio stations that are in the wheel, in clockwise order, as of LS Tuners DLC: https://git.io/J8a3k // An older list including hidden radio stations: https://pastebin.com/Kj9t38KF - inline Void SetRadioToStationName(String stationName) { return _i(0xC69EDA28699D5107,stationName); } // 0xC69EDA28699D5107 0x7B36E35E b323 - // List of radio stations that are in the wheel, in clockwise order, as of LS Tuners DLC: https://git.io/J8a3k + inline Void SetRadioToStationName(const char* stationName) { return _i(0xC69EDA28699D5107,stationName); } // 0xC69EDA28699D5107 0x7B36E35E b323 + // List of radio stations that are in the wheel, in clockwise order, as of LS Tuners DLC: https://git.io/J8a3k // An older list including hidden radio stations: https://pastebin.com/Kj9t38KF - inline Void SetVehRadioStation(Vehicle vehicle, String radioStation) { return _i(0x1B9C0099CB942AC6,vehicle, radioStation); } // 0x1B9C0099CB942AC6 0xE391F55F b323 - // + inline Void SetVehRadioStation(Vehicle vehicle, const char* radioStation) { return _i(0x1B9C0099CB942AC6,vehicle, radioStation); } // 0x1B9C0099CB942AC6 0xE391F55F b323 + // inline Void SetVehHasNormalRadio(Vehicle vehicle) { return _i(0x3E45765F3FBB582F,vehicle); } // 0x3E45765F3FBB582F b2372 - // + // inline BOOL IsVehicleRadioOn(Vehicle vehicle) { return _i(0xBE4BE946463F917,vehicle); } // 0xBE4BE946463F917 b505 - // + // inline Void SetVehForcedRadioThisFrame(Vehicle vehicle) { return _i(0xC1805D05E6D4FE10,vehicle); } // 0xC1805D05E6D4FE10 0x7ABB89D2 b323 - // Full list of static emitters by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/staticEmitters.json - inline Void SetEmitterRadioStation(String emitterName, String radioStation, Any p2) { return _i(0xACF57305B12AF907,emitterName, radioStation, p2); } // 0xACF57305B12AF907 0x87431585 b323 - // Example: + // Full list of static emitters by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/staticEmitters.json + inline Void SetEmitterRadioStation(const char* emitterName, const char* radioStation, Any p2) { return _i(0xACF57305B12AF907,emitterName, radioStation, p2); } // 0xACF57305B12AF907 0x87431585 b323 + // Example: // AUDIO::SetStaticEmitterEnabled((Any*)"LOS_SANTOS_VANILLA_UNICORN_01_STAGE", false); AUDIO::SetStaticEmitterEnabled((Any*)"LOS_SANTOS_VANILLA_UNICORN_02_MAIN_ROOM", false); AUDIO::SetStaticEmitterEnabled((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 - inline Void SetStaticEmitterEnabled(String emitterName, BOOL toggle) { return _i(0x399D2D3B33F1B8EB,emitterName, toggle); } // 0x399D2D3B33F1B8EB 0x91F72E92 b323 - // Full list of static emitters by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/staticEmitters.json - inline Void LinkStaticEmitterToEntity(String emitterName, Entity entity) { return _i(0x651D3228960D08AF,emitterName, entity); } // 0x651D3228960D08AF b505 - // Sets radio station by index. + inline Void SetStaticEmitterEnabled(const char* emitterName, BOOL toggle) { return _i(0x399D2D3B33F1B8EB,emitterName, toggle); } // 0x399D2D3B33F1B8EB 0x91F72E92 b323 + // Full list of static emitters by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/staticEmitters.json + inline Void LinkStaticEmitterToEntity(const char* emitterName, Entity entity) { return _i(0x651D3228960D08AF,emitterName, entity); } // 0x651D3228960D08AF b505 + // Sets radio station by index. inline Void SetRadioToStationIndex(int radioStation) { return _i(0xA619B168B8A8570F,radioStation); } // 0xA619B168B8A8570F 0x1D82766D b323 - // + // inline Void SetFrontendRadioActive(BOOL active) { return _i(0xF7F26C6E9CC9EBB8,active); } // 0xF7F26C6E9CC9EBB8 0xB1172075 b323 - // "news" that play on the radio after you've done something in story mode(?) + // "news" that play on the radio after you've done something in story mode(?) inline Void UnlockMissionNewsStory(int newsStory) { return _i(0xB165AB7C248B2DC1,newsStory); } // 0xB165AB7C248B2DC1 0xCCD9ABE4 b323 - // + // inline BOOL IsMissionNewsStoryUnlocked(int newsStory) { return _i(0x66E49BF55B4B1874,newsStory); } // 0x66E49BF55B4B1874 0x27305D37 b323 - // + // inline int GetAudibleMusicTrackTextId() { return _i(0x50B196FC9ED6545B); } // 0x50B196FC9ED6545B 0xA2B88CA7 b323 - // + // inline Void PlayEndCreditsMusic(BOOL play) { return _i(0xCD536C4D33DCC900,play); } // 0xCD536C4D33DCC900 0x8E88B3CC b323 - // + // inline Void SkipRadioForward() { return _i(0x6DDBBDD98E2E9C25); } // 0x6DDBBDD98E2E9C25 0x10D36630 b323 - // - inline Void FreezeRadioStation(String radioStation) { return _i(0x344F393B027E38C3,radioStation); } // 0x344F393B027E38C3 0x286BF543 b323 - // - inline Void UnfreezeRadioStation(String radioStation) { return _i(0xFC00454CF60B91DD,radioStation); } // 0xFC00454CF60B91DD 0x4D46202C b323 - // + // + inline Void FreezeRadioStation(const char* radioStation) { return _i(0x344F393B027E38C3,radioStation); } // 0x344F393B027E38C3 0x286BF543 b323 + // + inline Void UnfreezeRadioStation(const char* radioStation) { return _i(0xFC00454CF60B91DD,radioStation); } // 0xFC00454CF60B91DD 0x4D46202C b323 + // inline Void SetRadioAutoUnfreeze(BOOL toggle) { return _i(0xC1AA9F53CE982990,toggle); } // 0xC1AA9F53CE982990 0xA40196BF b323 - // - inline Void SetInitialPlayerStation(String radioStation) { return _i(0x88795F13FACDA88D,radioStation); } // 0x88795F13FACDA88D 0x9B069233 b323 - // + // + inline Void SetInitialPlayerStation(const char* radioStation) { return _i(0x88795F13FACDA88D,radioStation); } // 0x88795F13FACDA88D 0x9B069233 b323 + // inline Void SetUserRadioControlEnabled(BOOL toggle) { return _i(0x19F21E63AE6EAE4E,toggle); } // 0x19F21E63AE6EAE4E 0x52E054CE b323 - // Only found this one in the decompiled scripts: + // Only found this one in the decompiled scripts: // // AUDIO::SetRadioTrack("RADIO_03_HIPHOP_NEW", "ARM1_RADIO_STARTS"); // - inline Void SetRadioTrack(String radioStation, String radioTrack) { return _i(0xB39786F201FEE30B,radioStation, radioTrack); } // 0xB39786F201FEE30B 0x76E96212 b323 - // - inline Void SetRadioTrackWithStartOffset(String radioStationName, String mixName, int p2) { return _i(0x2CB0075110BE1E56,radioStationName, mixName, p2); } // 0x2CB0075110BE1E56 b1493 - // - inline Void SetNextRadioTrack(String radioName, String radioTrack, String p2, String p3) { return _i(0x55ECF4D13D9903B0,radioName, radioTrack, p2, p3); } // 0x55ECF4D13D9903B0 b1868 - // + inline Void SetRadioTrack(const char* radioStation, const char* radioTrack) { return _i(0xB39786F201FEE30B,radioStation, radioTrack); } // 0xB39786F201FEE30B 0x76E96212 b323 + // + inline Void SetRadioTrackWithStartOffset(const char* radioStationName, const char* mixName, int p2) { return _i(0x2CB0075110BE1E56,radioStationName, mixName, p2); } // 0x2CB0075110BE1E56 b1493 + // + inline Void SetNextRadioTrack(const char* radioName, const char* radioTrack, const char* p2, const char* p3) { return _i(0x55ECF4D13D9903B0,radioName, radioTrack, p2, p3); } // 0x55ECF4D13D9903B0 b1868 + // inline Void SetVehicleRadioLoud(Vehicle vehicle, BOOL toggle) { return _i(0xBB6F1CAEC68B0BCE,vehicle, toggle); } // 0xBB6F1CAEC68B0BCE 0x8D9EDD99 b323 - // + // inline BOOL CanVehicleReceiveCbRadio(Vehicle vehicle) { return _i(0x32A116663A4D5AC,vehicle); } // 0x32A116663A4D5AC 0xCBA99F4A b323 - // + // inline Void SetMobileRadioEnabledDuringGameplay(BOOL toggle) { return _i(0x1098355A16064BB3,toggle); } // 0x1098355A16064BB3 0x990085F0 b323 - // + // inline BOOL DoesPlayerVehHaveRadio() { return _i(0x109697E2FFBAC8A1); } // 0x109697E2FFBAC8A1 0x46B0C696 b323 - // + // inline BOOL IsPlayerVehRadioEnable() { return _i(0x5F43D83FD6738741); } // 0x5F43D83FD6738741 0x2A3E5E8B b323 - // can't seem to enable radio on cop cars etc + // can't seem to enable radio on cop cars etc inline Void SetVehicleRadioEnabled(Vehicle vehicle, BOOL toggle) { return _i(0x3B988190C0AA6C0B,vehicle, toggle); } // 0x3B988190C0AA6C0B 0x6F812CAB b323 - // + // inline Void SetPositionedPlayerVehicleRadioEmitterEnabled(Any p0) { return _i(0xDA07819E452FFE8F,p0); } // 0xDA07819E452FFE8F b505 - // Examples: + // Examples: // // AUDIO::SetCustomRadioTrackList("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_MICHAEL", 1); // AUDIO::SetCustomRadioTrackList("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_MICHAEL", 1); @@ -602,108 +602,108 @@ namespace AUDIO // AUDIO::SetCustomRadioTrackList("RADIO_06_COUNTRY", "MAGDEMO2_RADIO_DINGHY", 1); // AUDIO::SetCustomRadioTrackList("RADIO_16_SILVERLAKE", "SEA_RACE_RADIO_PLAYLIST", 1); // AUDIO::SetCustomRadioTrackList("RADIO_01_CLASS_ROCK", "OFF_ROAD_RADIO_ROCK_LIST", 1); - inline Void SetCustomRadioTrackList(String radioStation, String trackListName, BOOL p2) { return _i(0x4E404A9361F75BB2,radioStation, trackListName, p2); } // 0x4E404A9361F75BB2 0x128C3873 b323 - // 3 calls in the b617d scripts, removed duplicate. + inline Void SetCustomRadioTrackList(const char* radioStation, const char* trackListName, BOOL p2) { return _i(0x4E404A9361F75BB2,radioStation, trackListName, p2); } // 0x4E404A9361F75BB2 0x128C3873 b323 + // 3 calls in the b617d scripts, removed duplicate. // // AUDIO::ClearCustomRadioTrackList("RADIO_16_SILVERLAKE"); // AUDIO::ClearCustomRadioTrackList("RADIO_01_CLASS_ROCK"); - inline Void ClearCustomRadioTrackList(String radioStation) { return _i(0x1654F24A88A8E3FE,radioStation); } // 0x1654F24A88A8E3FE 0x1D766976 b323 - // + inline Void ClearCustomRadioTrackList(const char* radioStation) { return _i(0x1654F24A88A8E3FE,radioStation); } // 0x1654F24A88A8E3FE 0x1D766976 b323 + // inline int GetNumUnlockedRadioStations() { return _i(0xF1620ECB50E01DE7); } // 0xF1620ECB50E01DE7 0xCC91FCF5 b323 - // + // inline int FindRadioStationIndex(Hash stationNameHash) { return _i(0x8D67489793FF428B,stationNameHash); } // 0x8D67489793FF428B 0xECA1512F b323 - // 6 calls in the b617d scripts, removed identical lines: + // 6 calls in the b617d scripts, removed identical lines: // // AUDIO::SetRadioStationMusicOnly("RADIO_01_CLASS_ROCK", 1); // AUDIO::SetRadioStationMusicOnly(AUDIO::GetRadioStationName(10), 0); // AUDIO::SetRadioStationMusicOnly(AUDIO::GetRadioStationName(10), 1); - inline Void SetRadioStationMusicOnly(String radioStation, BOOL toggle) { return _i(0x774BD811F656A122,radioStation, toggle); } // 0x774BD811F656A122 0xB1FF7137 b323 - // + inline Void SetRadioStationMusicOnly(const char* radioStation, BOOL toggle) { return _i(0x774BD811F656A122,radioStation, toggle); } // 0x774BD811F656A122 0xB1FF7137 b323 + // inline Void SetRadioFrontendFadeTime(float fadeTime) { return _i(0x2C96CDB04FCA358E,fadeTime); } // 0x2C96CDB04FCA358E 0xC8B514E2 b323 - // AUDIO::UnlockRadioStationTrackList("RADIO_16_SILVERLAKE", "MIRRORPARK_LOCKED"); - inline Void UnlockRadioStationTrackList(String radioStation, String trackListName) { return _i(0x31ACB6ABA18C729,radioStation, trackListName); } // 0x31ACB6ABA18C729 0xBE998184 b323 - // - inline Void LockRadioStationTrackList(String radioStation, String trackListName) { return _i(0xFF5E5EA2DCEEACF3,radioStation, trackListName); } // 0xFF5E5EA2DCEEACF3 b2372 - // Just a nullsub (i.e. does absolutely nothing) since build 1604. + // AUDIO::UnlockRadioStationTrackList("RADIO_16_SILVERLAKE", "MIRRORPARK_LOCKED"); + inline Void UnlockRadioStationTrackList(const char* radioStation, const char* trackListName) { return _i(0x31ACB6ABA18C729,radioStation, trackListName); } // 0x31ACB6ABA18C729 0xBE998184 b323 + // + inline Void LockRadioStationTrackList(const char* radioStation, const char* trackListName) { return _i(0xFF5E5EA2DCEEACF3,radioStation, trackListName); } // 0xFF5E5EA2DCEEACF3 b2372 + // Just a nullsub (i.e. does absolutely nothing) since build 1604. inline Void UpdateUnlockableDjRadioTracks(BOOL enableMixes) { return _i(0x47AED84213A47510,enableMixes); } // 0x47AED84213A47510 b1493 - // Disables the radio station (hides it from the radio wheel). - inline Void LockRadioStation(String radioStationName, BOOL toggle) { return _i(0x477D9DB48F889591,radioStationName, toggle); } // 0x477D9DB48F889591 b1493 - // Doesn't have an effect in Story Mode. - inline Void SetRadioStationAsFavourite(String radioStation, BOOL toggle) { return _i(0x4CAFEBFA21EC188D,radioStation, toggle); } // 0x4CAFEBFA21EC188D b2372 - // - inline BOOL IsRadioStationFavourited(String radioStation) { return _i(0x2B1784DB08AFEA79,radioStation); } // 0x2B1784DB08AFEA79 b2699 - // + // Disables the radio station (hides it from the radio wheel). + inline Void LockRadioStation(const char* radioStationName, BOOL toggle) { return _i(0x477D9DB48F889591,radioStationName, toggle); } // 0x477D9DB48F889591 b1493 + // Doesn't have an effect in Story Mode. + inline Void SetRadioStationAsFavourite(const char* radioStation, BOOL toggle) { return _i(0x4CAFEBFA21EC188D,radioStation, toggle); } // 0x4CAFEBFA21EC188D b2372 + // + inline BOOL IsRadioStationFavourited(const char* radioStation) { return _i(0x2B1784DB08AFEA79,radioStation); } // 0x2B1784DB08AFEA79 b2699 + // inline BOOL GetNextAudibleBeat(float* out1, float* out2, int* out3) { return _i(0xC64A06D939F826F5,out1, out2, out3); } // 0xC64A06D939F826F5 b1493 - // Changes start time of a tracklist (milliseconds) + // Changes start time of a tracklist (milliseconds) // R* uses a random int: MISC::GetRandomIntInRange(0, 13) * 60000) - inline Void ForceMusicTrackList(String radioStation, String trackListName, int milliseconds) { return _i(0x4E0AF9114608257C,radioStation, trackListName, milliseconds); } // 0x4E0AF9114608257C b2372 - // - inline int GetCurrentTrackPlayTime(String radioStationName) { return _i(0x3E65CDE5215832C1,radioStationName); } // 0x3E65CDE5215832C1 b1493 - // - inline Hash GetCurrentTrackSoundName(String radioStationName) { return _i(0x34D66BC058019CE0,radioStationName); } // 0x34D66BC058019CE0 b1493 - // + inline Void ForceMusicTrackList(const char* radioStation, const char* trackListName, int milliseconds) { return _i(0x4E0AF9114608257C,radioStation, trackListName, milliseconds); } // 0x4E0AF9114608257C b2372 + // + inline int GetCurrentTrackPlayTime(const char* radioStationName) { return _i(0x3E65CDE5215832C1,radioStationName); } // 0x3E65CDE5215832C1 b1493 + // + inline Hash GetCurrentTrackSoundName(const char* radioStationName) { return _i(0x34D66BC058019CE0,radioStationName); } // 0x34D66BC058019CE0 b1493 + // inline Void SetVehicleMissileWarningEnabled(Vehicle vehicle, BOOL toggle) { return _i(0xF3365489E0DD50F9,vehicle, toggle); } // 0xF3365489E0DD50F9 0x8AFC488D b323 - // Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json - inline Void SetAmbientZoneState(String zoneName, BOOL p1, BOOL p2) { return _i(0xBDA07E5950085E46,zoneName, p1, p2); } // 0xBDA07E5950085E46 0x2849CAC9 b323 - // This function also has a p2, unknown. Signature AUDIO::ClearAmbientZoneState(String zoneName, bool p1, Any p2); + // Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json + inline Void SetAmbientZoneState(const char* zoneName, BOOL p1, BOOL p2) { return _i(0xBDA07E5950085E46,zoneName, p1, p2); } // 0xBDA07E5950085E46 0x2849CAC9 b323 + // This function also has a p2, unknown. Signature AUDIO::ClearAmbientZoneState(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 - inline Void ClearAmbientZoneState(String zoneName, BOOL p1) { return _i(0x218DD44AAAC964FF,zoneName, p1); } // 0x218DD44AAAC964FF 0xCDFF3C82 b323 - // - inline Void SetAmbientZoneListState(String ambientZone, BOOL p1, BOOL p2) { return _i(0x9748FA4DE50CCE3E,ambientZone, p1, p2); } // 0x9748FA4DE50CCE3E 0xBF80B412 b323 - // - inline Void ClearAmbientZoneListState(String ambientZone, BOOL p1) { return _i(0x120C48C614909FA4,ambientZone, p1); } // 0x120C48C614909FA4 0x38B9B8D4 b323 - // Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json - inline Void SetAmbientZoneStatePersistent(String ambientZone, BOOL p1, BOOL p2) { return _i(0x1D6650420CEC9D3B,ambientZone, p1, p2); } // 0x1D6650420CEC9D3B 0xC1FFB672 b323 - // Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json - inline Void SetAmbientZoneListStatePersistent(String ambientZone, BOOL p1, BOOL p2) { return _i(0xF3638DAE8C4045E1,ambientZone, p1, p2); } // 0xF3638DAE8C4045E1 0x5F5A2605 b323 - // Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json - inline BOOL IsAmbientZoneEnabled(String ambientZone) { return _i(0x1E2817A479A7F9B,ambientZone); } // 0x1E2817A479A7F9B 0xBFABD872 b323 - // + inline Void ClearAmbientZoneState(const char* zoneName, BOOL p1) { return _i(0x218DD44AAAC964FF,zoneName, p1); } // 0x218DD44AAAC964FF 0xCDFF3C82 b323 + // + inline Void SetAmbientZoneListState(const char* ambientZone, BOOL p1, BOOL p2) { return _i(0x9748FA4DE50CCE3E,ambientZone, p1, p2); } // 0x9748FA4DE50CCE3E 0xBF80B412 b323 + // + inline Void ClearAmbientZoneListState(const char* ambientZone, BOOL p1) { return _i(0x120C48C614909FA4,ambientZone, p1); } // 0x120C48C614909FA4 0x38B9B8D4 b323 + // Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json + inline Void SetAmbientZoneStatePersistent(const char* ambientZone, BOOL p1, BOOL p2) { return _i(0x1D6650420CEC9D3B,ambientZone, p1, p2); } // 0x1D6650420CEC9D3B 0xC1FFB672 b323 + // Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json + inline Void SetAmbientZoneListStatePersistent(const char* ambientZone, BOOL p1, BOOL p2) { return _i(0xF3638DAE8C4045E1,ambientZone, p1, p2); } // 0xF3638DAE8C4045E1 0x5F5A2605 b323 + // Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json + inline BOOL IsAmbientZoneEnabled(const char* ambientZone) { return _i(0x1E2817A479A7F9B,ambientZone); } // 0x1E2817A479A7F9B 0xBFABD872 b323 + // inline Void RefreshClosestOceanShoreline() { return _i(0x5D2BFAAB8D956E0E); } // 0x5D2BFAAB8D956E0E b573 - // All occurrences found in b617d, sorted alphabetically and identical lines removed: + // All occurrences found in b617d, sorted alphabetically and identical lines removed: // // AUDIO::SetCutsceneAudioOverride("_AK"); // AUDIO::SetCutsceneAudioOverride("_CUSTOM"); // AUDIO::SetCutsceneAudioOverride("_TOOTHLESS"); // Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json - inline Void SetCutsceneAudioOverride(String name) { return _i(0x3B4BF5F0859204D9,name); } // 0x3B4BF5F0859204D9 0xCE1332B7 b323 - // - inline Void SetVariableOnSynchSceneAudio(String variableName, float value) { return _i(0xBCC29F935ED07688,variableName, value); } // 0xBCC29F935ED07688 0xD63CF33A b323 - // Plays the given police radio message. + inline Void SetCutsceneAudioOverride(const char* name) { return _i(0x3B4BF5F0859204D9,name); } // 0x3B4BF5F0859204D9 0xCE1332B7 b323 + // + inline Void SetVariableOnSynchSceneAudio(const char* variableName, float value) { return _i(0xBCC29F935ED07688,variableName, value); } // 0xBCC29F935ED07688 0xD63CF33A b323 + // Plays the given police radio message. // // All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/GBnsQ5hr // Full list of police report names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/policeReportNames.json - inline int PlayPoliceReport(String name, float p1) { return _i(0xDFEBD56D9BD1EB16,name, p1); } // 0xDFEBD56D9BD1EB16 0x3F277B62 b323 - // + inline int PlayPoliceReport(const char* name, float p1) { return _i(0xDFEBD56D9BD1EB16,name, p1); } // 0xDFEBD56D9BD1EB16 0x3F277B62 b323 + // inline Void CancelAllPoliceReports() { return _i(0xB4F90FAF7670B16F); } // 0xB4F90FAF7670B16F b323 - // Plays the siren sound of a vehicle which is otherwise activated when fastly double-pressing the horn key. + // 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. inline Void BlipSiren(Vehicle vehicle) { return _i(0x1B9025BDA76822B6,vehicle); } // 0x1B9025BDA76822B6 0xC0EB6924 b323 - // Overrides the vehicle's horn hash. + // 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 GetVehicleDefaultHorn) // // 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::GetVehicleDefaultHorn(veh) exists? inline Void OverrideVehHorn(Vehicle vehicle, BOOL override, int hornHash) { return _i(0x3CDC1E622CCE0356,vehicle, override, hornHash); } // 0x3CDC1E622CCE0356 0x2ACAB783 b323 - // Checks whether the horn of a vehicle is currently played. + // Checks whether the horn of a vehicle is currently played. inline BOOL IsHornActive(Vehicle vehicle) { return _i(0x9D6BFC12B05C6121,vehicle); } // 0x9D6BFC12B05C6121 0x20E2BDD0 b323 - // Makes pedestrians sound their horn longer, faster and more agressive when they use their horn. + // Makes pedestrians sound their horn longer, faster and more agressive when they use their horn. inline Void SetAggressiveHorns(BOOL toggle) { return _i(0x395BF71085D1B1D9,toggle); } // 0x395BF71085D1B1D9 0x01D6EABE b323 - // Does nothing (it's a nullsub). + // Does nothing (it's a nullsub). inline Void SetRadioPositionAudioMute(BOOL p0) { return _i(0x2E93C796ABD3A97,p0); } // 0x2E93C796ABD3A97 0x3C395AEE b323 - // SetVehicleConversationsPersist? + // SetVehicleConversationsPersist? inline Void SetVehicleConversationsPersist(BOOL p0, BOOL p1) { return _i(0x58BB377BEC7CD5F4,p0, p1); } // 0x58BB377BEC7CD5F4 0x8CE63FA1 b323 - // + // inline Void SetVehicleConversationsPersistNew(BOOL p0, BOOL p1, BOOL p2) { return _i(0x9BD7BD55E4533183,p0, p1, p2); } // 0x9BD7BD55E4533183 b1290 - // + // inline BOOL IsStreamPlaying() { return _i(0xD11FA52EB849D978); } // 0xD11FA52EB849D978 0xF1F51A14 b323 - // + // inline int GetStreamPlayTime() { return _i(0x4E72BBDBCA58A3DB); } // 0x4E72BBDBCA58A3DB 0xB4F0AD56 b323 - // Example: + // Example: // AUDIO::LoadStream("CAR_STEAL_1_PASSBY", "CAR_STEAL_1_SOUNDSET"); // // All found occurrences in the b678d decompiled scripts: https://pastebin.com/3rma6w5w @@ -713,19 +713,19 @@ namespace AUDIO // 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 - inline BOOL LoadStream(String streamName, String soundSet) { return _i(0x1F1F957154EC51DF,streamName, soundSet); } // 0x1F1F957154EC51DF 0x0D89599D b323 - // Example: + inline BOOL LoadStream(const char* streamName, const char* soundSet) { return _i(0x1F1F957154EC51DF,streamName, soundSet); } // 0x1F1F957154EC51DF 0x0D89599D b323 + // Example: // AUDIO::LoadStream_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 - inline BOOL LoadStreamWithStartOffset(String streamName, int startOffset, String soundSet) { return _i(0x59C16B79F53B3712,streamName, startOffset, soundSet); } // 0x59C16B79F53B3712 0xE5B5745C b323 - // + inline BOOL LoadStreamWithStartOffset(const char* streamName, int startOffset, const char* soundSet) { return _i(0x59C16B79F53B3712,streamName, startOffset, soundSet); } // 0x59C16B79F53B3712 0xE5B5745C b323 + // inline Void PlayStreamFromPed(Ped ped) { return _i(0x89049DD63C08B5D1,ped); } // 0x89049DD63C08B5D1 0xA1D7FABE b323 - // + // inline Void PlayStreamFromVehicle(Vehicle vehicle) { return _i(0xB70374A758007DFA,vehicle); } // 0xB70374A758007DFA 0xF8E4BDA2 b323 - // Used with AUDIO::LoadStream + // Used with AUDIO::LoadStream // // Example from finale_heist2b.c4: // TASK::TaskSynchronizedScene(l_4C8[2/*14*/], l_4C8[2/*14*/]._f7, l_30A, "push_out_vault_l", 4.0, -1.5, 5, 713, 4.0, 0); @@ -737,164 +737,164 @@ namespace AUDIO // AUDIO::PlayStreamFromObject(l_36F[0/*1*/]); // } inline Void PlayStreamFromObject(Object object) { return _i(0xEBAA9B64D76356FD,object); } // 0xEBAA9B64D76356FD 0xC5266BF7 b323 - // + // inline Void PlayStreamFrontend() { return _i(0x58FCE43488F9F5F4); } // 0x58FCE43488F9F5F4 0x2C2A16BC b323 - // + // inline Void PlayStreamFromPosition(float x, float y, float z) { return _i(0x21442F412E8DE56B,x, y, z); } // 0x21442F412E8DE56B 0x6FE5D865 b323 - // + // inline Void StopStream() { return _i(0xA4718A1419D18151); } // 0xA4718A1419D18151 0xD1E364DE b323 - // + // inline Void StopPedSpeaking(Ped ped, BOOL shaking) { return _i(0x9D64D7405520E3D3,ped, shaking); } // 0x9D64D7405520E3D3 0xFF92B49D b323 - // + // inline Void BlockAllSpeechFromPed(Ped ped, BOOL p1, BOOL p2) { return _i(0xF8AD2EED7C47E8FE,ped, p1, p2); } // 0xF8AD2EED7C47E8FE b1734 - // + // inline Void StopPedSpeakingSynced(Ped ped, BOOL p1) { return _i(0xAB6781A5F3101470,ped, p1); } // 0xAB6781A5F3101470 b1868 - // + // inline Void DisablePedPainAudio(Ped ped, BOOL toggle) { return _i(0xA9A41C1E940FB0E8,ped, toggle); } // 0xA9A41C1E940FB0E8 0x3B8E2D5F b323 - // Common in the scripts: + // Common in the scripts: // AUDIO::IsAmbientSpeechDisabled(PLAYER::PlayerPedId()); inline BOOL IsAmbientSpeechDisabled(Ped ped) { return _i(0x932C2D096A2C3FFF,ped); } // 0x932C2D096A2C3FFF 0x109D1F89 b323 - // - inline Void BlockSpeechContextGroup(String p0, int p1) { return _i(0xA8A7D434AFB4B97B,p0, p1); } // 0xA8A7D434AFB4B97B b1493 - // - inline Void UnblockSpeechContextGroup(String p0) { return _i(0x2ACABED337622DF2,p0); } // 0x2ACABED337622DF2 b1493 - // + // + inline Void BlockSpeechContextGroup(const char* p0, int p1) { return _i(0xA8A7D434AFB4B97B,p0, p1); } // 0xA8A7D434AFB4B97B b1493 + // + inline Void UnblockSpeechContextGroup(const char* p0) { return _i(0x2ACABED337622DF2,p0); } // 0x2ACABED337622DF2 b1493 + // inline Void SetSirenWithNoDriver(Vehicle vehicle, BOOL toggle) { return _i(0x1FEF0683B96EBCF2,vehicle, toggle); } // 0x1FEF0683B96EBCF2 0x77182D58 b323 - // + // inline Void SetSirenBypassMpDriverCheck(Vehicle vehicle, BOOL toggle) { return _i(0xF584CF8529B51434,vehicle, toggle); } // 0xF584CF8529B51434 b2372 - // + // inline Void TriggerSirenAudio(Vehicle vehicle) { return _i(0x66C3FB05206041BA,vehicle); } // 0x66C3FB05206041BA b1290 - // + // inline Void SetHornPermanentlyOn(Vehicle vehicle) { return _i(0x9C11908013EA4715,vehicle); } // 0x9C11908013EA4715 0xDE8BA3CD b323 - // + // inline Void SetHornEnabled(Vehicle vehicle, BOOL toggle) { return _i(0x76D683C108594D0E,vehicle, toggle); } // 0x76D683C108594D0E 0x6EB92D05 b323 - // + // inline Void SetAudioVehiclePriority(Vehicle vehicle, Any p1) { return _i(0xE5564483E407F914,vehicle, p1); } // 0xE5564483E407F914 0x271A9766 b323 - // + // inline Void SetHornPermanentlyOnTime(Vehicle vehicle, float time) { return _i(0x9D3AF56E94C9AE98,vehicle, time); } // 0x9D3AF56E94C9AE98 0x2F0A16D1 b323 - // + // inline Void UseSirenAsHorn(Vehicle vehicle, BOOL toggle) { return _i(0xFA932DE350266EF8,vehicle, toggle); } // 0xFA932DE350266EF8 0xC6BC16F3 b323 - // This native sets the audio of the specified vehicle to the audioName (p1). + // 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. - inline Void ForceUseAudioGameObject(Vehicle vehicle, String audioName) { return _i(0x4F0C413926060B38,vehicle, audioName); } // 0x4F0C413926060B38 0x33B0B007 b323 - // + inline Void ForceUseAudioGameObject(Vehicle vehicle, const char* audioName) { return _i(0x4F0C413926060B38,vehicle, audioName); } // 0x4F0C413926060B38 0x33B0B007 b323 + // inline Void PreloadVehicleAudioBank(Hash vehicleModel) { return _i(0xCA4CEA6AE0000A7E,vehicleModel); } // 0xCA4CEA6AE0000A7E b1180 - // - inline Void SetVehicleStartupRevSound(Vehicle vehicle, String p1, String p2) { return _i(0xF1F8157B8C3F171C,vehicle, p1, p2); } // 0xF1F8157B8C3F171C 0x1C0C5E4C b323 - // + // + inline Void SetVehicleStartupRevSound(Vehicle vehicle, const char* p1, const char* p2) { return _i(0xF1F8157B8C3F171C,vehicle, p1, p2); } // 0xF1F8157B8C3F171C 0x1C0C5E4C b323 + // inline Void ResetVehicleStartupRevSound(Vehicle vehicle) { return _i(0xD2DCCD8E16E20997,vehicle); } // 0xD2DCCD8E16E20997 b323 - // + // inline Void SetVehicleForceReverseWarning(Any p0, Any p1) { return _i(0x97FFB4ADEED08066,p0, p1); } // 0x97FFB4ADEED08066 b2372 - // + // inline BOOL IsVehicleAudiblyDamaged(Vehicle vehicle) { return _i(0x5DB8010EE71FDEF2,vehicle); } // 0x5DB8010EE71FDEF2 0x6E660D3F b323 - // + // inline Void SetVehicleAudioEngineDamageFactor(Vehicle vehicle, float damageFactor) { return _i(0x59E7B488451F4D3A,vehicle, damageFactor); } // 0x59E7B488451F4D3A 0x23BE6432 b323 - // intensity: 0.0f - 1.0f, only used once with 1.0f in R* Scripts (nigel2) + // intensity: 0.0f - 1.0f, only used once with 1.0f in R* Scripts (nigel2) // Makes an engine rattling noise when you decelerate, you need to be going faster to hear lower values inline Void SetVehicleAudioBodyDamageFactor(Vehicle vehicle, float intensity) { return _i(0x1BB4D577D38BD9E,vehicle, intensity); } // 0x1BB4D577D38BD9E 0xE81FAC68 b323 - // + // inline Void EnableVehicleFanbeltDamage(Vehicle vehicle, BOOL toggle) { return _i(0x1C073274E065C6D2,vehicle, toggle); } // 0x1C073274E065C6D2 0x9365E042 b323 - // + // inline Void EnableVehicleExhaustPops(Vehicle vehicle, BOOL toggle) { return _i(0x2BE4BC731D039D5A,vehicle, toggle); } // 0x2BE4BC731D039D5A 0x2A60A90E b323 - // SetVehicleBoostActive(vehicle, 1, 0); + // SetVehicleBoostActive(vehicle, 1, 0); // SetVehicleBoostActive(vehicle, 0, 0); // // Will give a boost-soundeffect. inline Void SetVehicleBoostActive(Vehicle vehicle, BOOL toggle) { return _i(0x4A04DE7CAB2739A1,vehicle, toggle); } // 0x4A04DE7CAB2739A1 0x072F15F2 b323 - // + // inline Void SetPlayerVehicleAlarmAudioActive(Vehicle vehicle, BOOL toggle) { return _i(0x6FDDAD856E36988A,vehicle, toggle); } // 0x6FDDAD856E36988A 0x934BE749 b323 - // + // inline Void SetScriptUpdateDoorAudio(Hash doorHash, BOOL toggle) { return _i(0x6C0023BED16DD6B,doorHash, toggle); } // 0x6C0023BED16DD6B 0xE61110A2 b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline Void PlayVehicleDoorOpenSound(Vehicle vehicle, int doorId) { return _i(0x3A539D52857EA82D,vehicle, doorId); } // 0x3A539D52857EA82D 0x84930330 b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline Void PlayVehicleDoorCloseSound(Vehicle vehicle, int doorId) { return _i(0x62A456AA4769EF34,vehicle, doorId); } // 0x62A456AA4769EF34 0xBA2CF407 b323 - // Works for planes only. + // Works for planes only. inline Void EnableStallWarningSounds(Vehicle vehicle, BOOL toggle) { return _i(0xC15907D667F7CFB2,vehicle, toggle); } // 0xC15907D667F7CFB2 0x563B635D b323 - // + // inline Void EnableDragRaceStationaryWarningSounds(Vehicle vehicle, BOOL enable) { return _i(0xBEFB80290414FD4F,vehicle, enable); } // 0xBEFB80290414FD4F b3095 - // Hardcoded to return 1 + // Hardcoded to return 1 inline BOOL IsGameInControlOfMusic() { return _i(0x6D28DC1671E334FD); } // 0x6D28DC1671E334FD 0x7643170D b323 - // + // inline Void SetGpsActive(BOOL active) { return _i(0x3BD3F52BA9B1E4E8,active); } // 0x3BD3F52BA9B1E4E8 0x0FC3379A b323 - // Called 38 times in the scripts. There are 5 different audioNames used. + // Called 38 times in the scripts. There are 5 different audioNames used. // One unknown removed below. // // AUDIO::PlayMissionCompleteAudio("DEAD"); // AUDIO::PlayMissionCompleteAudio("FRANKLIN_BIG_01"); // AUDIO::PlayMissionCompleteAudio("GENERIC_FAILED"); // AUDIO::PlayMissionCompleteAudio("TREVOR_SMALL_01"); - inline Void PlayMissionCompleteAudio(String audioName) { return _i(0xB138AAB8A70D3C69,audioName); } // 0xB138AAB8A70D3C69 0x3033EA1D b323 - // + inline Void PlayMissionCompleteAudio(const char* audioName) { return _i(0xB138AAB8A70D3C69,audioName); } // 0xB138AAB8A70D3C69 0x3033EA1D b323 + // inline BOOL IsMissionCompletePlaying() { return _i(0x19A30C23F5827F8A); } // 0x19A30C23F5827F8A 0x939982A1 b323 - // + // inline BOOL IsMissionCompleteReadyForUi() { return _i(0x6F259F82D873B8B8); } // 0x6F259F82D873B8B8 0xCBE09AEC b323 - // + // inline Void BlockDeathJingle(BOOL toggle) { return _i(0xF154B8D1775B2DEC,toggle); } // 0xF154B8D1775B2DEC 0xD2858D8A b323 - // Used to prepare a scene where the surrounding sound is muted or a bit changed. This does not play any sound. + // 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: https://pastebin.com/MtM9N9CC // Full list of audio scene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/audioSceneNames.json - inline BOOL StartAudioScene(String scene) { return _i(0x13A80FC08F6E4F2,scene); } // 0x13A80FC08F6E4F2 0xE48D757B b323 - // Full list of audio scene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/audioSceneNames.json - inline Void StopAudioScene(String scene) { return _i(0xDFE8422B3B94E688,scene); } // 0xDFE8422B3B94E688 0xA08D8C58 b323 - // ?? + inline BOOL StartAudioScene(const char* scene) { return _i(0x13A80FC08F6E4F2,scene); } // 0x13A80FC08F6E4F2 0xE48D757B b323 + // Full list of audio scene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/audioSceneNames.json + inline Void StopAudioScene(const char* scene) { return _i(0xDFE8422B3B94E688,scene); } // 0xDFE8422B3B94E688 0xA08D8C58 b323 + // ?? inline Void StopAudioScenes() { return _i(0xBAC7FC81A75EC1A1); } // 0xBAC7FC81A75EC1A1 0xF6C7342A b323 - // Full list of audio scene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/audioSceneNames.json - inline BOOL IsAudioSceneActive(String scene) { return _i(0xB65B60556E2A9225,scene); } // 0xB65B60556E2A9225 0xACBED05C b323 - // Full list of audio scene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/audioSceneNames.json - inline Void SetAudioSceneVariable(String scene, String variable, float value) { return _i(0xEF21A9EF089A2668,scene, variable, value); } // 0xEF21A9EF089A2668 0x19BB3CE8 b323 - // + // Full list of audio scene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/audioSceneNames.json + inline BOOL IsAudioSceneActive(const char* scene) { return _i(0xB65B60556E2A9225,scene); } // 0xB65B60556E2A9225 0xACBED05C b323 + // Full list of audio scene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/audioSceneNames.json + inline Void SetAudioSceneVariable(const char* scene, const char* variable, float value) { return _i(0xEF21A9EF089A2668,scene, variable, value); } // 0xEF21A9EF089A2668 0x19BB3CE8 b323 + // inline Void SetAudioScriptCleanupTime(int time) { return _i(0xA5F377B175A699C5,time); } // 0xA5F377B175A699C5 0xE812925D b323 - // All found occurrences in b678d: + // All found occurrences in b678d: // https://pastebin.com/ceu67jz8 - inline Void AddEntityToAudioMixGroup(Entity entity, String groupName, float p2) { return _i(0x153973AB99FE8980,entity, groupName, p2); } // 0x153973AB99FE8980 0x2BC93264 b323 - // + inline Void AddEntityToAudioMixGroup(Entity entity, const char* groupName, float p2) { return _i(0x153973AB99FE8980,entity, groupName, p2); } // 0x153973AB99FE8980 0x2BC93264 b323 + // inline Void RemoveEntityFromAudioMixGroup(Entity entity, float p1) { return _i(0x18EB48CFC41F2EA0,entity, p1); } // 0x18EB48CFC41F2EA0 0x308ED0EC b323 - // + // inline BOOL AudioIsMusicPlaying() { return _i(0x845FFC3A4FEEFA3E); } // 0x845FFC3A4FEEFA3E b323 - // This is an alias of AudioIsMusicPlaying. + // This is an alias of AudioIsMusicPlaying. inline BOOL AudioIsScriptedMusicPlaying() { return _i(0x2DD39BF3E2F9C47F); } // 0x2DD39BF3E2F9C47F b463 - // All music event names found in the b617d scripts: https://pastebin.com/GnYt0R3P + // All music event names found in the b617d scripts: https://pastebin.com/GnYt0R3P // Full list of music event names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/musicEventNames.json - inline BOOL PrepareMusicEvent(String eventName) { return _i(0x1E5185B72EF5158A,eventName); } // 0x1E5185B72EF5158A 0x534A5C1C b323 - // All music event names found in the b617d scripts: https://pastebin.com/GnYt0R3P + inline BOOL PrepareMusicEvent(const char* eventName) { return _i(0x1E5185B72EF5158A,eventName); } // 0x1E5185B72EF5158A 0x534A5C1C b323 + // All music event names found in the b617d scripts: https://pastebin.com/GnYt0R3P // Full list of music event names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/musicEventNames.json - inline BOOL CancelMusicEvent(String eventName) { return _i(0x5B17A90291133DA5,eventName); } // 0x5B17A90291133DA5 0x89FF942D b323 - // List of all usable event names found in b617d used with this native. Sorted alphabetically and identical names removed: https://pastebin.com/RzDFmB1W + inline BOOL CancelMusicEvent(const char* eventName) { return _i(0x5B17A90291133DA5,eventName); } // 0x5B17A90291133DA5 0x89FF942D b323 + // List of all usable event names found in b617d used with this native. Sorted alphabetically and identical names removed: https://pastebin.com/RzDFmB1W // // All music event names found in the b617d scripts: https://pastebin.com/GnYt0R3P // Full list of music event names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/musicEventNames.json - inline BOOL TriggerMusicEvent(String eventName) { return _i(0x706D57B0F50DA710,eventName); } // 0x706D57B0F50DA710 0xB6094948 b323 - // + inline BOOL TriggerMusicEvent(const char* eventName) { return _i(0x706D57B0F50DA710,eventName); } // 0x706D57B0F50DA710 0xB6094948 b323 + // inline BOOL IsMusicOneshotPlaying() { return _i(0xA097AB275061FB21); } // 0xA097AB275061FB21 0x2705C4D5 b323 - // + // inline int GetMusicPlaytime() { return _i(0xE7A0D23DC414507B); } // 0xE7A0D23DC414507B 0xD633C809 b323 - // + // inline Void SetGlobalRadioSignalLevel(Any p0) { return _i(0x159B7318403A1CD8,p0); } // 0x159B7318403A1CD8 b1103 - // + // inline Void RecordBrokenGlass(float x, float y, float z, float radius) { return _i(0xFBE20329593DEC9D,x, y, z, radius); } // 0xFBE20329593DEC9D 0x53FC3FEC b323 - // + // inline Void ClearAllBrokenGlass() { return _i(0xB32209EFFDC04913); } // 0xB32209EFFDC04913 0xE6B033BF b323 - // + // inline Void ScriptOverridesWindElevation(BOOL p0, Any p1) { return _i(0x70B8EC8FC108A634,p0, p1); } // 0x70B8EC8FC108A634 0x95050CAD b323 - // + // inline Void SetPedWallaDensity(float p0, float p1) { return _i(0x149AEE66F0CB3A99,p0, p1); } // 0x149AEE66F0CB3A99 0xE64F97A0 b323 - // + // inline Void SetPedInteriorWallaDensity(float p0, float p1) { return _i(0x8BF907833BE275DE,p0, p1); } // 0x8BF907833BE275DE 0x2CD26D69 b323 - // + // inline Void ForcePedPanicWalla() { return _i(0x62D5EAD4DA2FA6A); } // 0x62D5EAD4DA2FA6A 0xD87AF337 b323 - // Example: + // Example: // // bool prepareAlarm = AUDIO::PrepareAlarm("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS"); // Full list of alarm names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/alarmSounds.json - inline BOOL PrepareAlarm(String alarmName) { return _i(0x9D74AE343DB65533,alarmName); } // 0x9D74AE343DB65533 0x084932E8 b323 - // Example: + inline BOOL PrepareAlarm(const char* alarmName) { return _i(0x9D74AE343DB65533,alarmName); } // 0x9D74AE343DB65533 0x084932E8 b323 + // Example: // // This will start the alarm at Fort Zancudo. // @@ -925,8 +925,8 @@ namespace AUDIO // AUDIO::StartAlarm("PRISON_ALARMS", 0); // AUDIO::StartAlarm("PROLOGUE_VAULT_ALARMS", 0); // Full list of alarm names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/alarmSounds.json - inline Void StartAlarm(String alarmName, BOOL p2) { return _i(0x355EF116C4C97B2,alarmName, p2); } // 0x355EF116C4C97B2 0x703F524B b323 - // Example: + inline Void StartAlarm(const char* alarmName, BOOL p2) { return _i(0x355EF116C4C97B2,alarmName, p2); } // 0x355EF116C4C97B2 0x703F524B b323 + // Example: // // This will stop the alarm at Fort Zancudo. // @@ -935,42 +935,42 @@ namespace AUDIO // First parameter (char) is the name of the alarm. // Second parameter (bool) has to be true (1) to have any effect. // Full list of alarm names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/alarmSounds.json - inline Void StopAlarm(String alarmName, BOOL toggle) { return _i(0xA1CADDCD98415A41,alarmName, toggle); } // 0xA1CADDCD98415A41 0xF987BE8C b323 - // + inline Void StopAlarm(const char* alarmName, BOOL toggle) { return _i(0xA1CADDCD98415A41,alarmName, toggle); } // 0xA1CADDCD98415A41 0xF987BE8C b323 + // inline Void StopAllAlarms(BOOL stop) { return _i(0x2F794A877ADD4C92,stop); } // 0x2F794A877ADD4C92 0xC3CB9DC6 b323 - // Example: + // Example: // // bool playing = AUDIO::IsAlarmPlaying("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS"); // Full list of alarm names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/alarmSounds.json - inline BOOL IsAlarmPlaying(String alarmName) { return _i(0x226435CB96CCFC8C,alarmName); } // 0x226435CB96CCFC8C 0x9D8E1D23 b323 - // Returns hash of default vehicle horn + inline BOOL IsAlarmPlaying(const char* alarmName) { return _i(0x226435CB96CCFC8C,alarmName); } // 0x226435CB96CCFC8C 0x9D8E1D23 b323 + // Returns hash of default vehicle horn // // Hash is stored in audVehicleAudioEntity inline Hash GetVehicleDefaultHorn(Vehicle vehicle) { return _i(0x2165D55000219AC,vehicle); } // 0x2165D55000219AC 0xE84ABC19 b323 - // + // inline Hash GetVehicleDefaultHornIgnoreMods(Vehicle vehicle) { return _i(0xACB5DCCA1EC76840,vehicle); } // 0xACB5DCCA1EC76840 0xFD4B5B3B b323 - // + // inline Void ResetPedAudioFlags(Ped ped) { return _i(0xF54BB7B61036F335,ped); } // 0xF54BB7B61036F335 0xDF720C86 b323 - // Enables/disables ped's "loud" footstep sound. + // Enables/disables ped's "loud" footstep sound. inline Void SetPedFootstepsEventsEnabled(Ped ped, BOOL toggle) { return _i(0x653B735BFBDFE87,ped, toggle); } // 0x653B735BFBDFE87 b1493 - // Enables/disables ped's "quiet" footstep sound. + // Enables/disables ped's "quiet" footstep sound. inline Void SetPedClothEventsEnabled(Ped ped, BOOL toggle) { return _i(0x29DA3CA8D8B2692D,ped, toggle); } // 0x29DA3CA8D8B2692D b1493 - // Sets audio flag "OverridePlayerGroundMaterial" + // Sets audio flag "OverridePlayerGroundMaterial" inline Void OverridePlayerGroundMaterial(Hash hash, BOOL toggle) { return _i(0xD2CC78CD3D0B50F9,hash, toggle); } // 0xD2CC78CD3D0B50F9 0xC307D531 b323 - // + // inline Void UseFootstepScriptSweeteners(Ped ped, BOOL p1, Hash hash) { return _i(0xBF4DC1784BE94DFA,ped, p1, hash); } // 0xBF4DC1784BE94DFA 0xD99E275B b323 - // Sets audio flag "OverrideMicrophoneSettings" + // Sets audio flag "OverrideMicrophoneSettings" inline Void OverrideMicrophoneSettings(Hash hash, BOOL toggle) { return _i(0x75773E11BA459E90,hash, toggle); } // 0x75773E11BA459E90 b323 - // + // inline Void FreezeMicrophone() { return _i(0xD57AAAE0E2214D11); } // 0xD57AAAE0E2214D11 0x2B9D91E8 b323 - // If value is set to true, and ambient siren sound will be played. + // If value is set to true, and ambient siren sound will be played. // Appears to enable/disable an audio flag. inline Void DistantCopCarSirens(BOOL value) { return _i(0x552369F549563AD5,value); } // 0x552369F549563AD5 0x13EB5861 b323 - // + // inline Void SetSirenCanBeControlledByAudio(Vehicle vehicle, BOOL p1) { return _i(0x43FA0DFC5DF87815,vehicle, p1); } // 0x43FA0DFC5DF87815 0x7BED1872 b323 - // + // inline Void EnableStuntJumpAudio() { return _i(0xB81CF134AEB56FFB); } // 0xB81CF134AEB56FFB b791 - // Possible flag names: + // Possible flag names: // "ActivateSwitchWheelAudio" // "AllowAmbientSpeechInSlowMo" // "AllowCutsceneOverScreenFade" @@ -1083,23 +1083,23 @@ namespace AUDIO // ID: 61 | Hash: 0x1F7F6423 // ID: 62 | Hash: 0xE24C3AA6 // ID: 63 | Hash: 0xBFFDD2B7 - inline Void SetAudioFlag(String flagName, BOOL toggle) { return _i(0xB9EFD5C25018725A,flagName, toggle); } // 0xB9EFD5C25018725A 0x1C09C9E0 b323 - // p1 is always 0 in the scripts - inline BOOL PrepareSynchronizedAudioEvent(String audioEvent, Any p1) { return _i(0xC7ABCACA4985A766,audioEvent, p1); } // 0xC7ABCACA4985A766 0xE1D91FD0 b323 - // - inline BOOL PrepareSynchronizedAudioEventForScene(int sceneID, String audioEvent) { return _i(0x29FE7CD1B7E2E75,sceneID, audioEvent); } // 0x29FE7CD1B7E2E75 0x7652DD49 b323 - // + inline Void SetAudioFlag(const char* flagName, BOOL toggle) { return _i(0xB9EFD5C25018725A,flagName, toggle); } // 0xB9EFD5C25018725A 0x1C09C9E0 b323 + // p1 is always 0 in the scripts + inline BOOL PrepareSynchronizedAudioEvent(const char* audioEvent, Any p1) { return _i(0xC7ABCACA4985A766,audioEvent, p1); } // 0xC7ABCACA4985A766 0xE1D91FD0 b323 + // + inline BOOL PrepareSynchronizedAudioEventForScene(int sceneID, const char* audioEvent) { return _i(0x29FE7CD1B7E2E75,sceneID, audioEvent); } // 0x29FE7CD1B7E2E75 0x7652DD49 b323 + // inline BOOL PlaySynchronizedAudioEvent(int sceneID) { return _i(0x8B2FD4560E55DD2D,sceneID); } // 0x8B2FD4560E55DD2D 0x507F3241 b323 - // + // inline BOOL StopSynchronizedAudioEvent(int sceneID) { return _i(0x92D6A88E64A94430,sceneID); } // 0x92D6A88E64A94430 0xADEED2B4 b323 - // - inline Void InitSynchSceneAudioWithPosition(String audioEvent, float x, float y, float z) { return _i(0xC8EDE9BDBCCBA6D4,audioEvent, x, y, z); } // 0xC8EDE9BDBCCBA6D4 0x55A21772 b323 - // - inline Void InitSynchSceneAudioWithEntity(String audioEvent, Entity entity) { return _i(0x950A154B8DAB6185,audioEvent, entity); } // 0x950A154B8DAB6185 0xA17F9AB0 b323 - // Needs to be called every frame. + // + inline Void InitSynchSceneAudioWithPosition(const char* audioEvent, float x, float y, float z) { return _i(0xC8EDE9BDBCCBA6D4,audioEvent, x, y, z); } // 0xC8EDE9BDBCCBA6D4 0x55A21772 b323 + // + inline Void InitSynchSceneAudioWithEntity(const char* audioEvent, Entity entity) { return _i(0x950A154B8DAB6185,audioEvent, entity); } // 0x950A154B8DAB6185 0xA17F9AB0 b323 + // Needs to be called every frame. // Audio mode to apply this frame: https://alloc8or.re/gta5/doc/enums/audSpecialEffectMode.txt inline Void SetAudioSpecialEffectMode(int mode) { return _i(0x12561FCBB62D5B9C,mode); } // 0x12561FCBB62D5B9C 0x62B43677 b323 - // Found in the b617d scripts, duplicates removed: + // Found in the b617d scripts, duplicates removed: // // AUDIO::SetPortalSettingsOverride("V_CARSHOWROOM_PS_WINDOW_UNBROKEN", "V_CARSHOWROOM_PS_WINDOW_BROKEN"); // @@ -1110,68 +1110,68 @@ namespace AUDIO // AUDIO::SetPortalSettingsOverride("V_FINALEBANK_PS_VAULT_INTACT", "V_FINALEBANK_PS_VAULT_BLOWN"); // // AUDIO::SetPortalSettingsOverride("V_MICHAEL_PS_BATHROOM_WITH_WINDOW", "V_MICHAEL_PS_BATHROOM_WITHOUT_WINDOW"); - inline Void SetPortalSettingsOverride(String p0, String p1) { return _i(0x44DBAD7A7FA2BE5,p0, p1); } // 0x44DBAD7A7FA2BE5 0x8AD670EC b323 - // Found in the b617d scripts, duplicates removed: + inline Void SetPortalSettingsOverride(const char* p0, const char* p1) { return _i(0x44DBAD7A7FA2BE5,p0, p1); } // 0x44DBAD7A7FA2BE5 0x8AD670EC b323 + // Found in the b617d scripts, duplicates removed: // // AUDIO::RemovePortalSettingsOverride("V_CARSHOWROOM_PS_WINDOW_UNBROKEN"); // AUDIO::RemovePortalSettingsOverride("V_CIA_PS_WINDOW_UNBROKEN"); // AUDIO::RemovePortalSettingsOverride("V_DLC_HEIST_APARTMENT_DOOR_CLOSED"); // AUDIO::RemovePortalSettingsOverride("V_FINALEBANK_PS_VAULT_INTACT"); // AUDIO::RemovePortalSettingsOverride("V_MICHAEL_PS_BATHROOM_WITH_WINDOW"); - inline Void RemovePortalSettingsOverride(String p0) { return _i(0xB4BBFD9CD8B3922B,p0); } // 0xB4BBFD9CD8B3922B 0xD24B4D0C b323 - // STOP_S[MOKE_GRENADE_EXPLOSION_SOUNDS]? + inline Void RemovePortalSettingsOverride(const char* p0) { return _i(0xB4BBFD9CD8B3922B,p0); } // 0xB4BBFD9CD8B3922B 0xD24B4D0C b323 + // STOP_S[MOKE_GRENADE_EXPLOSION_SOUNDS]? inline Void StopSmokeGrenadeExplosionSounds() { return _i(0xE4E6DD5566D28C82); } // 0xE4E6DD5566D28C82 0x7262B5BA b323 - // + // inline int GetMusicVolSlider() { return _i(0x3A48AB4445D499BE); } // 0x3A48AB4445D499BE 0x93A44A1F b323 - // + // inline Void RequestTennisBanks(Ped ped) { return _i(0x4ADA3F19BE4A6047,ped); } // 0x4ADA3F19BE4A6047 0x13777A0B b323 - // + // inline Void UnrequestTennisBanks() { return _i(0x150B6FF25A9E2E5); } // 0x150B6FF25A9E2E5 0x1134F68B b323 - // + // inline Void SetSkipMinigunSpinUpAudio(BOOL p0) { return _i(0xBEF34B1D9624D5DD,p0); } // 0xBEF34B1D9624D5DD 0xE0047BFD b323 - // + // inline Void StopCutsceneAudio() { return _i(0x806058BBDC136E06); } // 0x806058BBDC136E06 0x55461BE6 b323 - // + // inline BOOL HasLoadedMpDataSet() { return _i(0x544810ED9DB6BBE6); } // 0x544810ED9DB6BBE6 b323 - // + // inline BOOL HasLoadedSpDataSet() { return _i(0x5B50ABB1FE3746F4); } // 0x5B50ABB1FE3746F4 b323 - // + // inline int GetVehicleHornSoundIndex(Vehicle vehicle) { return _i(0xD53F3A29BCE2580E,vehicle); } // 0xD53F3A29BCE2580E b1365 - // + // inline Void SetVehicleHornSoundIndex(Vehicle vehicle, int value) { return _i(0x350E7E17BA767D0,vehicle, value); } // 0x350E7E17BA767D0 b1365 } namespace BRAIN { - // BRAIN::AddScriptToRandomPed("pb_prostitute", ${s_f_y_hooker_01}, 100, 0); + // BRAIN::AddScriptToRandomPed("pb_prostitute", ${s_f_y_hooker_01}, 100, 0); // // - Nacorpio // // ----- // // Hardcoded to not work in Multiplayer. - inline Void AddScriptToRandomPed(String name, Hash model, float p2, float p3) { return _i(0x4EE5367468A65CCC,name, model, p2, p3); } // 0x4EE5367468A65CCC 0xECC76C3D b323 - // Registers a script for any object with a specific model hash. + inline Void AddScriptToRandomPed(const char* name, Hash model, float p2, float p3) { return _i(0x4EE5367468A65CCC,name, model, p2, p3); } // 0x4EE5367468A65CCC 0xECC76C3D b323 + // Registers a script for any object with a specific model hash. // // BRAIN::RegisterObjectScriptBrain("ob_telescope", ${prop_telescope_01}, 100, 4.0, -1, 9); // // - Nacorpio - inline Void RegisterObjectScriptBrain(String scriptName, Hash modelHash, int p2, float activationRange, int p4, int p5) { return _i(0xBE84C318BA6EC22,scriptName, modelHash, p2, activationRange, p4, p5); } // 0xBE84C318BA6EC22 0xB6BCC608 b323 - // + inline Void RegisterObjectScriptBrain(const char* scriptName, Hash modelHash, int p2, float activationRange, int p4, int p5) { return _i(0xBE84C318BA6EC22,scriptName, modelHash, p2, activationRange, p4, p5); } // 0xBE84C318BA6EC22 0xB6BCC608 b323 + // inline BOOL IsObjectWithinBrainActivationRange(Object object) { return _i(0xCCBA154209823057,object); } // 0xCCBA154209823057 0xBA4CAA56 b323 - // - inline Void RegisterWorldPointScriptBrain(String scriptName, float activationRange, int p2) { return _i(0x3CDC7136613284BD,scriptName, activationRange, p2); } // 0x3CDC7136613284BD 0x725D91F7 b323 - // Gets whether the world point the calling script is registered to is within desired range of the player. + // + inline Void RegisterWorldPointScriptBrain(const char* scriptName, float activationRange, int p2) { return _i(0x3CDC7136613284BD,scriptName, activationRange, p2); } // 0x3CDC7136613284BD 0x725D91F7 b323 + // Gets whether the world point the calling script is registered to is within desired range of the player. inline BOOL IsWorldPointWithinBrainActivationRange() { return _i(0xC5042CC6F5E3D450); } // 0xC5042CC6F5E3D450 0x2CF305A0 b323 - // + // inline Void EnableScriptBrainSet(int brainSet) { return _i(0x67AA4D73F0CFA86B,brainSet); } // 0x67AA4D73F0CFA86B 0x2765919F b323 - // + // inline Void DisableScriptBrainSet(int brainSet) { return _i(0x14D8518E9760F08F,brainSet); } // 0x14D8518E9760F08F 0xFBD13FAD b323 - // + // inline Void ReactivateAllWorldBrainsThatAreWaitingTillOutOfRange() { return _i(0xB40ED49D7D6FF84); } // 0xB40ED49D7D6FF84 0x19B27825 b323 - // + // inline Void ReactivateAllObjectBrainsThatAreWaitingTillOutOfRange() { return _i(0x4D953DF78EBF8158); } // 0x4D953DF78EBF8158 0xF3A3AB08 b323 - // Possible values: + // Possible values: // // act_cinema // am_mp_carwash_launch @@ -1199,34 +1199,34 @@ namespace BRAIN // launcher_Yoga // ob_mp_bed_low // ob_mp_bed_med - inline Void ReactivateNamedWorldBrainsWaitingTillOutOfRange(String scriptName) { return _i(0x6D6840CEE8845831,scriptName); } // 0x6D6840CEE8845831 0x949FE53E b323 - // Looks like a cousin of above function _6D6840CEE8845831 as it was found among them. Must be similar + inline Void ReactivateNamedWorldBrainsWaitingTillOutOfRange(const char* scriptName) { return _i(0x6D6840CEE8845831,scriptName); } // 0x6D6840CEE8845831 0x949FE53E b323 + // 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" - inline Void ReactivateNamedObjectBrainsWaitingTillOutOfRange(String scriptName) { return _i(0x6E91B04E08773030,scriptName); } // 0x6E91B04E08773030 0x29CE8BAA b323 + inline Void ReactivateNamedObjectBrainsWaitingTillOutOfRange(const char* scriptName) { return _i(0x6E91B04E08773030,scriptName); } // 0x6E91B04E08773030 0x29CE8BAA b323 } namespace CAM { - // ease - smooth transition between the camera's positions + // 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. inline Void RenderScriptCams(BOOL render, BOOL ease, int easeTime, BOOL p3, BOOL p4, Any p5) { return _i(0x7E5B515DB0636FC,render, ease, easeTime, p3, p4, p5); } // 0x7E5B515DB0636FC 0x74337969 b323 - // This native makes the gameplay camera zoom into first person/third person with a special effect. + // This native makes the gameplay camera zoom into first person/third person with a special effect. inline Void StopRenderingScriptCamsUsingCatchUp(BOOL render, float p1, int p2, Any p3) { return _i(0xC819F3CBB62BF692,render, p1, p2, p3); } // 0xC819F3CBB62BF692 0xD3C08183 b323 - // "DEFAULT_SCRIPTED_CAMERA" + // "DEFAULT_SCRIPTED_CAMERA" // "DEFAULT_ANIMATED_CAMERA" // "DEFAULT_SPLINE_CAMERA" // "DEFAULT_SCRIPTED_FLY_CAMERA" // "TIMED_SPLINE_CAMERA" - inline Cam CreateCam(String camName, BOOL p1) { return _i(0xC3981DCE61D9E13F,camName, p1); } // 0xC3981DCE61D9E13F 0xE9BF2A7D b323 - // camName is always set to "DEFAULT_SCRIPTED_CAMERA" in Rockstar's scripts. + inline Cam CreateCam(const char* camName, BOOL p1) { return _i(0xC3981DCE61D9E13F,camName, p1); } // 0xC3981DCE61D9E13F 0xE9BF2A7D b323 + // camName is always set to "DEFAULT_SCRIPTED_CAMERA" in Rockstar's scripts. // ------------ // Camera names found in the b617d scripts: // "DEFAULT_ANIMATED_CAMERA" @@ -1235,136 +1235,136 @@ namespace CAM // "DEFAULT_SPLINE_CAMERA" // ------------ // Side Note: It seems p8 is basically to represent what would be the bool p1 within CreateCam native. As well as the p9 since it's always 2 in scripts seems to represent what would be the last param within SetCamRot native which normally would be 2. - inline Cam CreateCamWithParams(String camName, float posX, float posY, float posZ, float rotX, float rotY, float rotZ, float fov, BOOL p8, int p9) { return _i(0xB51194800B257161,camName, posX, posY, posZ, rotX, rotY, rotZ, fov, p8, p9); } // 0xB51194800B257161 0x23B02F15 b323 - // + inline Cam CreateCamWithParams(const char* camName, float posX, float posY, float posZ, float rotX, float rotY, float rotZ, float fov, BOOL p8, int p9) { return _i(0xB51194800B257161,camName, posX, posY, posZ, rotX, rotY, rotZ, fov, p8, p9); } // 0xB51194800B257161 0x23B02F15 b323 + // inline Cam CreateCamera(Hash camHash, BOOL p1) { return _i(0x5E3CF89C6BCCA67D,camHash, p1); } // 0x5E3CF89C6BCCA67D 0x5D6739AE b323 - // p9 uses 2 by default + // p9 uses 2 by default inline Cam CreateCameraWithParams(Hash camHash, float posX, float posY, float posZ, float rotX, float rotY, float rotZ, float fov, BOOL p8, Any p9) { return _i(0x6ABFA3E16460F22D,camHash, posX, posY, posZ, rotX, rotY, rotZ, fov, p8, p9); } // 0x6ABFA3E16460F22D 0x0688BE9A b323 - // BOOL param indicates whether the cam should be destroyed if it belongs to the calling script. + // BOOL param indicates whether the cam should be destroyed if it belongs to the calling script. inline Void DestroyCam(Cam cam, BOOL bScriptHostCam) { return _i(0x865908C81A2C22E9,cam, bScriptHostCam); } // 0x865908C81A2C22E9 0xC39302BD b323 - // BOOL param indicates whether the cam should be destroyed if it belongs to the calling script. + // BOOL param indicates whether the cam should be destroyed if it belongs to the calling script. inline Void DestroyAllCams(BOOL bScriptHostCam) { return _i(0x8E5FB15663F79120,bScriptHostCam); } // 0x8E5FB15663F79120 0x10C151CE b323 - // Returns whether or not the passed camera handle exists. + // Returns whether or not the passed camera handle exists. inline BOOL DoesCamExist(Cam cam) { return _i(0xA7A932170592B50E,cam); } // 0xA7A932170592B50E 0x1EF89DC0 b323 - // Set camera as active/inactive. + // Set camera as active/inactive. inline Void SetCamActive(Cam cam, BOOL active) { return _i(0x26FB97D0A425F84,cam, active); } // 0x26FB97D0A425F84 0x064659C2 b323 - // Returns whether or not the passed camera handle is active. + // Returns whether or not the passed camera handle is active. inline BOOL IsCamActive(Cam cam) { return _i(0xDFB2B516207D3534,cam); } // 0xDFB2B516207D3534 0x4B58F177 b323 - // + // inline BOOL IsCamRendering(Cam cam) { return _i(0x2EC0AF5C5A49B7A,cam); } // 0x2EC0AF5C5A49B7A 0x6EC6B5B2 b323 - // + // inline Cam GetRenderingCam() { return _i(0x5234F9F10919EABA); } // 0x5234F9F10919EABA 0x0FCF4DF1 b323 - // + // inline Vector3 GetCamCoord(Cam cam) { return _i(0xBAC038F7459AE5AE,cam); } // 0xBAC038F7459AE5AE 0x7C40F09C b323 - // The last parameter, as in other "ROT" methods, is usually 2. + // The last parameter, as in other "ROT" methods, is usually 2. inline Vector3 GetCamRot(Cam cam, int rotationOrder) { return _i(0x7D304C1C955E3E12,cam, rotationOrder); } // 0x7D304C1C955E3E12 0xDAC84C9F b323 - // + // inline float GetCamFov(Cam cam) { return _i(0xC3330A45CCCDB26A,cam); } // 0xC3330A45CCCDB26A 0xD6E9FCF5 b323 - // + // inline float GetCamNearClip(Cam cam) { return _i(0xC520A34DAFBF24B1,cam); } // 0xC520A34DAFBF24B1 0xCFCD35EE b323 - // + // inline float GetCamFarClip(Cam cam) { return _i(0xB60A9CFEB21CA6AA,cam); } // 0xB60A9CFEB21CA6AA 0x09F119B8 b323 - // + // inline float GetCamNearDof(Cam cam) { return _i(0xC2612D223D915A1C,cam); } // 0xC2612D223D915A1C b2699 - // + // inline float GetCamFarDof(Cam cam) { return _i(0x255F8DAFD540D397,cam); } // 0x255F8DAFD540D397 0x98C5CCE9 b323 - // + // inline float GetCamDofStrength(Cam cam) { return _i(0x6D153C0B99B6128,cam); } // 0x6D153C0B99B6128 b2699 - // + // inline Void SetCamParams(Cam cam, float posX, float posY, float posZ, float rotX, float rotY, float rotZ, float fieldOfView, Any p8, int p9, int p10, int p11) { return _i(0xBFD8727AEA3CCEBA,cam, posX, posY, posZ, rotX, rotY, rotZ, fieldOfView, p8, p9, p10, p11); } // 0xBFD8727AEA3CCEBA 0x2167CEBF b323 - // Sets the position of the cam. + // Sets the position of the cam. inline Void SetCamCoord(Cam cam, float posX, float posY, float posZ) { return _i(0x4D41783FB745E42E,cam, posX, posY, posZ); } // 0x4D41783FB745E42E 0x7A8053AF b323 - // Sets the rotation of the cam. + // Sets the rotation of the cam. // Last parameter unknown. // // Last parameter seems to always be set to 2. inline Void SetCamRot(Cam cam, float rotX, float rotY, float rotZ, int rotationOrder) { return _i(0x85973643155D0B07,cam, rotX, rotY, rotZ, rotationOrder); } // 0x85973643155D0B07 0xEE38B3C1 b323 - // Sets the field of view of the cam. + // Sets the field of view of the cam. // --------------------------------------------- // Min: 1.0f // Max: 130.0f inline Void SetCamFov(Cam cam, float fieldOfView) { return _i(0xB13C14F66A00D047,cam, fieldOfView); } // 0xB13C14F66A00D047 0xD3D5D74F b323 - // + // inline Void SetCamNearClip(Cam cam, float nearClip) { return _i(0xC7848EFCCC545182,cam, nearClip); } // 0xC7848EFCCC545182 0x46DB13B1 b323 - // + // inline Void SetCamFarClip(Cam cam, float farClip) { return _i(0xAE306F2A904BF86E,cam, farClip); } // 0xAE306F2A904BF86E 0x0D23E381 b323 - // + // inline Void ForceCamFarClip(Cam cam, float p1) { return _i(0xAABD62873FFB1A33,cam, p1); } // 0xAABD62873FFB1A33 b2189 - // + // inline Void SetCamMotionBlurStrength(Cam cam, float strength) { return _i(0x6F0F77FBA9A8F2E6,cam, strength); } // 0x6F0F77FBA9A8F2E6 0xFD6E0D67 b323 - // + // inline Void SetCamNearDof(Cam cam, float nearDOF) { return _i(0x3FA4BF0A7AB7DE2C,cam, nearDOF); } // 0x3FA4BF0A7AB7DE2C 0xF28254DF b323 - // + // inline Void SetCamFarDof(Cam cam, float farDOF) { return _i(0xEDD91296CD01AEE0,cam, farDOF); } // 0xEDD91296CD01AEE0 0x58515E8E b323 - // + // inline Void SetCamDofStrength(Cam cam, float dofStrength) { return _i(0x5EE29B4D7D5DF897,cam, dofStrength); } // 0x5EE29B4D7D5DF897 0x3CC4EB3F b323 - // + // inline Void SetCamDofPlanes(Cam cam, float p1, float p2, float p3, float p4) { return _i(0x3CF48F6F96E749DC,cam, p1, p2, p3, p4); } // 0x3CF48F6F96E749DC 0xAD6C2B8F b323 - // + // inline Void SetCamUseShallowDofMode(Cam cam, BOOL toggle) { return _i(0x16A96863A17552BB,cam, toggle); } // 0x16A96863A17552BB 0x8306C256 b323 - // + // inline Void SetUseHiDof() { return _i(0xA13B0222F3D94A94); } // 0xA13B0222F3D94A94 0x8BBF2950 b323 - // Only used in R* Script fm_mission_controller_2020 + // Only used in R* Script fm_mission_controller_2020 inline Void SetUseHiDofOnSyncedSceneThisUpdate() { return _i(0x731A880555DA3647); } // 0x731A880555DA3647 b2699 - // + // inline Void SetCamDofOverriddenFocusDistance(Cam camera, float p1) { return _i(0xF55E4046F6F831DC,camera, p1); } // 0xF55E4046F6F831DC b323 - // + // inline Void SetCamDofOverriddenFocusDistanceBlendLevel(Any p0, float p1) { return _i(0xE111A7C0D200CBC5,p0, p1); } // 0xE111A7C0D200CBC5 b323 - // This native has its name defined inside its codE + // This native has its name defined inside its codE // inline Void SetCamDofFnumberOfLens(Cam camera, float p1) { return _i(0x7DD234D6F3914C5B,camera, p1); } // 0x7DD234D6F3914C5B b323 - // Native name labeled within its code + // Native name labeled within its code inline Void SetCamDofFocalLengthMultiplier(Cam camera, float multiplier) { return _i(0x47B595D60664CFFA,camera, multiplier); } // 0x47B595D60664CFFA b1011 - // This native has a name defined inside its code + // This native has a name defined inside its code inline Void SetCamDofFocusDistanceBias(Cam camera, float p1) { return _i(0xC669EEA5D031B7DE,camera, p1); } // 0xC669EEA5D031B7DE b323 - // This native has a name defined inside its code + // This native has a name defined inside its code inline Void SetCamDofMaxNearInFocusDistance(Cam camera, float p1) { return _i(0xC3654A441402562D,camera, p1); } // 0xC3654A441402562D b323 - // This native has a name defined inside its code + // This native has a name defined inside its code inline Void SetCamDofMaxNearInFocusDistanceBlendLevel(Cam camera, float p1) { return _i(0x2C654B4943BDDF7C,camera, p1); } // 0x2C654B4943BDDF7C b323 - // This native has a name defined inside its code + // This native has a name defined inside its code inline Void SetCamDofShouldKeepLookAtTargetInFocus(Cam camera, BOOL state) { return _i(0x7CF3AF51DCFE4108,camera, state); } // 0x7CF3AF51DCFE4108 b2944 - // Last param determines if its relative to the Entity + // Last param determines if its relative to the Entity inline Void AttachCamToEntity(Cam cam, Entity entity, float xOffset, float yOffset, float zOffset, BOOL isRelative) { return _i(0xFEDB7D269E8C60E3,cam, entity, xOffset, yOffset, zOffset, isRelative); } // 0xFEDB7D269E8C60E3 0xAD7C45F6 b323 - // + // inline Void AttachCamToPedBone(Cam cam, Ped ped, int boneIndex, float x, float y, float z, BOOL heading) { return _i(0x61A3DBA14AB7F411,cam, ped, boneIndex, x, y, z, heading); } // 0x61A3DBA14AB7F411 0x506BB35C b323 - // + // inline Void HardAttachCamToPedBone(Cam cam, Ped ped, int boneIndex, float p3, float p4, float p5, float p6, float p7, float p8, BOOL p9) { return _i(0x149916F50C34A40D,cam, ped, boneIndex, p3, p4, p5, p6, p7, p8, p9); } // 0x149916F50C34A40D b1180 - // Example from am_mp_drone script: + // Example from am_mp_drone script: // // CAM::HARD_AttachCamToEntity(Local_190.f_169, NETWORK::NetToObj(Local_190.f_159), 0f, 0f, 180f, Var0, 1); inline Void HardAttachCamToEntity(Cam cam, Entity entity, float xRot, float yRot, float zRot, float xOffset, float yOffset, float zOffset, BOOL isRelative) { return _i(0x202A5ED9CE01D6E7,cam, entity, xRot, yRot, zRot, xOffset, yOffset, zOffset, isRelative); } // 0x202A5ED9CE01D6E7 b2189 - // This native works with vehicles only. Bone indexes are usually given by this native GetEntityBoneIndexByName. + // This native works with vehicles only. Bone indexes are usually given by this native GetEntityBoneIndexByName. inline Void AttachCamToVehicleBone(Cam cam, Vehicle vehicle, int boneIndex, BOOL relativeRotation, float rotX, float rotY, float rotZ, float offsetX, float offsetY, float offsetZ, BOOL fixedDirection) { return _i(0x8DB3F12A02CAEF72,cam, vehicle, boneIndex, relativeRotation, rotX, rotY, rotZ, offsetX, offsetY, offsetZ, fixedDirection); } // 0x8DB3F12A02CAEF72 b1290 - // + // inline Void DetachCam(Cam cam) { return _i(0xA2FABBE87F4BAD82,cam); } // 0xA2FABBE87F4BAD82 0xF4FBF14A b323 - // The native seems to only be called once. + // The native seems to only be called once. // // The native is used as so, // CAM::SetCamInheritRollVehicle(l_544, getElem(2, &l_525, 4)); // In the exile1 script. inline Void SetCamInheritRollVehicle(Cam cam, BOOL p1) { return _i(0x45F1DE9C34B93AE6,cam, p1); } // 0x45F1DE9C34B93AE6 0xE4BD5342 b323 - // + // inline Void PointCamAtCoord(Cam cam, float x, float y, float z) { return _i(0xF75497BB865F0803,cam, x, y, z); } // 0xF75497BB865F0803 0x914BC21A b323 - // p5 always seems to be 1 i.e TRUE + // p5 always seems to be 1 i.e TRUE inline Void PointCamAtEntity(Cam cam, Entity entity, float p2, float p3, float p4, BOOL p5) { return _i(0x5640BFF86B16E8DC,cam, entity, p2, p3, p4, p5); } // 0x5640BFF86B16E8DC 0x7597A0F7 b323 - // 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. + // 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. inline Void PointCamAtPedBone(Cam cam, Ped ped, int boneIndex, float x, float y, float z, BOOL p6) { return _i(0x68B2B5F33BA63C41,cam, ped, boneIndex, x, y, z, p6); } // 0x68B2B5F33BA63C41 0x09F47049 b323 - // + // inline Void StopCamPointing(Cam cam) { return _i(0xF33AB75780BA57DE,cam); } // 0xF33AB75780BA57DE 0x5435F6A5 b323 - // Allows you to aim and shoot at the direction the camera is facing. + // Allows you to aim and shoot at the direction the camera is facing. inline Void SetCamAffectsAiming(Cam cam, BOOL toggle) { return _i(0x8C1DC7770C51DC8D,cam, toggle); } // 0x8C1DC7770C51DC8D 0x0C74F9AF b323 - // Rotates the radar to match the camera's Z rotation + // Rotates the radar to match the camera's Z rotation inline Void SetCamControlsMiniMapHeading(Cam cam, BOOL toggle) { return _i(0x661B5C8654ADD825,cam, toggle); } // 0x661B5C8654ADD825 0xE1A0B2F1 b323 - // When set to true shadows appear more smooth but less detailed. + // When set to true shadows appear more smooth but less detailed. // Set to false by default. inline Void SetCamIsInsideVehicle(Cam cam, BOOL toggle) { return _i(0xA2767257A320FC82,cam, toggle); } // 0xA2767257A320FC82 b323 - // + // inline Void AllowMotionBlurDecay(Any p0, BOOL p1) { return _i(0x271017B9BA825366,p0, p1); } // 0x271017B9BA825366 0x43220969 b323 - // NOTE: Debugging functions are not present in the retail version of the game. - inline Void SetCamDebugName(Cam camera, String name) { return _i(0x1B93E0107865DD40,camera, name); } // 0x1B93E0107865DD40 0x9B00DF3F b323 - // + // NOTE: Debugging functions are not present in the retail version of the game. + inline Void SetCamDebugName(Cam camera, const char* name) { return _i(0x1B93E0107865DD40,camera, name); } // 0x1B93E0107865DD40 0x9B00DF3F b323 + // inline Cam GetDebugCam() { return _i(0x77C3CEC46BE286F6); } // 0x77C3CEC46BE286F6 b2372 - // 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. + // 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 // @@ -1372,48 +1372,48 @@ namespace CAM // // p9 != 0 seems to override the rotation/pitch (bool?) inline Void AddCamSplineNode(Cam camera, float x, float y, float z, float xRot, float yRot, float zRot, int length, int smoothingStyle, int rotationOrder) { return _i(0x8609C75EC438FB3B,camera, x, y, z, xRot, yRot, zRot, length, smoothingStyle, rotationOrder); } // 0x8609C75EC438FB3B 0xAD3C7EAA b323 - // p0 is the spline camera to which the node is being added. + // p0 is the spline camera to which the node is being added. // p1 is the camera used to create the node. // p3 is always 3 in scripts. It might be smoothing style or rotation order. inline Void AddCamSplineNodeUsingCameraFrame(Cam cam, Cam cam2, int length, int p3) { return _i(0xA9F2A468B328E74,cam, cam2, length, p3); } // 0xA9F2A468B328E74 0x30510511 b323 - // p0 is the spline camera to which the node is being added. + // p0 is the spline camera to which the node is being added. // p1 is the camera used to create the node. // p3 is always 3 in scripts. It might be smoothing style or rotation order. inline Void AddCamSplineNodeUsingCamera(Cam cam, Cam cam2, int length, int p3) { return _i(0xFB82563989CF4FB,cam, cam2, length, p3); } // 0xFB82563989CF4FB 0xBA6C085B b323 - // p2 is always 2 in scripts. It might be smoothing style or rotation order. + // p2 is always 2 in scripts. It might be smoothing style or rotation order. inline Void AddCamSplineNodeUsingGameplayFrame(Cam cam, int length, int p2) { return _i(0x609278246A29CA34,cam, length, p2); } // 0x609278246A29CA34 0xB4737F03 b323 - // + // inline Void SetCamSplinePhase(Cam cam, float p1) { return _i(0x242B5874F0A4E052,cam, p1); } // 0x242B5874F0A4E052 0xF0AED233 b323 - // Can use this with SetCamSplinePhase to set the float it this native returns. + // Can use this with SetCamSplinePhase to set the float it this native returns. // // (returns 1.0f when no nodes has been added, reached end of non existing spline) inline float GetCamSplinePhase(Cam cam) { return _i(0xB5349E36C546509A,cam); } // 0xB5349E36C546509A 0x39784DD9 b323 - // 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. + // 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. inline float GetCamSplineNodePhase(Cam cam) { return _i(0xD9D0E694C8282C96,cam); } // 0xD9D0E694C8282C96 0x7B9522F6 b323 - // I named p1 as timeDuration as it is obvious. I'm assuming tho it is ran in ms(Milliseconds) as usual. + // I named p1 as timeDuration as it is obvious. I'm assuming tho it is ran in ms(Milliseconds) as usual. inline Void SetCamSplineDuration(Cam cam, int timeDuration) { return _i(0x1381539FEE034CDA,cam, timeDuration); } // 0x1381539FEE034CDA 0x3E91FC8A b323 - // + // inline Void SetCamSplineSmoothingStyle(Cam cam, int smoothingStyle) { return _i(0xD1B0F412F109EA5D,cam, smoothingStyle); } // 0xD1B0F412F109EA5D 0x15E141CE b323 - // + // inline int GetCamSplineNodeIndex(Cam cam) { return _i(0xB22B17DF858716A6,cam); } // 0xB22B17DF858716A6 0xF8AEB6BD b323 - // + // inline Void SetCamSplineNodeEase(Cam cam, int easingFunction, int p2, float p3) { return _i(0x83B8201ED82A9A2D,cam, easingFunction, p2, p3); } // 0x83B8201ED82A9A2D 0x21D275DA b323 - // + // inline Void SetCamSplineNodeVelocityScale(Cam cam, int p1, float scale) { return _i(0xA6385DEB180F319F,cam, p1, scale); } // 0xA6385DEB180F319F 0xA3BD9E94 b323 - // + // inline Void OverrideCamSplineVelocity(Cam cam, int p1, float p2, float p3) { return _i(0x40B62FA033EB0346,cam, p1, p2, p3); } // 0x40B62FA033EB0346 0x326A17E2 b323 - // Max value for p1 is 15. + // Max value for p1 is 15. inline Void OverrideCamSplineMotionBlur(Cam cam, int p1, float p2, float p3) { return _i(0x7DCF7C708D292D55,cam, p1, p2, p3); } // 0x7DCF7C708D292D55 0x633179E6 b323 - // + // inline Void SetCamSplineNodeExtraFlags(Cam cam, int p1, int flags) { return _i(0x7BF1A54AE67AC070,cam, p1, flags); } // 0x7BF1A54AE67AC070 0xC90B2DDC b323 - // + // inline BOOL IsCamSplinePaused(Cam cam) { return _i(0x290F35C0AD97864,cam); } // 0x290F35C0AD97864 0x60B34FF5 b323 - // Previous declaration void SetCamActive_WITH_INTERP(Cam camTo, Cam camFrom, int duration, BOOL easeLocation, BOOL easeRotation) is completely wrong. The last two params are integers not BOOLs... + // Previous declaration void SetCamActive_WITH_INTERP(Cam camTo, Cam camFrom, int duration, BOOL easeLocation, BOOL easeRotation) is completely wrong. The last two params are integers not BOOLs... // inline Void SetCamActiveWithInterp(Cam camTo, Cam camFrom, int duration, int easeLocation, int easeRotation) { return _i(0x9FBDA379383A52A4,camTo, camFrom, duration, easeLocation, easeRotation); } // 0x9FBDA379383A52A4 0x7983E7F0 b323 - // + // inline BOOL IsCamInterpolating(Cam cam) { return _i(0x36F97C908C2B52C,cam); } // 0x36F97C908C2B52C 0x7159CB5D b323 - // Possible shake types (updated b617d): + // Possible shake types (updated b617d): // // DEATH_FAIL_IN_EFFECT_SHAKE // DRUNK_SHAKE @@ -1428,91 +1428,91 @@ namespace CAM // VIBRATE_SHAKE // // Full list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json - inline Void ShakeCam(Cam cam, String type, float amplitude) { return _i(0x6A25241C340D3822,cam, type, amplitude); } // 0x6A25241C340D3822 0x1D4211B0 b323 - // Example from michael2 script. + inline Void ShakeCam(Cam cam, const char* type, float amplitude) { return _i(0x6A25241C340D3822,cam, type, amplitude); } // 0x6A25241C340D3822 0x1D4211B0 b323 + // Example from michael2 script. // // CAM::ANIMATED_ShakeCam(l_5069, "shake_cam_all@", "light", "", 1f); - inline Void AnimatedShakeCam(Cam cam, String p1, String p2, String p3, float amplitude) { return _i(0xA2746EEAE3E577CD,cam, p1, p2, p3, amplitude); } // 0xA2746EEAE3E577CD 0xE1168767 b323 - // + inline Void AnimatedShakeCam(Cam cam, const char* p1, const char* p2, const char* p3, float amplitude) { return _i(0xA2746EEAE3E577CD,cam, p1, p2, p3, amplitude); } // 0xA2746EEAE3E577CD 0xE1168767 b323 + // inline BOOL IsCamShaking(Cam cam) { return _i(0x6B24BFE83A2BE47B,cam); } // 0x6B24BFE83A2BE47B 0x0961FD9B b323 - // + // inline Void SetCamShakeAmplitude(Cam cam, float amplitude) { return _i(0xD93DB43B82BC0D00,cam, amplitude); } // 0xD93DB43B82BC0D00 0x60FF6382 b323 - // + // inline Void StopCamShaking(Cam cam, BOOL p1) { return _i(0xBDECF64367884AC3,cam, p1); } // 0xBDECF64367884AC3 0x40D0EB87 b323 - // CAM::ShakeScriptGlobal("HAND_SHAKE", 0.2); + // CAM::ShakeScriptGlobal("HAND_SHAKE", 0.2); // // Full list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json - inline Void ShakeScriptGlobal(String p0, float p1) { return _i(0xF4C8CF9E353AFECA,p0, p1); } // 0xF4C8CF9E353AFECA 0x2B0F05CD b323 - // CAM::ANIMATED_ShakeScriptGlobal("ShakeCam_medium", "medium", "", 0.5f); + inline Void ShakeScriptGlobal(const char* p0, float p1) { return _i(0xF4C8CF9E353AFECA,p0, p1); } // 0xF4C8CF9E353AFECA 0x2B0F05CD b323 + // CAM::ANIMATED_ShakeScriptGlobal("ShakeCam_medium", "medium", "", 0.5f); // // Full list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json - inline Void AnimatedShakeScriptGlobal(String p0, String p1, String p2, float p3) { return _i(0xC2EAE3FB8CDBED31,p0, p1, p2, p3); } // 0xC2EAE3FB8CDBED31 0xCB75BD9C b323 - // In drunk_controller.c4, sub_309 + inline Void AnimatedShakeScriptGlobal(const char* p0, const char* p1, const char* p2, float p3) { return _i(0xC2EAE3FB8CDBED31,p0, p1, p2, p3); } // 0xC2EAE3FB8CDBED31 0xCB75BD9C b323 + // In drunk_controller.c4, sub_309 // if (CAM::IsScriptGlobalShaking()) { // CAM::StopScriptGlobalShaking(0); // } inline BOOL IsScriptGlobalShaking() { return _i(0xC912AF078AF19212); } // 0xC912AF078AF19212 0x6AEFE6A5 b323 - // In drunk_controller.c4, sub_309 + // In drunk_controller.c4, sub_309 // if (CAM::IsScriptGlobalShaking()) { // CAM::StopScriptGlobalShaking(0); // } inline Void StopScriptGlobalShaking(BOOL p0) { return _i(0x1C9D7949FA533490,p0); } // 0x1C9D7949FA533490 0x26FCFB96 b323 - // p1: 0..16 + // p1: 0..16 inline Void TriggerVehiclePartBrokenCameraShake(Vehicle vehicle, int p1, float p2) { return _i(0x5D96CFB59DA076A0,vehicle, p1, p2); } // 0x5D96CFB59DA076A0 b2060 - // Atleast one time in a script for the zRot Rockstar uses GetEntityHeading to help fill the parameter. + // Atleast one time in a script for the zRot Rockstar uses GetEntityHeading 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 - inline BOOL PlayCamAnim(Cam cam, String animName, String animDictionary, float x, float y, float z, float xRot, float yRot, float zRot, BOOL p9, int p10) { return _i(0x9A2D0FB2E7852392,cam, animName, animDictionary, x, y, z, xRot, yRot, zRot, p9, p10); } // 0x9A2D0FB2E7852392 0xBCEFB87E b323 - // - inline BOOL IsCamPlayingAnim(Cam cam, String animName, String animDictionary) { return _i(0xC90621D8A0CEECF2,cam, animName, animDictionary); } // 0xC90621D8A0CEECF2 0xB998CB49 b323 - // + inline BOOL PlayCamAnim(Cam cam, const char* animName, const char* animDictionary, float x, float y, float z, float xRot, float yRot, float zRot, BOOL p9, int p10) { return _i(0x9A2D0FB2E7852392,cam, animName, animDictionary, x, y, z, xRot, yRot, zRot, p9, p10); } // 0x9A2D0FB2E7852392 0xBCEFB87E b323 + // + inline BOOL IsCamPlayingAnim(Cam cam, const char* animName, const char* animDictionary) { return _i(0xC90621D8A0CEECF2,cam, animName, animDictionary); } // 0xC90621D8A0CEECF2 0xB998CB49 b323 + // inline Void SetCamAnimCurrentPhase(Cam cam, float phase) { return _i(0x4145A4C44FF3B5A6,cam, phase); } // 0x4145A4C44FF3B5A6 0x3CB1D17F b323 - // + // inline float GetCamAnimCurrentPhase(Cam cam) { return _i(0xA10B2DB49E92A6B0,cam); } // 0xA10B2DB49E92A6B0 0x345F72D0 b323 - // Examples: + // Examples: // // CAM::PlaySynchronizedCamAnim(l_2734, NETWORK::NetworkGetLocalSceneFromNetworkId(l_2739), "PLAYER_EXIT_L_CAM", "mp_doorbell"); // // CAM::PlaySynchronizedCamAnim(l_F0D[7/*1*/], l_F4D[15/*1*/], "ah3b_attackheli_cam2", "missheistfbi3b_helicrash"); - inline BOOL PlaySynchronizedCamAnim(Any p0, Any p1, String animName, String animDictionary) { return _i(0xE32EFE9AB4A9AA0C,p0, p1, animName, animDictionary); } // 0xE32EFE9AB4A9AA0C 0x9458459E b323 - // + inline BOOL PlaySynchronizedCamAnim(Any p0, Any p1, const char* animName, const char* animDictionary) { return _i(0xE32EFE9AB4A9AA0C,p0, p1, animName, animDictionary); } // 0xE32EFE9AB4A9AA0C 0x9458459E b323 + // inline Void SetFlyCamHorizontalResponse(Cam cam, float p1, float p2, float p3) { return _i(0x503F5920162365B2,cam, p1, p2, p3); } // 0x503F5920162365B2 0x56F9ED27 b323 - // + // inline Void SetFlyCamVerticalResponse(Cam cam, float p1, float p2, float p3) { return _i(0xE827B9382CFB41BA,cam, p1, p2, p3); } // 0xE827B9382CFB41BA b791 - // + // inline Void SetFlyCamMaxHeight(Cam cam, float height) { return _i(0xF9D02130ECDD1D77,cam, height); } // 0xF9D02130ECDD1D77 0x71570DBA b323 - // + // inline Void SetFlyCamCoordAndConstrain(Cam cam, float x, float y, float z) { return _i(0xC91C6C55199308CA,cam, x, y, z); } // 0xC91C6C55199308CA 0x60B345DE b323 - // + // inline Void SetFlyCamVerticalControlsThisUpdate(Cam cam) { return _i(0xC8B5C4A79CC18B94,cam); } // 0xC8B5C4A79CC18B94 0x44473EFC b323 - // + // inline BOOL WasFlyCamConstrainedOnPreviousUdpate(Cam cam) { return _i(0x5C48A1D6E3B33179,cam); } // 0x5C48A1D6E3B33179 0xDA931D65 b323 - // + // inline BOOL IsScreenFadedOut() { return _i(0xB16FCE9DDC7BA182); } // 0xB16FCE9DDC7BA182 0x9CAA05FA b323 - // + // inline BOOL IsScreenFadedIn() { return _i(0x5A859503B0C08678); } // 0x5A859503B0C08678 0x4F37276D b323 - // + // inline BOOL IsScreenFadingOut() { return _i(0x797AC7CB535BA28F); } // 0x797AC7CB535BA28F 0x79275A57 b323 - // + // inline BOOL IsScreenFadingIn() { return _i(0x5C544BC6C57AC575); } // 0x5C544BC6C57AC575 0xC7C82800 b323 - // Fades the screen in. + // Fades the screen in. // // duration: The time the fade should take, in milliseconds. inline Void DoScreenFadeIn(int duration) { return _i(0xD4E8E24955024033,duration); } // 0xD4E8E24955024033 0x66C1BDEE b323 - // Fades the screen out. + // Fades the screen out. // // duration: The time the fade should take, in milliseconds. inline Void DoScreenFadeOut(int duration) { return _i(0x891B5B39AC6302AF,duration); } // 0x891B5B39AC6302AF 0x89D01805 b323 - // + // inline Void SetWidescreenBorders(BOOL p0, int p1) { return _i(0xDCD4EA924F42D01A,p0, p1); } // 0xDCD4EA924F42D01A 0x1A75DC9A b323 - // + // inline BOOL AreWidescreenBordersActive() { return _i(0x4879E4FE39074CDF); } // 0x4879E4FE39074CDF b372 - // + // inline Vector3 GetGameplayCamCoord() { return _i(0x14D6F5678D8F1B37); } // 0x14D6F5678D8F1B37 0x9388CF79 b323 - // p0 dosen't seem to change much, I tried it with 0, 1, 2: + // 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 @@ -1523,35 +1523,35 @@ namespace CAM // 2-Roll(Y): -0.000002 // 2-Yaw(Z): -43.886467 inline Vector3 GetGameplayCamRot(int rotationOrder) { return _i(0x837765A25378F0BB,rotationOrder); } // 0x837765A25378F0BB 0x13A010B5 b323 - // + // inline float GetGameplayCamFov() { return _i(0x65019750A0324133); } // 0x65019750A0324133 0x4D6B3BFA b323 - // 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. + // 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. inline Void SetGameplayCamMotionBlurScalingThisUpdate(float p0) { return _i(0x487A82C650EB7799,p0); } // 0x487A82C650EB7799 0xA6E73135 b323 - // 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. + // 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. inline Void SetGameplayCamMaxMotionBlurStrengthThisUpdate(float p0) { return _i(0x225778816FDC28C,p0); } // 0x225778816FDC28C 0x1126E37C b323 - // + // inline float GetGameplayCamRelativeHeading() { return _i(0x743607648ADD4587); } // 0x743607648ADD4587 0xCAF839C2 b323 - // Sets the camera position relative to heading in float from -360 to +360. + // Sets the camera position relative to heading in float from -360 to +360. // // Heading is alwyas 0 in aiming camera. inline Void SetGameplayCamRelativeHeading(float heading) { return _i(0xB4EC2312F4E5B1F1,heading); } // 0xB4EC2312F4E5B1F1 0x20C6217C b323 - // + // inline float GetGameplayCamRelativePitch() { return _i(0x3A6867B4845BEDA2); } // 0x3A6867B4845BEDA2 0xFC5A4946 b323 - // This native sets the camera's pitch (rotation on the x-axis). + // This native sets the camera's pitch (rotation on the x-axis). inline Void SetGameplayCamRelativePitch(float angle, float scalingFactor) { return _i(0x6D0858B8EDFD2B7D,angle, scalingFactor); } // 0x6D0858B8EDFD2B7D 0x6381B963 b323 - // + // inline Void ResetGameplayCamFullAttachParentTransformTimer() { return _i(0x7295C203DD659DFE); } // 0x7295C203DD659DFE b2699 - // + // inline Void ForceCameraRelativeHeadingAndPitch(float roll, float pitch, float yaw) { return _i(0x48608C3464F58AB4,roll, pitch, yaw); } // 0x48608C3464F58AB4 b505 - // + // inline Void ForceBonnetCameraRelativeHeadingAndPitch(float p0, float p1) { return _i(0x28B022A17B068A3A,p0, p1); } // 0x28B022A17B068A3A b1734 - // Does nothing + // Does nothing inline Void SetFirstPersonShooterCameraHeading(float yaw) { return _i(0x103991D4A307D472,yaw); } // 0x103991D4A307D472 b323 - // + // inline Void SetFirstPersonShooterCameraPitch(float pitch) { return _i(0x759E13EBC1C15C5A,pitch); } // 0x759E13EBC1C15C5A b323 - // + // inline Void SetScriptedCameraIsFirstPersonThisFrame(BOOL p0) { return _i(0x469F2ECDEC046337,p0); } // 0x469F2ECDEC046337 b323 - // Possible shake types (updated b617d): + // Possible shake types (updated b617d): // // DEATH_FAIL_IN_EFFECT_SHAKE // DRUNK_SHAKE @@ -1566,48 +1566,48 @@ namespace CAM // VIBRATE_SHAKE // // Full list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json - inline Void ShakeGameplayCam(String shakeName, float intensity) { return _i(0xFD55E49555E017CF,shakeName, intensity); } // 0xFD55E49555E017CF 0xF2EFE660 b323 - // + inline Void ShakeGameplayCam(const char* shakeName, float intensity) { return _i(0xFD55E49555E017CF,shakeName, intensity); } // 0xFD55E49555E017CF 0xF2EFE660 b323 + // inline BOOL IsGameplayCamShaking() { return _i(0x16C090630DF1F89); } // 0x16C090630DF1F89 0x3457D681 b323 - // 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. + // 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. inline Void SetGameplayCamShakeAmplitude(float amplitude) { return _i(0xA87E00932DB4D85D,amplitude); } // 0xA87E00932DB4D85D 0x9219D44A b323 - // + // inline Void StopGameplayCamShaking(BOOL p0) { return _i(0xEF93E9F3D08C178,p0); } // 0xEF93E9F3D08C178 0xFD569E4E b323 - // Forces gameplay cam to specified ped as if you were the ped or spectating it + // Forces gameplay cam to specified ped as if you were the ped or spectating it inline Void SetGameplayCamFollowPedThisUpdate(Ped ped) { return _i(0x8BBACBF51DA047A8,ped); } // 0x8BBACBF51DA047A8 0x7D3007A2 b323 - // Examples when this function will return 0 are: + // 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. inline BOOL IsGameplayCamRendering() { return _i(0x39B5D1B10383F0C8); } // 0x39B5D1B10383F0C8 0x0EF276DA b323 - // + // inline BOOL IsInterpolatingFromScriptCams() { return _i(0x3044240D2E0FA842); } // 0x3044240D2E0FA842 0xC0B00C20 b323 - // + // inline BOOL IsInterpolatingToScriptCams() { return _i(0x705A276EBFF3133D); } // 0x705A276EBFF3133D 0x60C23785 b323 - // + // inline Void SetGameplayCamAltitudeFovScalingState(BOOL p0) { return _i(0xDB90C6CCA48940F1,p0); } // 0xDB90C6CCA48940F1 0x20BFF6E5 b323 - // Shows the crosshair even if it wouldn't show normally. Only works for one frame, so make sure to call it repeatedly. + // Shows the crosshair even if it wouldn't show normally. Only works for one frame, so make sure to call it repeatedly. inline Void DisableGameplayCamAltitudeFovScalingThisUpdate() { return _i(0xEA7F0AD7E9BA676F); } // 0xEA7F0AD7E9BA676F 0xA61FF9AC b323 - // + // inline BOOL IsGameplayCamLookingBehind() { return _i(0x70FDA869F3317EA9); } // 0x70FDA869F3317EA9 0x33C83F17 b323 - // + // inline Void SetGameplayCamIgnoreEntityCollisionThisUpdate(Entity entity) { return _i(0x2AED6301F67007D5,entity); } // 0x2AED6301F67007D5 0x2701A9AD b323 - // + // inline Void DisableCamCollisionForObject(Entity entity) { return _i(0x49482F9FCD825AAA,entity); } // 0x49482F9FCD825AAA 0xC4736ED3 b323 - // + // inline Void BypassCameraCollisionBuoyancyTestThisUpdate() { return _i(0xA7092AFE81944852); } // 0xA7092AFE81944852 b2189 - // + // inline Void SetGameplayCamEntityToLimitFocusOverBoundingSphereThisUpdate(Entity entity) { return _i(0xFD3151CD37EA2245,entity); } // 0xFD3151CD37EA2245 b323 - // Sets some flag on cinematic camera + // Sets some flag on cinematic camera inline Void DisableFirstPersonCameraWaterClippingTestThisUpdate() { return _i(0xB1381B97F70C7B30); } // 0xB1381B97F70C7B30 b1180 - // + // inline Void SetFollowCamIgnoreAttachParentMovementThisUpdate() { return _i(0xDD79DF9F4D26E1C9); } // 0xDD79DF9F4D26E1C9 0x6B0E9D57 b323 - // + // inline BOOL IsSphereVisible(float x, float y, float z, float radius) { return _i(0xE33D59DA70B58FDF,x, y, z, radius); } // 0xE33D59DA70B58FDF 0xDD1329E2 b323 - // + // inline BOOL IsFollowPedCamActive() { return _i(0xC6D3D26810C8E0F9); } // 0xC6D3D26810C8E0F9 0x9F9E856C b323 - // From the scripts: + // From the scripts: // // CAM::SetFollowPedCamThisUpdate("FOLLOW_PED_ATTACHED_TO_ROPE_CAMERA", 0); // CAM::SetFollowPedCamThisUpdate("FOLLOW_PED_ON_EXILE1_LADDER_CAMERA", 1500); @@ -1615,26 +1615,26 @@ namespace CAM // CAM::SetFollowPedCamThisUpdate("FOLLOW_PED_SKY_DIVING_CAMERA", 3000); // CAM::SetFollowPedCamThisUpdate("FOLLOW_PED_SKY_DIVING_FAMILY5_CAMERA", 0); // CAM::SetFollowPedCamThisUpdate("FOLLOW_PED_SKY_DIVING_CAMERA", 0); - inline BOOL SetFollowPedCamThisUpdate(String camName, int p1) { return _i(0x44A113DD6FFC48D1,camName, p1); } // 0x44A113DD6FFC48D1 0x1425F6AC b323 - // + inline BOOL SetFollowPedCamThisUpdate(const char* camName, int p1) { return _i(0x44A113DD6FFC48D1,camName, p1); } // 0x44A113DD6FFC48D1 0x1425F6AC b323 + // inline Void UseScriptCamForAmbientPopulationOriginThisFrame(BOOL p0, BOOL p1) { return _i(0x271401846BD26E92,p0, p1); } // 0x271401846BD26E92 0x8DC53629 b323 - // + // inline Void SetFollowPedCamLadderAlignThisUpdate() { return _i(0xC8391C309684595A); } // 0xC8391C309684595A 0x1F9DE6E4 b323 - // minimum: Degrees between -180f and 180f. + // minimum: Degrees between -180f and 180f. // maximum: Degrees between -180f and 180f. // // Clamps the gameplay camera's current yaw. // // Eg. SetThirdPersonCamRelativeHeadingLimitsThisUpdate(0.0f, 0.0f) will set the horizontal angle directly behind the player. inline Void SetThirdPersonCamRelativeHeadingLimitsThisUpdate(float minimum, float maximum) { return _i(0x8F993D26E0CA5E8E,minimum, maximum); } // 0x8F993D26E0CA5E8E 0x749909AC b323 - // minimum: Degrees between -90f and 90f. + // minimum: Degrees between -90f and 90f. // maximum: Degrees between -90f and 90f. // // Clamps the gameplay camera's current pitch. // // Eg. SetThirdPersonCamRelativePitchLimitsThisUpdate(0.0f, 0.0f) will set the vertical angle directly behind the player. inline Void SetThirdPersonCamRelativePitchLimitsThisUpdate(float minimum, float maximum) { return _i(0xA516C198B7DCA1E1,minimum, maximum); } // 0xA516C198B7DCA1E1 0xFA3A16E7 b323 - // Seems to animate the gameplay camera zoom. + // Seems to animate the gameplay camera zoom. // // Eg. SetThirdPersonCamOrbitDistanceLimitsThisUpdate(1f, 1000f); // will animate the camera zooming in from 1000 meters away. @@ -1650,46 +1650,46 @@ namespace CAM // // CAM::SetThirdPersonCamOrbitDistanceLimitsThisUpdate(1f, 1f); inline Void SetThirdPersonCamOrbitDistanceLimitsThisUpdate(float p0, float distance) { return _i(0xDF2E1F7742402E81,p0, distance); } // 0xDF2E1F7742402E81 0x77340650 b323 - // + // inline float GetThirdPersonCamMinOrbitDistanceSpring() { return _i(0xBC456FB703431785); } // 0xBC456FB703431785 b3095 - // + // inline float GetThirdPersonCamMaxOrbitDistanceSpring() { return _i(0xD4592A16D36673ED); } // 0xD4592A16D36673ED b3095 - // Forces gameplay cam to specified vehicle as if you were in it + // Forces gameplay cam to specified vehicle as if you were in it inline Void SetInVehicleCamStateThisUpdate(Vehicle p0, int p1) { return _i(0xE9EA16D6E54CDCA4,p0, p1); } // 0xE9EA16D6E54CDCA4 0x4B22C5CB b323 - // Disables first person camera for the current frame. + // Disables first person camera for the current frame. // // Found in decompiled scripts: // GRAPHICS::DrawDebugText_2D("Disabling First Person Cam", 0.5, 0.8, 0.0, 0, 0, 255, 255); // CAM::DisableOnFootFirstPersonViewThisUpdate(); inline Void DisableOnFootFirstPersonViewThisUpdate() { return _i(0xDE2EF5DA284CC8DF); } // 0xDE2EF5DA284CC8DF b323 - // + // inline Void DisableFirstPersonFlashEffectThisUpdate() { return _i(0x59424BD75174C9B1); } // 0x59424BD75174C9B1 b323 - // + // inline Void BlockFirstPersonOrientationResetThisUpdate() { return _i(0x9F97DA93681F87EA); } // 0x9F97DA93681F87EA b1734 - // + // inline int GetFollowPedCamZoomLevel() { return _i(0x33E6C8EFD0CD93E9); } // 0x33E6C8EFD0CD93E9 0x57583DF1 b323 - // See viewmode enum in CAM.GetFollowVehicleCamViewMode for return value + // See viewmode enum in CAM.GetFollowVehicleCamViewMode for return value inline int GetFollowPedCamViewMode() { return _i(0x8D4D46230B2C353A); } // 0x8D4D46230B2C353A 0xA65FF946 b323 - // Sets the type of Player camera: + // Sets the type of Player camera: // // 0 - Third Person Close // 1 - Third Person Mid // 2 - Third Person Far // 4 - First Person inline Void SetFollowPedCamViewMode(int viewMode) { return _i(0x5A4F9EDF1673F704,viewMode); } // 0x5A4F9EDF1673F704 0x495DBE8D b323 - // + // inline BOOL IsFollowVehicleCamActive() { return _i(0xCBBDE6D335D6D496); } // 0xCBBDE6D335D6D496 0x8DD49B77 b323 - // + // inline Void SetFollowVehicleCamHighAngleModeThisUpdate(BOOL p0) { return _i(0x91EF6EE6419E5B97,p0); } // 0x91EF6EE6419E5B97 0x9DB5D391 b323 - // + // inline Void SetFollowVehicleCamHighAngleModeEveryUpdate(BOOL p0, BOOL p1) { return _i(0x9DFE13ECDC1EC196,p0, p1); } // 0x9DFE13ECDC1EC196 0x92302899 b323 - // + // inline BOOL SetTableGamesCameraThisUpdate(Hash hash) { return _i(0x79C0E43EB9B944E2,hash); } // 0x79C0E43EB9B944E2 b1734 - // + // inline int GetFollowVehicleCamZoomLevel() { return _i(0xEE82280AB767B690); } // 0xEE82280AB767B690 0x8CD67DE3 b323 - // + // inline Void SetFollowVehicleCamZoomLevel(int zoomLevel) { return _i(0x19464CB6E4078C8A,zoomLevel); } // 0x19464CB6E4078C8A 0x8F55EBBE b323 - // Returns the type of camera: + // Returns the type of camera: // // enum _viewmode //0xA11D7CA8 // { @@ -1700,14 +1700,14 @@ namespace CAM // FIRST_PERSON = 4 // }; inline int GetFollowVehicleCamViewMode() { return _i(0xA4FF579AC0E3AAAE); } // 0xA4FF579AC0E3AAAE 0xA4B4DB03 b323 - // Sets the type of Player camera in vehicles: + // Sets the type of Player camera in vehicles: // viewmode: see CAM.GetFollowVehicleCamViewMode inline Void SetFollowVehicleCamViewMode(int viewMode) { return _i(0xAC253D7842768F48,viewMode); } // 0xAC253D7842768F48 0xC4FBBBD3 b323 - // context: see _GetCamActiveViewModeContext + // context: see _GetCamActiveViewModeContext inline int GetCamViewModeForContext(int context) { return _i(0xEE778F8C7E1142E2,context); } // 0xEE778F8C7E1142E2 0xF3B148A6 b323 - // context: see _GetCamActiveViewModeContext, viewmode: see CAM.GetFollowVehicleCamViewMode + // context: see _GetCamActiveViewModeContext, viewmode: see CAM.GetFollowVehicleCamViewMode inline Void SetCamViewModeForContext(int context, int viewMode) { return _i(0x2A2173E46DAECD12,context, viewMode); } // 0x2A2173E46DAECD12 0x1DEBCB45 b323 - // enum Context + // enum Context // { // ON_FOOT, // IN_VEHICLE, @@ -1719,199 +1719,199 @@ namespace CAM // IN_TURRET // }; inline int GetCamActiveViewModeContext() { return _i(0x19CAFA3C87F7C2FF); } // 0x19CAFA3C87F7C2FF b323 - // + // inline Void UseVehicleCamStuntSettingsThisUpdate() { return _i(0x6493CF69859B116A); } // 0x6493CF69859B116A b791 - // Sets gameplay camera to hash - inline Void UseDedicatedStuntCameraThisUpdate(String camName) { return _i(0x425A920FDB9A0DDA,camName); } // 0x425A920FDB9A0DDA b1180 - // + // Sets gameplay camera to hash + inline Void UseDedicatedStuntCameraThisUpdate(const char* camName) { return _i(0x425A920FDB9A0DDA,camName); } // 0x425A920FDB9A0DDA b1180 + // inline Void ForceVehicleCamStuntSettingsThisUpdate() { return _i(0xAA27680A0BD43FA); } // 0xAA27680A0BD43FA b1103 - // + // inline Void SetFollowVehicleCamSeatThisUpdate(int seatIndex) { return _i(0x5C90CAB09951A12F,seatIndex); } // 0x5C90CAB09951A12F b1365 - // + // inline BOOL IsAimCamActive() { return _i(0x68EDDA28A5976D07); } // 0x68EDDA28A5976D07 0xC24B4F6F b323 - // + // inline BOOL IsAimCamActiveInAccurateMode() { return _i(0x74BD83EA840F6BC9); } // 0x74BD83EA840F6BC9 0x8F320DE4 b323 - // + // inline BOOL IsFirstPersonAimCamActive() { return _i(0x5E346D934122613F); } // 0x5E346D934122613F 0xD6280468 b323 - // + // inline Void DisableAimCamThisUpdate() { return _i(0x1A31FE0049E542F6); } // 0x1A31FE0049E542F6 0x1BAA7182 b323 - // + // inline float GetFirstPersonAimCamZoomFactor() { return _i(0x7EC52CC40597D170); } // 0x7EC52CC40597D170 0x33951005 b323 - // + // inline Void SetFirstPersonAimCamZoomFactor(float zoomFactor) { return _i(0x70894BD0915C5BCA,zoomFactor); } // 0x70894BD0915C5BCA 0x9F4AF763 b323 - // + // inline Void SetFirstPersonAimCamZoomFactorLimitsThisUpdate(float p0, float p1) { return _i(0xCED08CBE8EBB97C7,p0, p1); } // 0xCED08CBE8EBB97C7 0x68BA0730 b323 - // + // inline Void SetFirstPersonAimCamRelativeHeadingLimitsThisUpdate(float p0, float p1) { return _i(0x2F7F2B26DD3F18EE,p0, p1); } // 0x2F7F2B26DD3F18EE 0x2F29F0D5 b323 - // + // inline Void SetFirstPersonAimCamRelativePitchLimitsThisUpdate(float p0, float p1) { return _i(0xBCFC632DB7673BF0,p0, p1); } // 0xBCFC632DB7673BF0 0x76DAC96C b323 - // + // inline Void SetFirstPersonAimCamNearClipThisUpdate(float p0) { return _i(0xAF7B437918103B3,p0); } // 0xAF7B437918103B3 0x0E21069D b323 - // + // inline Void SetThirdPersonAimCamNearClipThisUpdate(float p0) { return _i(0x42156508606DE65E,p0); } // 0x42156508606DE65E 0x71E9C63E b323 - // + // inline Void SetAllowCustomVehicleDriveByCamThisUpdate(BOOL p0) { return _i(0x4008EDF7D6E48175,p0); } // 0x4008EDF7D6E48175 0xD1EEBC45 b323 - // + // inline Void ForceTightspaceCustomFramingThisUpdate() { return _i(0x380B4968D1E09E55); } // 0x380B4968D1E09E55 b1290 - // + // inline Vector3 GetFinalRenderedCamCoord() { return _i(0xA200EB1EE790F448); } // 0xA200EB1EE790F448 0x9C84BDA0 b323 - // p0 seems to consistently be 2 across scripts + // p0 seems to consistently be 2 across scripts // // Function is called faily often by CAM::CreateCam_WITH_PARAMS inline Vector3 GetFinalRenderedCamRot(int rotationOrder) { return _i(0x5B4E4C817FCC2DFB,rotationOrder); } // 0x5B4E4C817FCC2DFB 0x1FFBEFC5 b323 - // + // inline Vector3 GetFinalRenderedRemotePlayerCamRot(Player player, int rotationOrder) { return _i(0x26903D9CD1175F2C,player, rotationOrder); } // 0x26903D9CD1175F2C 0xACADF916 b323 - // Gets some camera fov + // Gets some camera fov inline float GetFinalRenderedCamFov() { return _i(0x80EC114669DAEFF4); } // 0x80EC114669DAEFF4 0x721B763B b323 - // + // inline float GetFinalRenderedRemotePlayerCamFov(Player player) { return _i(0x5F35F6732C3FBBA0,player); } // 0x5F35F6732C3FBBA0 0x23E3F106 b323 - // + // inline float GetFinalRenderedCamNearClip() { return _i(0xD0082607100D7193); } // 0xD0082607100D7193 0x457AE195 b323 - // + // inline float GetFinalRenderedCamFarClip() { return _i(0xDFC8CBC606FDB0FC); } // 0xDFC8CBC606FDB0FC 0x46CB3A49 b323 - // + // inline float GetFinalRenderedCamNearDof() { return _i(0xA03502FC581F7D9B); } // 0xA03502FC581F7D9B 0x19297A7A b323 - // + // inline float GetFinalRenderedCamFarDof() { return _i(0x9780F32BCAF72431); } // 0x9780F32BCAF72431 0xF24777CA b323 - // + // inline float GetFinalRenderedCamMotionBlurStrength() { return _i(0x162F9D995753DC19); } // 0x162F9D995753DC19 0x38992E83 b323 - // + // inline Void SetGameplayCoordHint(float x, float y, float z, int duration, int blendOutDuration, int blendInDuration, int p6) { return _i(0xD51ADCD2D8BC0FB3,x, y, z, duration, blendOutDuration, blendInDuration, p6); } // 0xD51ADCD2D8BC0FB3 0xF27483C9 b323 - // + // inline Void SetGameplayPedHint(Ped ped, float x1, float y1, float z1, BOOL p4, int duration, int blendOutDuration, int blendInDuration) { return _i(0x2B486269ACD548D3,ped, x1, y1, z1, p4, duration, blendOutDuration, blendInDuration); } // 0x2B486269ACD548D3 0x7C27343E b323 - // Focuses the camera on the specified vehicle. + // Focuses the camera on the specified vehicle. inline Void SetGameplayVehicleHint(Vehicle vehicle, float offsetX, float offsetY, float offsetZ, BOOL p4, int time, int easeInTime, int easeOutTime) { return _i(0xA2297E18F3E71C2E,vehicle, offsetX, offsetY, offsetZ, p4, time, easeInTime, easeOutTime); } // 0xA2297E18F3E71C2E 0x2C9A11D8 b323 - // + // inline Void SetGameplayObjectHint(Object object, float xOffset, float yOffset, float zOffset, BOOL p4, int time, int easeInTime, int easeOutTime) { return _i(0x83E87508A2CA2AC6,object, xOffset, yOffset, zOffset, p4, time, easeInTime, easeOutTime); } // 0x83E87508A2CA2AC6 0x2ED5E2F8 b323 - // p8 could be some sort of flag. Scripts use: + // p8 could be some sort of flag. Scripts use: // -244429742 // 0 // 1726668277 // 1844968929 inline Void SetGameplayEntityHint(Entity entity, float xOffset, float yOffset, float zOffset, BOOL p4, int time, int easeInTime, int easeOutTime, int p8) { return _i(0x189E955A8313E298,entity, xOffset, yOffset, zOffset, p4, time, easeInTime, easeOutTime, p8); } // 0x189E955A8313E298 0x66C32306 b323 - // + // inline BOOL IsGameplayHintActive() { return _i(0xE520FF1AD2785B40); } // 0xE520FF1AD2785B40 0xAD8DA205 b323 - // + // inline Void StopGameplayHint(BOOL p0) { return _i(0xF46C581C61718916,p0); } // 0xF46C581C61718916 0x1BC28B7B b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void StopGameplayHintBeingCancelledThisUpdate(BOOL p0) { return _i(0xCCD078C2665D2973,p0); } // 0xCCD078C2665D2973 0xCAFEE798 b323 - // + // inline Void StopCodeGameplayHint(BOOL p0) { return _i(0x247ACBC4ABBC9D1C,p0); } // 0x247ACBC4ABBC9D1C b323 - // + // inline BOOL IsCodeGameplayHintActive() { return _i(0xBF72910D0F26F025); } // 0xBF72910D0F26F025 b323 - // + // inline Void SetGameplayHintFov(float FOV) { return _i(0x513403FB9C56211F,FOV); } // 0x513403FB9C56211F 0x96FD173B b323 - // + // inline Void SetGameplayHintFollowDistanceScalar(float value) { return _i(0xF8BDBF3D573049A1,value); } // 0xF8BDBF3D573049A1 0x72E8CD3A b323 - // + // inline Void SetGameplayHintBaseOrbitPitchOffset(float value) { return _i(0xD1F8363DFAD03848,value); } // 0xD1F8363DFAD03848 0x79472AE3 b323 - // + // inline Void SetGameplayHintCameraRelativeSideOffset(float xOffset) { return _i(0x5D7B620DAE436138,xOffset); } // 0x5D7B620DAE436138 0xFC7464A0 b323 - // + // inline Void SetGameplayHintCameraRelativeVerticalOffset(float yOffset) { return _i(0xC92717EF615B6704,yOffset); } // 0xC92717EF615B6704 0x3554AA0E b323 - // + // inline Void SetGameplayHintCameraBlendToFollowPedMediumViewMode(BOOL toggle) { return _i(0xE3433EADAAF7EE40,toggle); } // 0xE3433EADAAF7EE40 0x2F0CE859 b323 - // + // inline Void SetCinematicButtonActive(BOOL p0) { return _i(0x51669F7D1FB53D9F,p0); } // 0x51669F7D1FB53D9F 0x3FBC5D00 b323 - // + // inline BOOL IsCinematicCamRendering() { return _i(0xB15162CB5826E9E8); } // 0xB15162CB5826E9E8 0x80471AD9 b323 - // p0 argument found in the b617d scripts: "DRUNK_SHAKE" + // 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 - inline Void ShakeCinematicCam(String shakeType, float amount) { return _i(0xDCE214D9ED58F3CF,shakeType, amount); } // 0xDCE214D9ED58F3CF 0x61815F31 b323 - // + inline Void ShakeCinematicCam(const char* shakeType, float amount) { return _i(0xDCE214D9ED58F3CF,shakeType, amount); } // 0xDCE214D9ED58F3CF 0x61815F31 b323 + // inline BOOL IsCinematicCamShaking() { return _i(0xBBC08F6B4CB8FF0A); } // 0xBBC08F6B4CB8FF0A 0x8376D939 b323 - // + // inline Void SetCinematicCamShakeAmplitude(float p0) { return _i(0xC724C701C30B2FE7,p0); } // 0xC724C701C30B2FE7 0x67510C4B b323 - // + // inline Void StopCinematicCamShaking(BOOL p0) { return _i(0x2238E588E588A6D7,p0); } // 0x2238E588E588A6D7 0x71C12904 b323 - // + // inline Void DisableCinematicBonnetCameraThisUpdate() { return _i(0xADFF1B2A555F5FBA); } // 0xADFF1B2A555F5FBA 0x5AC6DAC9 b323 - // + // inline Void DisableCinematicVehicleIdleModeThisUpdate() { return _i(0x62ECFCFDEE7885D6); } // 0x62ECFCFDEE7885D6 0x837F8581 b323 - // Resets the vehicle idle camera timer. Calling this in a loop will disable the idle camera. + // Resets the vehicle idle camera timer. Calling this in a loop will disable the idle camera. inline Void InvalidateCinematicVehicleIdleMode() { return _i(0x9E4CFFF989258472); } // 0x9E4CFFF989258472 0x65DDE8AF b323 - // Resets the idle camera timer. Calling that in a loop once every few seconds is enough to disable the idle cinematic camera. + // Resets the idle camera timer. Calling that in a loop once every few seconds is enough to disable the idle cinematic camera. inline Void InvalidateIdleCam() { return _i(0xF4F2C0D4EE209E20); } // 0xF4F2C0D4EE209E20 0xD75CDD75 b323 - // + // inline BOOL IsCinematicIdleCamRendering() { return _i(0xCA9D2AA3E326D720); } // 0xCA9D2AA3E326D720 0x96A07066 b323 - // + // inline BOOL IsCinematicFirstPersonVehicleInteriorCamRendering() { return _i(0x4F32C0D5A90A9B40); } // 0x4F32C0D5A90A9B40 b323 - // hash is always JOAAT("CAMERA_MAN_SHOT") in decompiled scripts + // hash is always JOAAT("CAMERA_MAN_SHOT") in decompiled scripts inline Void CreateCinematicShot(Hash p0, int time, BOOL p2, Entity entity) { return _i(0x741B0129D4560F31,p0, time, p2, entity); } // 0x741B0129D4560F31 0xAC494E35 b323 - // Hash is always JOAAT("CAMERA_MAN_SHOT") in decompiled scripts + // Hash is always JOAAT("CAMERA_MAN_SHOT") in decompiled scripts inline BOOL IsCinematicShotActive(Hash p0) { return _i(0xCC9F3371A7C28BC9,p0); } // 0xCC9F3371A7C28BC9 0xA4049042 b323 - // Only used once in carsteal3 with p0 set to -1096069633 (CAMERA_MAN_SHOT) + // Only used once in carsteal3 with p0 set to -1096069633 (CAMERA_MAN_SHOT) inline Void StopCinematicShot(Hash p0) { return _i(0x7660C6E75D3A078E,p0); } // 0x7660C6E75D3A078E 0xD78358C5 b323 - // + // inline Void ForceCinematicRenderingThisUpdate(BOOL toggle) { return _i(0xA41BCD7213805AAC,toggle); } // 0xA41BCD7213805AAC 0xFBB85E02 b323 - // + // inline Void SetCinematicNewsChannelActiveThisUpdate() { return _i(0xDC9DA9E8789F5246); } // 0xDC9DA9E8789F5246 0x4938C82F b323 - // Toggles the vehicle cinematic cam; requires the player ped to be in a vehicle to work. + // Toggles the vehicle cinematic cam; requires the player ped to be in a vehicle to work. inline Void SetCinematicModeActive(BOOL toggle) { return _i(0xDCF0754AC3D6FD4E,toggle); } // 0xDCF0754AC3D6FD4E 0x2009E747 b323 - // + // inline BOOL IsInVehicleMobilePhoneCameraRendering() { return _i(0x1F2300CB7FA7B7F6); } // 0x1F2300CB7FA7B7F6 0x6739AD55 b323 - // + // inline BOOL DisableCinematicSlowMoThisUpdate() { return _i(0x17FCA7199A530203); } // 0x17FCA7199A530203 b323 - // + // inline BOOL IsBonnetCinematicCamRendering() { return _i(0xD7360051C885628B); } // 0xD7360051C885628B 0x1DD55F13 b372 - // Tests some cinematic camera flags + // Tests some cinematic camera flags inline BOOL IsCinematicCamInputActive() { return _i(0xF5F1E89A970B7796); } // 0xF5F1E89A970B7796 0x1A900C84 b1493 - // + // inline Void IgnoreMenuPreferenceForBonnetCameraThisUpdate() { return _i(0x7B8A361C1813FBEF); } // 0x7B8A361C1813FBEF b573 - // + // inline Void BypassCutsceneCamRenderingThisUpdate() { return _i(0xDB629FFD9285FA06); } // 0xDB629FFD9285FA06 b323 - // + // inline Void StopCutsceneCamShaking(Any p0) { return _i(0x324C5AA411DA7737,p0); } // 0x324C5AA411DA7737 b323 - // Hardcoded to only work in multiplayer. + // Hardcoded to only work in multiplayer. inline Void SetCutsceneCamFarClipThisUpdate(float p0) { return _i(0x12DED8CA53D47EA5,p0); } // 0x12DED8CA53D47EA5 0x067BA6F5 b323 - // + // inline Ped GetFocusPedOnScreen(float p0, int p1, float p2, float p3, float p4, float p5, float p6, int p7, int p8) { return _i(0x89215EC747DF244A,p0, p1, p2, p3, p4, p5, p6, p7, p8); } // 0x89215EC747DF244A 0xFD99BE2B b323 - // + // inline Void DisableNearClipScanThisUpdate() { return _i(0x5A43C76F7FC7BA5F); } // 0x5A43C76F7FC7BA5F 0xE206C450 b323 - // if p0 is 0, effect is cancelled + // 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. inline Void SetCamDeathFailEffectState(int p0) { return _i(0x80C8B1846639BB19,p0); } // 0x80C8B1846639BB19 0xB06CCD38 b323 - // + // inline Void SetFirstPersonFlashEffectType(Any p0) { return _i(0x5C41E6BABC9E2112,p0); } // 0x5C41E6BABC9E2112 b323 - // From b617 scripts: + // From b617 scripts: // // CAM::SetFirstPersonFlashEffectVehicleModelName("DINGHY"); // CAM::SetFirstPersonFlashEffectVehicleModelName("ISSI2"); // CAM::SetFirstPersonFlashEffectVehicleModelName("SPEEDO"); - inline Void SetFirstPersonFlashEffectVehicleModelName(String vehicleName) { return _i(0x21E253A7F8DA5DFB,vehicleName); } // 0x21E253A7F8DA5DFB b323 - // + inline Void SetFirstPersonFlashEffectVehicleModelName(const char* vehicleName) { return _i(0x21E253A7F8DA5DFB,vehicleName); } // 0x21E253A7F8DA5DFB b323 + // inline Void SetFirstPersonFlashEffectVehicleModelHash(Hash vehicleModel) { return _i(0x11FA5D3479C7DD47,vehicleModel); } // 0x11FA5D3479C7DD47 b323 - // + // inline BOOL IsAllowedIndependentCameraModes() { return _i(0xEAF0FA793D05C592); } // 0xEAF0FA793D05C592 b323 - // + // inline Void CameraPreventCollisionSettingsForTripleheadInInteriorsThisUpdate() { return _i(0x62374889A4D59F72); } // 0x62374889A4D59F72 b877 - // + // inline float ReplayGetMaxDistanceAllowedFromPlayer() { return _i(0x8BFCEB5EA1B161B6); } // 0x8BFCEB5EA1B161B6 b323 } namespace CLOCK { - // SetClockTime(12, 34, 56); + // SetClockTime(12, 34, 56); inline Void SetClockTime(int hour, int minute, int second) { return _i(0x47C3B5848C3E45D8,hour, minute, second); } // 0x47C3B5848C3E45D8 0x26F6AF14 b323 - // + // inline Void PauseClock(BOOL toggle) { return _i(0x4055E40BD2DBEC1D,toggle); } // 0x4055E40BD2DBEC1D 0xB02D6124 b323 - // + // inline Void AdvanceClockTimeTo(int hour, int minute, int second) { return _i(0xC8CA9670B9D83B3B,hour, minute, second); } // 0xC8CA9670B9D83B3B 0x57B8DA7C b323 - // + // inline Void AddToClockTime(int hours, int minutes, int seconds) { return _i(0xD716F30D8C8980E2,hours, minutes, seconds); } // 0xD716F30D8C8980E2 0xCC40D20D b323 - // Gets the current ingame hour, expressed without zeros. (09:34 will be represented as 9) + // Gets the current ingame hour, expressed without zeros. (09:34 will be represented as 9) inline int GetClockHours() { return _i(0x25223CA6B4D20B7F); } // 0x25223CA6B4D20B7F 0x7EF8316F b323 - // Gets the current ingame clock minute. + // Gets the current ingame clock minute. inline int GetClockMinutes() { return _i(0x13D2B8ADD79640F2); } // 0x13D2B8ADD79640F2 0x94AAC486 b323 - // 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. + // 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. inline int GetClockSeconds() { return _i(0x494E97C2EF27C470); } // 0x494E97C2EF27C470 0x099C927E b323 - // + // inline Void SetClockDate(int day, int month, int year) { return _i(0xB096419DF0D06CE7,day, month, year); } // 0xB096419DF0D06CE7 0x96891C94 b323 - // Gets the current day of the week. + // Gets the current day of the week. // // 0: Sunday // 1: Monday @@ -1921,15 +1921,15 @@ namespace CLOCK // 5: Friday // 6: Saturday inline int GetClockDayOfWeek() { return _i(0xD972E4BD7AEB235F); } // 0xD972E4BD7AEB235F 0x84E4A289 b323 - // + // inline int GetClockDayOfMonth() { return _i(0x3D10BC92A4DB1D35); } // 0x3D10BC92A4DB1D35 0xC7A5ACB7 b323 - // + // inline int GetClockMonth() { return _i(0xBBC72712E80257A1); } // 0xBBC72712E80257A1 0x3C48A3D5 b323 - // + // inline int GetClockYear() { return _i(0x961777E64BDAF717); } // 0x961777E64BDAF717 0xB8BECF15 b323 - // + // inline int GetMillisecondsPerGameMinute() { return _i(0x2F8B4D1C595B11DB); } // 0x2F8B4D1C595B11DB 0x3B74095C b323 - // Gets system time as year, month, day, hour, minute and second. + // Gets system time as year, month, day, hour, minute and second. // // Example usage: // @@ -1943,9 +1943,9 @@ namespace CLOCK // TIME::GetPosixTime(&year, &month, &day, &hour, &minute, &second); // inline Void GetPosixTime(int* year, int* month, int* day, int* hour, int* minute, int* second) { return _i(0xDA488F299A5B164E,year, month, day, hour, minute, second); } // 0xDA488F299A5B164E 0xE15A5281 b323 - // Gets current UTC time + // Gets current UTC time inline Void GetUtcTime(int* year, int* month, int* day, int* hour, int* minute, int* second) { return _i(0x8117E09A19EEF4D3,year, month, day, hour, minute, second); } // 0x8117E09A19EEF4D3 0xC589CD7D b323 - // Gets local system time as year, month, day, hour, minute and second. + // Gets local system time as year, month, day, hour, minute and second. // // Example usage: // @@ -1964,122 +1964,122 @@ namespace CLOCK namespace CUTSCENE { - // flags: Usually 8 + // flags: Usually 8 // Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json - inline Void RequestCutscene(String cutsceneName, int flags) { return _i(0x7A86743F475D9E09,cutsceneName, flags); } // 0x7A86743F475D9E09 0xB5977853 b323 - // flags: Usually 8 + inline Void RequestCutscene(const char* cutsceneName, int flags) { return _i(0x7A86743F475D9E09,cutsceneName, flags); } // 0x7A86743F475D9E09 0xB5977853 b323 + // flags: Usually 8 // // playbackFlags: Which scenes should be played. // Example: 0x105 (bit 0, 2 and 8 set) will enable scene 1, 3 and 9. // Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json - inline Void RequestCutsceneWithPlaybackList(String cutsceneName, int playbackFlags, int flags) { return _i(0xC23DE0E91C30B58C,cutsceneName, playbackFlags, flags); } // 0xC23DE0E91C30B58C 0xD98F656A b323 - // + inline Void RequestCutsceneWithPlaybackList(const char* cutsceneName, int playbackFlags, int flags) { return _i(0xC23DE0E91C30B58C,cutsceneName, playbackFlags, flags); } // 0xC23DE0E91C30B58C 0xD98F656A b323 + // inline Void RemoveCutscene() { return _i(0x440AF51A3462B86F); } // 0x440AF51A3462B86F 0x8052F533 b323 - // + // inline BOOL HasCutsceneLoaded() { return _i(0xC59F528E9AB9F339); } // 0xC59F528E9AB9F339 0xF9998582 b323 - // Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json - inline BOOL HasThisCutsceneLoaded(String cutsceneName) { return _i(0x228D3D94F8A11C3C,cutsceneName); } // 0x228D3D94F8A11C3C 0x3C5619F2 b323 - // Sets the cutscene's owning thread ID. + // Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json + inline BOOL HasThisCutsceneLoaded(const char* cutsceneName) { return _i(0x228D3D94F8A11C3C,cutsceneName); } // 0x228D3D94F8A11C3C 0x3C5619F2 b323 + // Sets the cutscene's owning thread ID. inline Void SetScriptCanStartCutscene(int threadId) { return _i(0x8D9DF6ECA8768583,threadId); } // 0x8D9DF6ECA8768583 0x25A2CABC b323 - // + // inline BOOL CanRequestAssetsForCutsceneEntity() { return _i(0xB56BBBCC2955D9CB); } // 0xB56BBBCC2955D9CB 0xDD8878E9 b323 - // + // inline BOOL IsCutscenePlaybackFlagSet(int flag) { return _i(0x71B74D2AE19338D0,flag); } // 0x71B74D2AE19338D0 0x7B93CDAA b323 - // - inline Void SetCutsceneEntityStreamingFlags(String cutsceneEntName, int p1, int p2) { return _i(0x4C61C75BEE8184C2,cutsceneEntName, p1, p2); } // 0x4C61C75BEE8184C2 0x47DB08A9 b323 - // Simply loads the cutscene and doesn't do extra stuff that RequestCutscene does. + // + inline Void SetCutsceneEntityStreamingFlags(const char* cutsceneEntName, int p1, int p2) { return _i(0x4C61C75BEE8184C2,cutsceneEntName, p1, p2); } // 0x4C61C75BEE8184C2 0x47DB08A9 b323 + // Simply loads the cutscene and doesn't do extra stuff that RequestCutscene does. // Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json - inline Void RequestCutFile(String cutsceneName) { return _i(0x6A3524161C502BA,cutsceneName); } // 0x6A3524161C502BA 0x0D732CD6 b323 - // Simply checks if the cutscene has loaded and doesn't check via CutSceneManager as opposed to HAS_[THIS]_CUTSCENE_LOADED. + inline Void RequestCutFile(const char* cutsceneName) { return _i(0x6A3524161C502BA,cutsceneName); } // 0x6A3524161C502BA 0x0D732CD6 b323 + // Simply checks if the cutscene has loaded and doesn't check via CutSceneManager as opposed to HAS_[THIS]_CUTSCENE_LOADED. // Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json - inline BOOL HasCutFileLoaded(String cutsceneName) { return _i(0xA1C996C2A744262E,cutsceneName); } // 0xA1C996C2A744262E 0x56D5B144 b323 - // Simply unloads the cutscene and doesn't do extra stuff that RemoveCutscene does. + inline BOOL HasCutFileLoaded(const char* cutsceneName) { return _i(0xA1C996C2A744262E,cutsceneName); } // 0xA1C996C2A744262E 0x56D5B144 b323 + // Simply unloads the cutscene and doesn't do extra stuff that RemoveCutscene does. // Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json - inline Void RemoveCutFile(String cutsceneName) { return _i(0xD00D76A7DFC9D852,cutsceneName); } // 0xD00D76A7DFC9D852 0xB70D7C6D b323 - // Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json - inline int GetCutFileConcatCount(String cutsceneName) { return _i(0xABC54DE641DC0FC,cutsceneName); } // 0xABC54DE641DC0FC 0xFD8B1AC2 b323 - // flags: Usually 0. + inline Void RemoveCutFile(const char* cutsceneName) { return _i(0xD00D76A7DFC9D852,cutsceneName); } // 0xD00D76A7DFC9D852 0xB70D7C6D b323 + // Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json + inline int GetCutFileConcatCount(const char* cutsceneName) { return _i(0xABC54DE641DC0FC,cutsceneName); } // 0xABC54DE641DC0FC 0xFD8B1AC2 b323 + // flags: Usually 0. inline Void StartCutscene(int flags) { return _i(0x186D5CB5E7B0FF7B,flags); } // 0x186D5CB5E7B0FF7B 0x210106F6 b323 - // flags: Usually 0. + // flags: Usually 0. inline Void StartCutsceneAtCoords(float x, float y, float z, int flags) { return _i(0x1C9ADDA3244A1FBF,x, y, z, flags); } // 0x1C9ADDA3244A1FBF 0x58BEA436 b323 - // + // inline Void StopCutscene(BOOL p0) { return _i(0xC7272775B4DC786E,p0); } // 0xC7272775B4DC786E 0x5EE84DC7 b323 - // + // inline Void StopCutsceneImmediately() { return _i(0xD220BDD222AC4A1E); } // 0xD220BDD222AC4A1E 0xF528A2AD b323 - // p3 could be heading. Needs more research. + // p3 could be heading. Needs more research. inline Void SetCutsceneOrigin(float x, float y, float z, float p3, int p4) { return _i(0xB812B3FD1C01CF27,x, y, z, p3, p4); } // 0xB812B3FD1C01CF27 0xB0AD7792 b323 - // + // inline Void SetCutsceneOriginAndOrientation(float x1, float y1, float z1, float x2, float y2, float z2, int p6) { return _i(0x11883F41211432A,x1, y1, z1, x2, y2, z2, p6); } // 0x11883F41211432A b323 - // + // inline int GetCutsceneTime() { return _i(0xE625BEABBAFFDAB9); } // 0xE625BEABBAFFDAB9 0x53F5B5AB b323 - // + // inline int GetCutsceneTotalDuration() { return _i(0xEE53B14A19E480D4); } // 0xEE53B14A19E480D4 0x0824EBE8 b323 - // + // inline int GetCutsceneEndTime() { return _i(0x971D7B15BCDBEF99); } // 0x971D7B15BCDBEF99 b1734 - // + // inline int GetCutscenePlayDuration() { return _i(0x5D583F71C901F2A3); } // 0x5D583F71C901F2A3 b2802 - // + // inline BOOL WasCutsceneSkipped() { return _i(0x40C8656EDAEDD569); } // 0x40C8656EDAEDD569 0xC9B6949D b323 - // + // inline BOOL HasCutsceneFinished() { return _i(0x7C0A893088881D57); } // 0x7C0A893088881D57 0x5DED14B4 b323 - // + // inline BOOL IsCutsceneActive() { return _i(0x991251AFC3981F84); } // 0x991251AFC3981F84 0xCCE2FE9D b323 - // + // inline BOOL IsCutscenePlaying() { return _i(0xD3C2E180A40F031E); } // 0xD3C2E180A40F031E 0xA3A78392 b323 - // + // inline int GetCutsceneSectionPlaying() { return _i(0x49010A6A396553D8); } // 0x49010A6A396553D8 0x1026F0D6 b323 - // - inline Entity GetEntityIndexOfCutsceneEntity(String cutsceneEntName, Hash modelHash) { return _i(0xA2E9FDB9A8C62F6,cutsceneEntName, modelHash); } // 0xA2E9FDB9A8C62F6 0x1D09ABC7 b323 - // + // + inline Entity GetEntityIndexOfCutsceneEntity(const char* cutsceneEntName, Hash modelHash) { return _i(0xA2E9FDB9A8C62F6,cutsceneEntName, modelHash); } // 0xA2E9FDB9A8C62F6 0x1D09ABC7 b323 + // inline int GetCutsceneConcatSectionPlaying() { return _i(0x583DF8E3D4AFBD98); } // 0x583DF8E3D4AFBD98 0x5AE68AE6 b323 - // This function is hard-coded to always return 1. - inline BOOL IsCutsceneAuthorized(String cutsceneName) { return _i(0x4CEBC1ED31E8925E,cutsceneName); } // 0x4CEBC1ED31E8925E b323 - // + // This function is hard-coded to always return 1. + inline BOOL IsCutsceneAuthorized(const char* cutsceneName) { return _i(0x4CEBC1ED31E8925E,cutsceneName); } // 0x4CEBC1ED31E8925E b323 + // inline int DoesCutsceneHandleExist(int cutsceneHandle) { return _i(0x4FCD976DA686580C,cutsceneHandle); } // 0x4FCD976DA686580C b1290 - // - inline Void RegisterEntityForCutscene(Ped cutscenePed, String cutsceneEntName, int p2, Hash modelHash, int p4) { return _i(0xE40C1C56DF95C2E8,cutscenePed, cutsceneEntName, p2, modelHash, p4); } // 0xE40C1C56DF95C2E8 0x7CBC3EC7 b323 - // - inline Entity GetEntityIndexOfRegisteredEntity(String cutsceneEntName, Hash modelHash) { return _i(0xC0741A26499654CD,cutsceneEntName, modelHash); } // 0xC0741A26499654CD 0x46D18755 b323 - // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + // + inline Void RegisterEntityForCutscene(Ped cutscenePed, const char* cutsceneEntName, int p2, Hash modelHash, int p4) { return _i(0xE40C1C56DF95C2E8,cutscenePed, cutsceneEntName, p2, modelHash, p4); } // 0xE40C1C56DF95C2E8 0x7CBC3EC7 b323 + // + inline Entity GetEntityIndexOfRegisteredEntity(const char* cutsceneEntName, Hash modelHash) { return _i(0xC0741A26499654CD,cutsceneEntName, modelHash); } // 0xC0741A26499654CD 0x46D18755 b323 + // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json inline Void SetVehicleModelPlayerWillExitScene(Hash modelHash) { return _i(0x7F96F23FA9B73327,modelHash); } // 0x7F96F23FA9B73327 b323 - // Only used twice in R* scripts + // Only used twice in R* scripts inline Void SetCutsceneTriggerArea(float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0x9896CE4721BE84BA,x1, y1, z1, x2, y2, z2); } // 0x9896CE4721BE84BA 0x9D76D9DE b323 - // modelHash (p1) was always 0 in R* scripts - inline BOOL CanSetEnterStateForRegisteredEntity(String cutsceneEntName, Hash modelHash) { return _i(0x645D0B458D8E17B5,cutsceneEntName, modelHash); } // 0x645D0B458D8E17B5 0x55C30B26 b323 - // - inline BOOL CanSetExitStateForRegisteredEntity(String cutsceneEntName, Hash modelHash) { return _i(0x4C6A6451C79E4662,cutsceneEntName, modelHash); } // 0x4C6A6451C79E4662 0x8FF5D3C4 b323 - // + // modelHash (p1) was always 0 in R* scripts + inline BOOL CanSetEnterStateForRegisteredEntity(const char* cutsceneEntName, Hash modelHash) { return _i(0x645D0B458D8E17B5,cutsceneEntName, modelHash); } // 0x645D0B458D8E17B5 0x55C30B26 b323 + // + inline BOOL CanSetExitStateForRegisteredEntity(const char* cutsceneEntName, Hash modelHash) { return _i(0x4C6A6451C79E4662,cutsceneEntName, modelHash); } // 0x4C6A6451C79E4662 0x8FF5D3C4 b323 + // inline BOOL CanSetExitStateForCamera(BOOL p0) { return _i(0xB2CBCD0930DFB420,p0); } // 0xB2CBCD0930DFB420 0xEDAE6C02 b323 - // Toggles a value (bool) for cutscenes. + // Toggles a value (bool) for cutscenes. inline Void SetPadCanShakeDuringCutscene(BOOL toggle) { return _i(0xC61B86C9F61EB404,toggle); } // 0xC61B86C9F61EB404 0x35721A08 b323 - // + // inline Void SetCutsceneFadeValues(BOOL p0, BOOL p1, BOOL p2, BOOL p3) { return _i(0x8093F23ABACCC7D4,p0, p1, p2, p3); } // 0x8093F23ABACCC7D4 0xD19EF0DD b323 - // + // inline Void SetCutsceneMultiheadFade(BOOL p0, BOOL p1, BOOL p2, BOOL p3) { return _i(0x20746F7B1032A3C7,p0, p1, p2, p3); } // 0x20746F7B1032A3C7 b323 - // + // inline Void SetCutsceneMultiheadFadeManual(BOOL p0) { return _i(0x6EE9048FD080382,p0); } // 0x6EE9048FD080382 b323 - // + // inline BOOL IsMultiheadFadeUp() { return _i(0xA0FE76168A189DDB); } // 0xA0FE76168A189DDB b323 - // Stops current cutscene with a fade transition + // Stops current cutscene with a fade transition // p0: always true in R* Scripts // You will need to manually fade the screen back in // SET_CUTSCENE_INPUTS_PARTIALLY_FADE? inline Void NetworkSetMocapCutsceneCanBeSkipped(BOOL p0) { return _i(0x2F137B508DE238F2,p0); } // 0x2F137B508DE238F2 0x8338DA1D b323 - // + // inline Void SetCarGeneratorsCanUpdateDuringCutscene(BOOL p0) { return _i(0xE36A98D8AB3D3C66,p0); } // 0xE36A98D8AB3D3C66 0x04377C10 b323 - // + // inline BOOL CanUseMobilePhoneDuringCutscene() { return _i(0x5EDEF0CF8C1DAB3C); } // 0x5EDEF0CF8C1DAB3C 0xDBD88708 b323 - // + // inline Void SetCutsceneCanBeSkipped(BOOL p0) { return _i(0x41FAA8FB2ECE8720,p0); } // 0x41FAA8FB2ECE8720 0x28D54A7F b323 - // + // inline Void SetCanDisplayMinimapDuringCutsceneThisUpdate() { return _i(0x2131046957F31B04); } // 0x2131046957F31B04 0xB60CFBB9 b323 - // Full list of ped components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedComponentVariations.json - inline Void SetCutscenePedComponentVariation(String cutsceneEntName, int componentId, int drawableId, int textureId, Hash modelHash) { return _i(0xBA01E7B6DEEFBBC9,cutsceneEntName, componentId, drawableId, textureId, modelHash); } // 0xBA01E7B6DEEFBBC9 0x6AF994A1 b323 - // - inline Void SetCutscenePedComponentVariationFromPed(String cutsceneEntName, Ped ped, Hash modelHash) { return _i(0x2A56C06EBEF2B0D9,cutsceneEntName, ped, modelHash); } // 0x2A56C06EBEF2B0D9 0x1E7DA95E b323 - // - inline BOOL DoesCutsceneEntityExist(String cutsceneEntName, Hash modelHash) { return _i(0x499EF20C5DB25C59,cutsceneEntName, modelHash); } // 0x499EF20C5DB25C59 0x58E67409 b323 - // Thanks R*! ;) + // Full list of ped components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedComponentVariations.json + inline Void SetCutscenePedComponentVariation(const char* cutsceneEntName, int componentId, int drawableId, int textureId, Hash modelHash) { return _i(0xBA01E7B6DEEFBBC9,cutsceneEntName, componentId, drawableId, textureId, modelHash); } // 0xBA01E7B6DEEFBBC9 0x6AF994A1 b323 + // + inline Void SetCutscenePedComponentVariationFromPed(const char* cutsceneEntName, Ped ped, Hash modelHash) { return _i(0x2A56C06EBEF2B0D9,cutsceneEntName, ped, modelHash); } // 0x2A56C06EBEF2B0D9 0x1E7DA95E b323 + // + inline BOOL DoesCutsceneEntityExist(const char* cutsceneEntName, Hash modelHash) { return _i(0x499EF20C5DB25C59,cutsceneEntName, modelHash); } // 0x499EF20C5DB25C59 0x58E67409 b323 + // Thanks R*! ;) // // if ((l_161 == 0) || (l_161 == 2)) { // sub_2ea27("Trying to set Jimmy prop variation"); @@ -2087,103 +2087,103 @@ namespace CUTSCENE // } // // Full list of ped components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedComponentVariations.json - inline Void SetCutscenePedPropVariation(String cutsceneEntName, int componentId, int drawableId, int textureId, Hash modelHash) { return _i(0x546524ADE2E9723,cutsceneEntName, componentId, drawableId, textureId, modelHash); } // 0x546524ADE2E9723 0x22E9A9DE b323 - // Possibly HasCutsceneCutThisFrame, needs more research. + inline Void SetCutscenePedPropVariation(const char* cutsceneEntName, int componentId, int drawableId, int textureId, Hash modelHash) { return _i(0x546524ADE2E9723,cutsceneEntName, componentId, drawableId, textureId, modelHash); } // 0x546524ADE2E9723 0x22E9A9DE b323 + // Possibly HasCutsceneCutThisFrame, needs more research. inline BOOL HasCutsceneCutThisFrame() { return _i(0x708BDD8CD795B043); } // 0x708BDD8CD795B043 0x4315A7C5 b323 } namespace DATAFILE { - // Adds the given requestID to the watch list. + // Adds the given requestID to the watch list. inline Void DatafileWatchRequestId(int requestId) { return _i(0xAD6875BBC0FC899C,requestId); } // 0xAD6875BBC0FC899C 0x621388FF b323 - // + // inline Void DatafileClearWatchList() { return _i(0x6CC86E78358D5119); } // 0x6CC86E78358D5119 0x5B39D0AC b323 - // + // inline BOOL DatafileIsValidRequestId(int index) { return _i(0xFCCAE5B92A830878,index); } // 0xFCCAE5B92A830878 0x01393D16 b323 - // + // inline BOOL DatafileHasLoadedFileData(int requestId) { return _i(0x15FF52B809DB2353,requestId); } // 0x15FF52B809DB2353 0x36FB8B3F b323 - // + // inline BOOL DatafileHasValidFileData(int requestId) { return _i(0xF8CC1EBE0B62E29F,requestId); } // 0xF8CC1EBE0B62E29F 0x2A9411DA b323 - // + // inline BOOL DatafileSelectActiveFile(int requestId, Any p1) { return _i(0x22DA66936E0FFF37,requestId, p1); } // 0x22DA66936E0FFF37 0xB41064A4 b323 - // + // inline BOOL DatafileDeleteRequestedFile(int requestId) { return _i(0x8F5EA1C01D65A100,requestId); } // 0x8F5EA1C01D65A100 0x9DB63CFF b323 - // - inline BOOL UgcCreateContent(Any* data, int dataCount, String contentName, String description, String tagsCsv, String contentTypeName, BOOL publish, Any p7) { return _i(0xC84527E235FCA219,data, dataCount, contentName, description, tagsCsv, contentTypeName, publish, p7); } // 0xC84527E235FCA219 0xF09157B0 b323 - // - inline BOOL UgcCreateMission(String contentName, String description, String tagsCsv, String contentTypeName, BOOL publish, Any p5) { return _i(0xA5EFC3E847D60507,contentName, description, tagsCsv, contentTypeName, publish, p5); } // 0xA5EFC3E847D60507 0xD96860FC b323 - // - inline BOOL UgcUpdateContent(String contentId, Any* data, int dataCount, String contentName, String description, String tagsCsv, String contentTypeName, Any p7) { return _i(0x648E7A5434AF7969,contentId, data, dataCount, contentName, description, tagsCsv, contentTypeName, p7); } // 0x648E7A5434AF7969 0x459F2683 b323 - // - inline BOOL UgcUpdateMission(String contentId, String contentName, String description, String tagsCsv, String contentTypeName, Any p5) { return _i(0x4645DE9980999E93,contentId, contentName, description, tagsCsv, contentTypeName, p5); } // 0x4645DE9980999E93 0xDBB83E2B b323 - // - inline BOOL UgcSetPlayerData(String contentId, float rating, String contentTypeName, Any p3) { return _i(0x692D808C34A82143,contentId, rating, contentTypeName, p3); } // 0x692D808C34A82143 0xBB6321BD b323 - // + // + inline BOOL UgcCreateContent(Any* data, int dataCount, const char* contentName, const char* description, const char* tagsCsv, const char* contentTypeName, BOOL publish, Any p7) { return _i(0xC84527E235FCA219,data, dataCount, contentName, description, tagsCsv, contentTypeName, publish, p7); } // 0xC84527E235FCA219 0xF09157B0 b323 + // + inline BOOL UgcCreateMission(const char* contentName, const char* description, const char* tagsCsv, const char* contentTypeName, BOOL publish, Any p5) { return _i(0xA5EFC3E847D60507,contentName, description, tagsCsv, contentTypeName, publish, p5); } // 0xA5EFC3E847D60507 0xD96860FC b323 + // + inline BOOL UgcUpdateContent(const char* contentId, Any* data, int dataCount, const char* contentName, const char* description, const char* tagsCsv, const char* contentTypeName, Any p7) { return _i(0x648E7A5434AF7969,contentId, data, dataCount, contentName, description, tagsCsv, contentTypeName, p7); } // 0x648E7A5434AF7969 0x459F2683 b323 + // + inline BOOL UgcUpdateMission(const char* contentId, const char* contentName, const char* description, const char* tagsCsv, const char* contentTypeName, Any p5) { return _i(0x4645DE9980999E93,contentId, contentName, description, tagsCsv, contentTypeName, p5); } // 0x4645DE9980999E93 0xDBB83E2B b323 + // + inline BOOL UgcSetPlayerData(const char* contentId, float rating, const char* contentTypeName, Any p3) { return _i(0x692D808C34A82143,contentId, rating, contentTypeName, p3); } // 0x692D808C34A82143 0xBB6321BD b323 + // inline BOOL DatafileSelectUgcData(int p0, Any p1) { return _i(0xA69AC4ADE82B57A4,p0, p1); } // 0xA69AC4ADE82B57A4 0xE8D56DA2 b323 - // + // inline BOOL DatafileSelectUgcStats(int p0, BOOL p1, Any p2) { return _i(0x9CB0BFA7A9342C3D,p0, p1, p2); } // 0x9CB0BFA7A9342C3D 0xCB6A351E b323 - // + // inline BOOL DatafileSelectUgcPlayerData(int p0, Any p1) { return _i(0x52818819057F2B40,p0, p1); } // 0x52818819057F2B40 0xA4D1B30E b323 - // + // inline BOOL DatafileSelectCreatorStats(int p0, Any p1) { return _i(0x1095C95CD46B624,p0, p1); } // 0x1095C95CD46B624 0xB8515B2F b323 - // 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. + // 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::DatafileLoadOfflineUgc("RockstarPlaylists") // loads "rockstarplaylists_00.ugc" - inline BOOL DatafileLoadOfflineUgc(String filename, Any p1) { return _i(0xC5238C011AF405E4,filename, p1); } // 0xC5238C011AF405E4 0x660C468E b323 - // + inline BOOL DatafileLoadOfflineUgc(const char* filename, Any p1) { return _i(0xC5238C011AF405E4,filename, p1); } // 0xC5238C011AF405E4 0x660C468E b323 + // inline Void DatafileCreate(int p0) { return _i(0xD27058A1CA2B13EE,p0); } // 0xD27058A1CA2B13EE 0x95F8A221 b323 - // + // inline Void DatafileDelete(int p0) { return _i(0x9AB9C1CFC8862DFB,p0); } // 0x9AB9C1CFC8862DFB 0xDEF31B0A b323 - // + // inline Void DatafileStoreMissionHeader(int p0) { return _i(0x2ED61456317B8178,p0); } // 0x2ED61456317B8178 0x4E03F632 b323 - // + // inline Void DatafileFlushMissionHeader() { return _i(0xC55854C7D7274882); } // 0xC55854C7D7274882 0xF11F956F b323 - // + // inline Any* DatafileGetFileDict(int p0) { return _i(0x906B778CA1DC72B6,p0); } // 0x906B778CA1DC72B6 0x86DDF9C2 b323 - // - inline BOOL DatafileStartSaveToCloud(String filename, Any p1) { return _i(0x83BCCE3224735F05,filename, p1); } // 0x83BCCE3224735F05 0x768CBB35 b323 - // + // + inline BOOL DatafileStartSaveToCloud(const char* filename, Any p1) { return _i(0x83BCCE3224735F05,filename, p1); } // 0x83BCCE3224735F05 0x768CBB35 b323 + // inline BOOL DatafileUpdateSaveToCloud(BOOL* p0) { return _i(0x4DFDD9EB705F8140,p0); } // 0x4DFDD9EB705F8140 0x0B4087F7 b323 - // + // inline BOOL DatafileIsSavePending() { return _i(0xBEDB96A7584AA8CF); } // 0xBEDB96A7584AA8CF 0x5DCD0796 b323 - // + // inline BOOL DatafileLoadOfflineUgcForAdditionalDataFile(Any p0, Any p1) { return _i(0xA6EEF01087181EDD,p0, p1); } // 0xA6EEF01087181EDD b2189 - // + // inline Void DatafileDeleteForAdditionalDataFile(Any p0) { return _i(0x6AD0BD5E087866CB,p0); } // 0x6AD0BD5E087866CB b2189 - // + // inline Any* DatafileGetFileDictForAdditionalDataFile(Any p0) { return _i(0xDBF860CF1DB8E599,p0); } // 0xDBF860CF1DB8E599 b2189 - // - inline Void DatadictSetBool(Any* objectData, String key, BOOL value) { return _i(0x35124302A556A325,objectData, key, value); } // 0x35124302A556A325 0x9B29D99B b323 - // - inline Void DatadictSetInt(Any* objectData, String key, int value) { return _i(0xE7E035450A7948D5,objectData, key, value); } // 0xE7E035450A7948D5 0xEFCF554A b323 - // - inline Void DatadictSetFloat(Any* objectData, String key, float value) { return _i(0xC27E1CC2D795105E,objectData, key, value); } // 0xC27E1CC2D795105E 0xE972CACF b323 - // - inline Void DatadictSetString(Any* objectData, String key, String value) { return _i(0x8FF3847DADD8E30C,objectData, key, value); } // 0x8FF3847DADD8E30C 0xD437615C b323 - // - inline Void DatadictSetVector(Any* objectData, String key, float valueX, float valueY, float valueZ) { return _i(0x4CD49B76338C7DEE,objectData, key, valueX, valueY, valueZ); } // 0x4CD49B76338C7DEE 0x75FC6C3C b323 - // - inline Any* DatadictCreateDict(Any* objectData, String key) { return _i(0xA358F56F10732EE1,objectData, key); } // 0xA358F56F10732EE1 0x96A8E05F b323 - // - inline Any* DatadictCreateArray(Any* objectData, String key) { return _i(0x5B11728527CA6E5F,objectData, key); } // 0x5B11728527CA6E5F 0x03939B8D b323 - // - inline BOOL DatadictGetBool(Any* objectData, String key) { return _i(0x1186940ED72FFEEC,objectData, key); } // 0x1186940ED72FFEEC 0x8876C872 b323 - // - inline int DatadictGetInt(Any* objectData, String key) { return _i(0x78F06F6B1FB5A80C,objectData, key); } // 0x78F06F6B1FB5A80C 0xA6C68693 b323 - // - inline float DatadictGetFloat(Any* objectData, String key) { return _i(0x6610343E73B9727,objectData, key); } // 0x6610343E73B9727 0xA92C1AF4 b323 - // - inline String DatadictGetString(Any* objectData, String key) { return _i(0x3D2FD9E763B24472,objectData, key); } // 0x3D2FD9E763B24472 0x942160EC b323 - // - inline Vector3 DatadictGetVector(Any* objectData, String key) { return _i(0x46CD3CB66E0825CC,objectData, key); } // 0x46CD3CB66E0825CC 0xE84A127A b323 - // - inline Any* DatadictGetDict(Any* objectData, String key) { return _i(0xB6B9DDC412FCEEE2,objectData, key); } // 0xB6B9DDC412FCEEE2 0xC9C13D8D b323 - // - inline Any* DatadictGetArray(Any* objectData, String key) { return _i(0x7A983AA9DA2659ED,objectData, key); } // 0x7A983AA9DA2659ED 0x1F2F7D00 b323 - // Types: + // + inline Void DatadictSetBool(Any* objectData, const char* key, BOOL value) { return _i(0x35124302A556A325,objectData, key, value); } // 0x35124302A556A325 0x9B29D99B b323 + // + inline Void DatadictSetInt(Any* objectData, const char* key, int value) { return _i(0xE7E035450A7948D5,objectData, key, value); } // 0xE7E035450A7948D5 0xEFCF554A b323 + // + inline Void DatadictSetFloat(Any* objectData, const char* key, float value) { return _i(0xC27E1CC2D795105E,objectData, key, value); } // 0xC27E1CC2D795105E 0xE972CACF b323 + // + inline Void DatadictSetString(Any* objectData, const char* key, const char* value) { return _i(0x8FF3847DADD8E30C,objectData, key, value); } // 0x8FF3847DADD8E30C 0xD437615C b323 + // + inline Void DatadictSetVector(Any* objectData, const char* key, float valueX, float valueY, float valueZ) { return _i(0x4CD49B76338C7DEE,objectData, key, valueX, valueY, valueZ); } // 0x4CD49B76338C7DEE 0x75FC6C3C b323 + // + inline Any* DatadictCreateDict(Any* objectData, const char* key) { return _i(0xA358F56F10732EE1,objectData, key); } // 0xA358F56F10732EE1 0x96A8E05F b323 + // + inline Any* DatadictCreateArray(Any* objectData, const char* key) { return _i(0x5B11728527CA6E5F,objectData, key); } // 0x5B11728527CA6E5F 0x03939B8D b323 + // + inline BOOL DatadictGetBool(Any* objectData, const char* key) { return _i(0x1186940ED72FFEEC,objectData, key); } // 0x1186940ED72FFEEC 0x8876C872 b323 + // + inline int DatadictGetInt(Any* objectData, const char* key) { return _i(0x78F06F6B1FB5A80C,objectData, key); } // 0x78F06F6B1FB5A80C 0xA6C68693 b323 + // + inline float DatadictGetFloat(Any* objectData, const char* key) { return _i(0x6610343E73B9727,objectData, key); } // 0x6610343E73B9727 0xA92C1AF4 b323 + // + inline const char* DatadictGetString(Any* objectData, const char* key) { return _i(0x3D2FD9E763B24472,objectData, key); } // 0x3D2FD9E763B24472 0x942160EC b323 + // + inline Vector3 DatadictGetVector(Any* objectData, const char* key) { return _i(0x46CD3CB66E0825CC,objectData, key); } // 0x46CD3CB66E0825CC 0xE84A127A b323 + // + inline Any* DatadictGetDict(Any* objectData, const char* key) { return _i(0xB6B9DDC412FCEEE2,objectData, key); } // 0xB6B9DDC412FCEEE2 0xC9C13D8D b323 + // + inline Any* DatadictGetArray(Any* objectData, const char* key) { return _i(0x7A983AA9DA2659ED,objectData, key); } // 0x7A983AA9DA2659ED 0x1F2F7D00 b323 + // Types: // 1 = Boolean // 2 = Integer // 3 = Float @@ -2191,34 +2191,34 @@ namespace DATAFILE // 5 = Vector3 // 6 = Object // 7 = Array - inline int DatadictGetType(Any* objectData, String key) { return _i(0x31C55ED33227371,objectData, key); } // 0x31C55ED33227371 0x2678342A b323 - // + inline int DatadictGetType(Any* objectData, const char* key) { return _i(0x31C55ED33227371,objectData, key); } // 0x31C55ED33227371 0x2678342A b323 + // inline Void DataarrayAddBool(Any* arrayData, BOOL value) { return _i(0xF8B0F5A43E928C76,arrayData, value); } // 0xF8B0F5A43E928C76 0x08174B90 b323 - // + // inline Void DataarrayAddInt(Any* arrayData, int value) { return _i(0xCABDB751D86FE93B,arrayData, value); } // 0xCABDB751D86FE93B 0xF29C0B36 b323 - // + // inline Void DataarrayAddFloat(Any* arrayData, float value) { return _i(0x57A995FD75D37F56,arrayData, value); } // 0x57A995FD75D37F56 0xE4302123 b323 - // - inline Void DataarrayAddString(Any* arrayData, String value) { return _i(0x2F0661C155AEEEAA,arrayData, value); } // 0x2F0661C155AEEEAA 0xF3C01350 b323 - // + // + inline Void DataarrayAddString(Any* arrayData, const char* value) { return _i(0x2F0661C155AEEEAA,arrayData, value); } // 0x2F0661C155AEEEAA 0xF3C01350 b323 + // inline Void DataarrayAddVector(Any* arrayData, float valueX, float valueY, float valueZ) { return _i(0x407F8D034F70F0C2,arrayData, valueX, valueY, valueZ); } // 0x407F8D034F70F0C2 0x16F464B6 b323 - // + // inline Any* DataarrayAddDict(Any* arrayData) { return _i(0x6889498B3E19C797,arrayData); } // 0x6889498B3E19C797 0xC174C71B b323 - // + // inline BOOL DataarrayGetBool(Any* arrayData, int arrayIndex) { return _i(0x50C1B2874E50C114,arrayData, arrayIndex); } // 0x50C1B2874E50C114 0xA2E5F921 b323 - // + // inline int DataarrayGetInt(Any* arrayData, int arrayIndex) { return _i(0x3E5AE19425CD74BE,arrayData, arrayIndex); } // 0x3E5AE19425CD74BE 0xBB120CFC b323 - // + // inline float DataarrayGetFloat(Any* arrayData, int arrayIndex) { return _i(0xC0C527B525D7CFB5,arrayData, arrayIndex); } // 0xC0C527B525D7CFB5 0x08AD2CC2 b323 - // - inline String DataarrayGetString(Any* arrayData, int arrayIndex) { return _i(0xD3F2FFEB8D836F52,arrayData, arrayIndex); } // 0xD3F2FFEB8D836F52 0x93F985A6 b323 - // + // + inline const char* DataarrayGetString(Any* arrayData, int arrayIndex) { return _i(0xD3F2FFEB8D836F52,arrayData, arrayIndex); } // 0xD3F2FFEB8D836F52 0x93F985A6 b323 + // inline Vector3 DataarrayGetVector(Any* arrayData, int arrayIndex) { return _i(0x8D2064E5B64A628A,arrayData, arrayIndex); } // 0x8D2064E5B64A628A 0x80E3DA55 b323 - // + // inline Any* DataarrayGetDict(Any* arrayData, int arrayIndex) { return _i(0x8B5FADCC4E3A145F,arrayData, arrayIndex); } // 0x8B5FADCC4E3A145F 0xECE81278 b323 - // + // inline int DataarrayGetCount(Any* arrayData) { return _i(0x65DB281590CEA2D,arrayData); } // 0x65DB281590CEA2D 0xA8A21766 b323 - // Types: + // Types: // 1 = Boolean // 2 = Integer // 3 = Float @@ -2231,58 +2231,58 @@ namespace DATAFILE namespace DECORATOR { - // - inline BOOL DecorSetTime(Entity entity, String propertyName, int timestamp) { return _i(0x95AED7B8E39ECAA4,entity, propertyName, timestamp); } // 0x95AED7B8E39ECAA4 0xBBAEEF94 b323 - // This function sets metadata of type bool to specified entity. - // - inline BOOL DecorSetBool(Entity entity, String propertyName, BOOL value) { return _i(0x6B1E8E2ED1335B71,entity, propertyName, value); } // 0x6B1E8E2ED1335B71 0x8E101F5C b323 - // - inline BOOL DecorSetFloat(Entity entity, String propertyName, float value) { return _i(0x211AB1DD8D0F363A,entity, propertyName, value); } // 0x211AB1DD8D0F363A 0xBC7BD5CB b323 - // Sets property to int. - inline BOOL DecorSetInt(Entity entity, String propertyName, int value) { return _i(0xCE3AA5E1CA19E10,entity, propertyName, value); } // 0xCE3AA5E1CA19E10 0xDB718B21 b323 - // - inline BOOL DecorGetBool(Entity entity, String propertyName) { return _i(0xDACE671663F2F5DB,entity, propertyName); } // 0xDACE671663F2F5DB 0xDBCE51E0 b323 - // - inline float DecorGetFloat(Entity entity, String propertyName) { return _i(0x6524A2F114706F43,entity, propertyName); } // 0x6524A2F114706F43 0x8DE5382F b323 - // - inline int DecorGetInt(Entity entity, String propertyName) { return _i(0xA06C969B02A97298,entity, propertyName); } // 0xA06C969B02A97298 0xDDDE59B5 b323 - // Returns whether or not the specified property is set for the entity. - inline BOOL DecorExistOn(Entity entity, String propertyName) { return _i(0x5661B80A8C9165F,entity, propertyName); } // 0x5661B80A8C9165F 0x74EF9C40 b323 - // - inline BOOL DecorRemove(Entity entity, String propertyName) { return _i(0xEE9F297C738720,entity, propertyName); } // 0xEE9F297C738720 0xE0E2640B b323 - // https://alloc8or.re/gta5/doc/enums/eDecorType.txt - inline Void DecorRegister(String propertyName, int type) { return _i(0x9FD90732F56403CE,propertyName, type); } // 0x9FD90732F56403CE 0x68BD42A9 b323 - // type: see DecorRegister - inline BOOL DecorIsRegisteredAsType(String propertyName, int type) { return _i(0x4F14F9F870D6FBC8,propertyName, type); } // 0x4F14F9F870D6FBC8 0x7CF0971D b323 - // Called after all decorator type initializations. + // + inline BOOL DecorSetTime(Entity entity, const char* propertyName, int timestamp) { return _i(0x95AED7B8E39ECAA4,entity, propertyName, timestamp); } // 0x95AED7B8E39ECAA4 0xBBAEEF94 b323 + // This function sets metadata of type bool to specified entity. + // + inline BOOL DecorSetBool(Entity entity, const char* propertyName, BOOL value) { return _i(0x6B1E8E2ED1335B71,entity, propertyName, value); } // 0x6B1E8E2ED1335B71 0x8E101F5C b323 + // + inline BOOL DecorSetFloat(Entity entity, const char* propertyName, float value) { return _i(0x211AB1DD8D0F363A,entity, propertyName, value); } // 0x211AB1DD8D0F363A 0xBC7BD5CB b323 + // Sets property to int. + inline BOOL DecorSetInt(Entity entity, const char* propertyName, int value) { return _i(0xCE3AA5E1CA19E10,entity, propertyName, value); } // 0xCE3AA5E1CA19E10 0xDB718B21 b323 + // + inline BOOL DecorGetBool(Entity entity, const char* propertyName) { return _i(0xDACE671663F2F5DB,entity, propertyName); } // 0xDACE671663F2F5DB 0xDBCE51E0 b323 + // + inline float DecorGetFloat(Entity entity, const char* propertyName) { return _i(0x6524A2F114706F43,entity, propertyName); } // 0x6524A2F114706F43 0x8DE5382F b323 + // + inline int DecorGetInt(Entity entity, const char* propertyName) { return _i(0xA06C969B02A97298,entity, propertyName); } // 0xA06C969B02A97298 0xDDDE59B5 b323 + // Returns whether or not the specified property is set for the entity. + inline BOOL DecorExistOn(Entity entity, const char* propertyName) { return _i(0x5661B80A8C9165F,entity, propertyName); } // 0x5661B80A8C9165F 0x74EF9C40 b323 + // + inline BOOL DecorRemove(Entity entity, const char* propertyName) { return _i(0xEE9F297C738720,entity, propertyName); } // 0xEE9F297C738720 0xE0E2640B b323 + // https://alloc8or.re/gta5/doc/enums/eDecorType.txt + inline Void DecorRegister(const char* propertyName, int type) { return _i(0x9FD90732F56403CE,propertyName, type); } // 0x9FD90732F56403CE 0x68BD42A9 b323 + // type: see DecorRegister + inline BOOL DecorIsRegisteredAsType(const char* propertyName, int type) { return _i(0x4F14F9F870D6FBC8,propertyName, type); } // 0x4F14F9F870D6FBC8 0x7CF0971D b323 + // Called after all decorator type initializations. inline Void DecorRegisterLock() { return _i(0xA9D14EEA259F9248); } // 0xA9D14EEA259F9248 0x7F3F1C02 b323 } namespace DLC { - // + // inline BOOL AreAnyCcsPending() { return _i(0x241FCA5B1AA14F75); } // 0x241FCA5B1AA14F75 0x0AF83036 b323 - // Returns true if the given DLC pack is present. + // Returns true if the given DLC pack is present. inline BOOL IsDlcPresent(Hash dlcHash) { return _i(0x812595A0644CE1DE,dlcHash); } // 0x812595A0644CE1DE 0x1F321943 b323 - // This function is hard-coded to always return 1. + // This function is hard-coded to always return 1. inline BOOL DlcCheckCloudDataCorrect() { return _i(0xF2E07819EF1A5289); } // 0xF2E07819EF1A5289 0x881B1FDB b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline int GetExtracontentCloudResult() { return _i(0x9489659372A81585); } // 0x9489659372A81585 0xC2169164 b323 - // This function is hard-coded to always return 1. + // This function is hard-coded to always return 1. inline BOOL DlcCheckCompatPackConfiguration() { return _i(0xA213B11DFF526300); } // 0xA213B11DFF526300 0xF79A97F5 b323 - // + // inline BOOL GetEverHadBadPackOrder() { return _i(0x8D30F648014A92B5); } // 0x8D30F648014A92B5 0xF69B729C b323 - // + // inline BOOL GetIsLoadingScreenActive() { return _i(0x10D0A8F259E93EC9); } // 0x10D0A8F259E93EC9 0x517B601B b323 - // + // inline BOOL GetIsInitialLoadingScreenActive() { return _i(0xC4637A6D03C24CC3); } // 0xC4637A6D03C24CC3 b1734 - // Sets the value of the specified variable to 0. + // Sets the value of the specified variable to 0. // Always returns true. inline BOOL HasCloudRequestsFinished(BOOL* p0, int unused) { return _i(0x46E2B844905BC5F0,p0, unused); } // 0x46E2B844905BC5F0 0x6087C10C b323 - // Unloads GROUP_MAP (GTAO/MP) DLC data and loads GROUP_MAP_SP DLC. Neither are loaded by default, OnEnterMp is a cognate to this function and loads MP DLC (and unloads SP DLC by extension). + // Unloads GROUP_MAP (GTAO/MP) DLC data and loads GROUP_MAP_SP DLC. Neither are loaded by default, OnEnterMp is a cognate to this function and loads MP DLC (and unloads SP DLC by extension). // Works in singleplayer. inline Void OnEnterSp() { return _i(0xD7C10C4A637992C9); } // 0xD7C10C4A637992C9 0x8BF60FC3 b323 - // This loads the GTA:O dlc map parts (high end garages, apartments). + // 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); inline Void OnEnterMp() { return _i(0x888C3502DBBEEF5); } // 0x888C3502DBBEEF5 0xC65586A9 b323 @@ -2290,59 +2290,59 @@ namespace DLC namespace ENTITY { - // Checks whether an entity exists in the game world. + // Checks whether an entity exists in the game world. inline BOOL DoesEntityExist(Entity entity) { return _i(0x7239B21A38F536BA,entity); } // 0x7239B21A38F536BA 0x3AC90869 b323 - // + // inline BOOL DoesEntityBelongToThisScript(Entity entity, BOOL p1) { return _i(0xDDE6DF5AE89981D2,entity, p1); } // 0xDDE6DF5AE89981D2 0xACFEB3F9 b323 - // + // inline BOOL DoesEntityHaveDrawable(Entity entity) { return _i(0x60D6E96F8B8E48D,entity); } // 0x60D6E96F8B8E48D 0xA5B33300 b323 - // + // inline BOOL DoesEntityHavePhysics(Entity entity) { return _i(0xDA95EA3317CC5064,entity); } // 0xDA95EA3317CC5064 0x9BCD2979 b323 - // + // inline BOOL DoesEntityHaveSkeleton(Entity entity) { return _i(0x764EB96874EFFDC1,entity); } // 0x764EB96874EFFDC1 b2699 - // + // inline BOOL DoesEntityHaveAnimDirector(Entity entity) { return _i(0x2158E81A6AF65EA9,entity); } // 0x2158E81A6AF65EA9 b2699 - // P3 is always 3 as far as i cant tell + // 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 - inline BOOL HasEntityAnimFinished(Entity entity, String animDict, String animName, int p3) { return _i(0x20B711662962B472,entity, animDict, animName, p3); } // 0x20B711662962B472 0x1D9CAB92 b323 - // + inline BOOL HasEntityAnimFinished(Entity entity, const char* animDict, const char* animName, int p3) { return _i(0x20B711662962B472,entity, animDict, animName, p3); } // 0x20B711662962B472 0x1D9CAB92 b323 + // inline BOOL HasEntityBeenDamagedByAnyObject(Entity entity) { return _i(0x95EB9964FF5C5C65,entity); } // 0x95EB9964FF5C5C65 0x6B74582E b323 - // + // inline BOOL HasEntityBeenDamagedByAnyPed(Entity entity) { return _i(0x605F5A140F202491,entity); } // 0x605F5A140F202491 0x53FD4A25 b323 - // + // inline BOOL HasEntityBeenDamagedByAnyVehicle(Entity entity) { return _i(0xDFD5033FDBA0A9C8,entity); } // 0xDFD5033FDBA0A9C8 0x878C2CE0 b323 - // Entity 1 = Victim + // Entity 1 = Victim // Entity 2 = Attacker // // p2 seems to always be 1 inline BOOL HasEntityBeenDamagedByEntity(Entity entity1, Entity entity2, BOOL p2) { return _i(0xC86D67D52A707CF8,entity1, entity2, p2); } // 0xC86D67D52A707CF8 0x07FC77E0 b323 - // traceType is always 17 in the scripts. + // 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 inline BOOL HasEntityClearLosToEntity(Entity entity1, Entity entity2, int traceType) { return _i(0xFCDFF7B72D23A1AC,entity1, entity2, traceType); } // 0xFCDFF7B72D23A1AC 0x53576FA7 b323 - // + // inline BOOL HasEntityClearLosToEntityAdjustForCover(Entity entity1, Entity entity2, int traceType) { return _i(0x394BDE2A7BBA031E,entity1, entity2, traceType); } // 0x394BDE2A7BBA031E b1868 - // Has the entity1 got a clear line of sight to the other entity2 from the direction entity1 is facing. + // 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 inline BOOL HasEntityClearLosToEntityInFront(Entity entity1, Entity entity2) { return _i(0x267D00AF114F17A,entity1, entity2); } // 0x267D00AF114F17A 0x210D87C8 b323 - // Called on tick. + // 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. inline BOOL HasEntityCollidedWithAnything(Entity entity) { return _i(0x8BAD02F0368D9E14,entity); } // 0x8BAD02F0368D9E14 0x662A2F41 b323 - // + // inline Entity GetLastEntityHitByEntity(Entity entity) { return _i(0xA75EE4F689B85391,entity); } // 0xA75EE4F689B85391 b2802 - // + // inline Hash GetLastMaterialHitByEntity(Entity entity) { return _i(0x5C3D0A935F535C4C,entity); } // 0x5C3D0A935F535C4C 0xC0E3AA47 b323 - // + // inline Vector3 GetCollisionNormalOfLastHitForEntity(Entity entity) { return _i(0xE465D4AB7CA6AE72,entity); } // 0xE465D4AB7CA6AE72 0xAB415C07 b323 - // Based on carmod_shop script decompile this takes a vehicle parameter. It is called when repair is done on initial enter. + // Based on carmod_shop script decompile this takes a vehicle parameter. It is called when repair is done on initial enter. inline Void ForceEntityAiAndAnimationUpdate(Entity entity) { return _i(0x40FDEDB72F8293B2,entity); } // 0x40FDEDB72F8293B2 0x58D9775F b323 - // 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. + // 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. @@ -2350,36 +2350,36 @@ namespace ENTITY // 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 - inline float GetEntityAnimCurrentTime(Entity entity, String animDict, String animName) { return _i(0x346D81500D088F42,entity, animDict, animName); } // 0x346D81500D088F42 0x83943F41 b323 - // Returns a float value representing animation's total playtime in milliseconds. + inline float GetEntityAnimCurrentTime(Entity entity, const char* animDict, const char* animName) { return _i(0x346D81500D088F42,entity, animDict, animName); } // 0x346D81500D088F42 0x83943F41 b323 + // Returns a float value representing animation's total playtime in milliseconds. // // Example: // GetEntityAnimTotalTime(PlayerId(),"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 - inline float GetEntityAnimTotalTime(Entity entity, String animDict, String animName) { return _i(0x50BD2730B191E360,entity, animDict, animName); } // 0x50BD2730B191E360 0x433A9D18 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline float GetAnimDuration(String animDict, String animName) { return _i(0xFEDDF04D62B8D790,animDict, animName); } // 0xFEDDF04D62B8D790 0x8B5E3E3D b323 - // + inline float GetEntityAnimTotalTime(Entity entity, const char* animDict, const char* animName) { return _i(0x50BD2730B191E360,entity, animDict, animName); } // 0x50BD2730B191E360 0x433A9D18 b323 + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline float GetAnimDuration(const char* animDict, const char* animName) { return _i(0xFEDDF04D62B8D790,animDict, animName); } // 0xFEDDF04D62B8D790 0x8B5E3E3D b323 + // inline Entity GetEntityAttachedTo(Entity entity) { return _i(0x48C2BED9180FE123,entity); } // 0x48C2BED9180FE123 0xFE1589F9 b323 - // Gets the current coordinates for a specified entity. + // 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. inline Vector3 GetEntityCoords(Entity entity, BOOL alive) { return _i(0x3FEF770D40960D5A,entity, alive); } // 0x3FEF770D40960D5A 0x1647F1CB b323 - // Gets the entity's forward vector. + // Gets the entity's forward vector. inline Vector3 GetEntityForwardVector(Entity entity) { return _i(0xA794A5A57F8DF91,entity); } // 0xA794A5A57F8DF91 0x84DCECBF b323 - // Gets the X-component of the entity's forward vector. + // Gets the X-component of the entity's forward vector. inline float GetEntityForwardX(Entity entity) { return _i(0x8BB4EF4214E0E6D5,entity); } // 0x8BB4EF4214E0E6D5 0x49FAE914 b323 - // Gets the Y-component of the entity's forward vector. + // Gets the Y-component of the entity's forward vector. inline float GetEntityForwardY(Entity entity) { return _i(0x866A4A5FAE349510,entity); } // 0x866A4A5FAE349510 0x9E2F917C b323 - // Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity. + // Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity. inline float GetEntityHeading(Entity entity) { return _i(0xE83D4F9BA2A38914,entity); } // 0xE83D4F9BA2A38914 0x972CC383 b323 - // Gets the heading of the entity physics in degrees, which tends to be more accurate than just "GetEntityHeading". This can be clearly seen while, for example, ragdolling a ped/player. + // Gets the heading of the entity physics in degrees, which tends to be more accurate than just "GetEntityHeading". 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. inline float GetEntityHeadingFromEulers(Entity entity) { return _i(0x846BF6291198A71E,entity); } // 0x846BF6291198A71E 0x9320E642 b323 - // Returns an integer value of entity's current health. + // Returns an integer value of entity's current health. // // Example of range for ped: // - Player [0 to 200] @@ -2391,47 +2391,47 @@ namespace ENTITY // In order to get the actual value, do: // float health = *(float *)(entityAddress + 0x280); inline int GetEntityHealth(Entity entity) { return _i(0xEEF059FAD016D209,entity); } // 0xEEF059FAD016D209 0x8E3222B7 b323 - // Return an integer value of entity's maximum health. + // Return an integer value of entity's maximum health. // // Example: // - Player = 200 // - Ped = 150 inline int GetEntityMaxHealth(Entity entity) { return _i(0x15D757606D170C3C,entity); } // 0x15D757606D170C3C 0xC7AE6AA1 b323 - // For instance: ENTITY::SetEntityMaxHealth(PLAYER::PlayerPedId(), 200); // director_mode.c4: 67849 + // For instance: ENTITY::SetEntityMaxHealth(PLAYER::PlayerPedId(), 200); // director_mode.c4: 67849 inline Void SetEntityMaxHealth(Entity entity, int value) { return _i(0x166E7CF68597D8B5,entity, value); } // 0x166E7CF68597D8B5 0x96F84DF8 b323 - // + // inline float GetEntityHeight(Entity entity, float X, float Y, float Z, BOOL atTop, BOOL inWorldCoords) { return _i(0x5A504562485944DD,entity, X, Y, Z, atTop, inWorldCoords); } // 0x5A504562485944DD 0xEE443481 b323 - // Return height (z-dimension) above ground. + // 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. inline float GetEntityHeightAboveGround(Entity entity) { return _i(0x1DD55701034110E5,entity); } // 0x1DD55701034110E5 0x57F56A4D b323 - // + // inline Void GetEntityMatrix(Entity entity, Vector3* forwardVector, Vector3* rightVector, Vector3* upVector, Vector3* position) { return _i(0xECB2FC7235A7D137,entity, forwardVector, rightVector, upVector, position); } // 0xECB2FC7235A7D137 0xEB9EB001 b323 - // Returns the model hash from the entity + // Returns the model hash from the entity inline Hash GetEntityModel(Entity entity) { return _i(0x9F47B058362C84B5,entity); } // 0x9F47B058362C84B5 0xDAFCB3EC b323 - // Converts world coords (posX - Z) to coords relative to the entity + // 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). inline Vector3 GetOffsetFromEntityGivenWorldCoords(Entity entity, float posX, float posY, float posZ) { return _i(0x2274BC1C4885E333,entity, posX, posY, posZ); } // 0x2274BC1C4885E333 0x6477EC9E b323 - // Offset values are relative to the entity. + // Offset values are relative to the entity. // // x = left/right // y = forward/backward // z = up/down inline Vector3 GetOffsetFromEntityInWorldCoords(Entity entity, float offsetX, float offsetY, float offsetZ) { return _i(0x1899F328B0E12848,entity, offsetX, offsetY, offsetZ); } // 0x1899F328B0E12848 0xABCF043A b323 - // + // inline float GetEntityPitch(Entity entity) { return _i(0xD45DC2893621E1FE,entity); } // 0xD45DC2893621E1FE 0xFCE6ECE5 b323 - // w is the correct parameter name! + // w is the correct parameter name! inline Void GetEntityQuaternion(Entity entity, float* x, float* y, float* z, float* w) { return _i(0x7B3703D2D32DFA18,entity, x, y, z, w); } // 0x7B3703D2D32DFA18 0x5154EC90 b323 - // Displays the current ROLL axis of the entity [-180.0000/180.0000+] + // Displays the current ROLL axis of the entity [-180.0000/180.0000+] // (Sideways Roll) such as a vehicle tipped on its side inline float GetEntityRoll(Entity entity) { return _i(0x831E0242595560DF,entity); } // 0x831E0242595560DF 0x36610842 b323 - // rotationOrder is the order yaw, pitch and roll is applied. Usually 2. Returns a vector where the Z coordinate is the yaw. + // 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. @@ -2446,11 +2446,11 @@ namespace ENTITY // 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. inline Vector3 GetEntityRotation(Entity entity, int rotationOrder) { return _i(0xAFBD61CC738D9EB9,entity, rotationOrder); } // 0xAFBD61CC738D9EB9 0x8FF45B04 b323 - // + // inline Vector3 GetEntityRotationVelocity(Entity entity) { return _i(0x213B91045D09B983,entity); } // 0x213B91045D09B983 0x9BF8A73F b323 - // Returns the name of the script that owns/created the entity or nullptr. Second parameter is unused, can just be a nullptr. - inline String GetEntityScript(Entity entity, ScrHandle* script) { return _i(0xA6E9C38DB51D7748,entity, script); } // 0xA6E9C38DB51D7748 0xB7F70784 b323 - // result is in meters per second + // Returns the name of the script that owns/created the entity or nullptr. Second parameter is unused, can just be a nullptr. + inline const char* GetEntityScript(Entity entity, ScrHandle* script) { return _i(0xA6E9C38DB51D7748,entity, script); } // 0xA6E9C38DB51D7748 0xB7F70784 b323 + // result is in meters per second // // ------------------------------------------------------------ // So would the conversion to mph and km/h, be along the lines of this. @@ -2460,115 +2460,115 @@ namespace ENTITY // float mph = (speed * 2.236936); // ------------------------------------------------------------ inline float GetEntitySpeed(Entity entity) { return _i(0xD5037BA82E12416F,entity); } // 0xD5037BA82E12416F 0x9E1E4798 b323 - // 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). + // 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). inline Vector3 GetEntitySpeedVector(Entity entity, BOOL relative) { return _i(0x9A8D700A51CB7B0D,entity, relative); } // 0x9A8D700A51CB7B0D 0x3ED2B997 b323 - // + // inline float GetEntityUprightValue(Entity entity) { return _i(0x95EED5A694951F9F,entity); } // 0x95EED5A694951F9F 0xF4268190 b323 - // + // inline Vector3 GetEntityVelocity(Entity entity) { return _i(0x4805D2B1D8CF94A9,entity); } // 0x4805D2B1D8CF94A9 0xC14C9B6B b323 - // Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). + // Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). inline Object GetObjectIndexFromEntityIndex(Entity entity) { return _i(0xD7E3B9735C0F89D6,entity); } // 0xD7E3B9735C0F89D6 0xBC5A9C58 b323 - // Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). + // Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). inline Ped GetPedIndexFromEntityIndex(Entity entity) { return _i(0x4A2A40C73395041,entity); } // 0x4A2A40C73395041 0xC46F74AC b323 - // Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). + // Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). inline Vehicle GetVehicleIndexFromEntityIndex(Entity entity) { return _i(0x4B53F92932ADFAC0,entity); } // 0x4B53F92932ADFAC0 0xC69CF43D b323 - // Returns the coordinates of an entity-bone. + // Returns the coordinates of an entity-bone. inline Vector3 GetWorldPositionOfEntityBone(Entity entity, int boneIndex) { return _i(0x44A8FCB8ED227738,entity, boneIndex); } // 0x44A8FCB8ED227738 0x7C6339DF b323 - // + // inline Player GetNearestPlayerToEntity(Entity entity) { return _i(0x7196842CB375CDB3,entity); } // 0x7196842CB375CDB3 0xCE17FDEC b323 - // + // inline Player GetNearestPlayerToEntityOnTeam(Entity entity, int team) { return _i(0x4DC9A62F844D9337,entity, team); } // 0x4DC9A62F844D9337 0xB1808F56 b323 - // + // inline int GetNearestParticipantToEntity(Entity entity) { return _i(0xFFBD7052D65BE0FF,entity); } // 0xFFBD7052D65BE0FF b2944 - // Returns: + // Returns: // 0 = no entity // 1 = ped // 2 = vehicle // 3 = object inline int GetEntityType(Entity entity) { return _i(0x8ACD366038D14505,entity); } // 0x8ACD366038D14505 0x0B1BD08D b323 - // A population type, from the following enum: https://alloc8or.re/gta5/doc/enums/ePopulationType.txt + // A population type, from the following enum: https://alloc8or.re/gta5/doc/enums/ePopulationType.txt inline int GetEntityPopulationType(Entity entity) { return _i(0xF6F5161F4534EDFF,entity); } // 0xF6F5161F4534EDFF 0xFC30DDFF b323 - // + // inline BOOL IsAnEntity(ScrHandle handle) { return _i(0x731EC8A916BD11A1,handle); } // 0x731EC8A916BD11A1 0xD4B9715A b323 - // + // inline BOOL IsEntityAPed(Entity entity) { return _i(0x524AC5ECEA15343E,entity); } // 0x524AC5ECEA15343E 0x55D33EAB b323 - // + // inline BOOL IsEntityAMissionEntity(Entity entity) { return _i(0xA7B270912999B3C,entity); } // 0xA7B270912999B3C 0x2632E124 b323 - // + // inline BOOL IsEntityAVehicle(Entity entity) { return _i(0x6AC7003FA6E5575E,entity); } // 0x6AC7003FA6E5575E 0xBE800B01 b323 - // + // inline BOOL IsEntityAnObject(Entity entity) { return _i(0x8D68C8FD0FACA94E,entity); } // 0x8D68C8FD0FACA94E 0x3F52E561 b323 - // Checks if entity is within x/y/zSize distance of x/y/z. + // 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 inline BOOL IsEntityAtCoord(Entity entity, float xPos, float yPos, float zPos, float xSize, float ySize, float zSize, BOOL p7, BOOL p8, int p9) { return _i(0x20B60995556D004F,entity, xPos, yPos, zPos, xSize, ySize, zSize, p7, p8, p9); } // 0x20B60995556D004F 0xD749B606 b323 - // Checks if entity1 is within the box defined by x/y/zSize of entity2. + // 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 inline BOOL IsEntityAtEntity(Entity entity1, Entity entity2, float xSize, float ySize, float zSize, BOOL p5, BOOL p6, int p7) { return _i(0x751B70C3D034E187,entity1, entity2, xSize, ySize, zSize, p5, p6, p7); } // 0x751B70C3D034E187 0xDABDCB52 b323 - // Whether the entity is attached to any other entity. + // Whether the entity is attached to any other entity. inline BOOL IsEntityAttached(Entity entity) { return _i(0xB346476EF1A64897,entity); } // 0xB346476EF1A64897 0xEC1479D5 b323 - // + // inline BOOL IsEntityAttachedToAnyObject(Entity entity) { return _i(0xCF511840CEEDE0CC,entity); } // 0xCF511840CEEDE0CC 0x0B5DE340 b323 - // + // inline BOOL IsEntityAttachedToAnyPed(Entity entity) { return _i(0xB1632E9A5F988D11,entity); } // 0xB1632E9A5F988D11 0x9D7A609C b323 - // + // inline BOOL IsEntityAttachedToAnyVehicle(Entity entity) { return _i(0x26AA915AD89BFB4B,entity); } // 0x26AA915AD89BFB4B 0xDE5C995E b323 - // + // inline BOOL IsEntityAttachedToEntity(Entity from, Entity to) { return _i(0xEFBE71898A993728,from, to); } // 0xEFBE71898A993728 0xB0ABFEA8 b323 - // + // inline BOOL IsEntityDead(Entity entity, BOOL p1) { return _i(0x5F9532F3B5CC2551,entity, p1); } // 0x5F9532F3B5CC2551 0xB6F7CBAC b323 - // + // inline BOOL IsEntityInAir(Entity entity) { return _i(0x886E37EC497200B6,entity); } // 0x886E37EC497200B6 0xA4157987 b323 - // `p8` is a debug flag invoking functions in the same path as ``DrawMarker`` + // `p8` is a debug flag invoking functions in the same path as ``DrawMarker`` // `p10` is some entity flag check, also used in `IsEntityAtEntity`, `IsEntityInArea`, and `IsEntityAtCoord`. // See IsPointInAngledArea for the definition of an angled area. inline BOOL IsEntityInAngledArea(Entity entity, float x1, float y1, float z1, float x2, float y2, float z2, float width, BOOL debug, BOOL includeZ, Any p10) { return _i(0x51210CED3DA1C78A,entity, x1, y1, z1, x2, y2, z2, width, debug, includeZ, p10); } // 0x51210CED3DA1C78A 0x883622FA b323 - // + // inline BOOL IsEntityInArea(Entity entity, float x1, float y1, float z1, float x2, float y2, float z2, BOOL p7, BOOL p8, Any p9) { return _i(0x54736AA40E271165,entity, x1, y1, z1, x2, y2, z2, p7, p8, p9); } // 0x54736AA40E271165 0x8C2DFA9D b323 - // Full list of zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/zones.json - inline BOOL IsEntityInZone(Entity entity, String zone) { return _i(0xB6463CF6AF527071,entity, zone); } // 0xB6463CF6AF527071 0x45C82B21 b323 - // + // Full list of zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/zones.json + inline BOOL IsEntityInZone(Entity entity, const char* zone) { return _i(0xB6463CF6AF527071,entity, zone); } // 0xB6463CF6AF527071 0x45C82B21 b323 + // inline BOOL IsEntityInWater(Entity entity) { return _i(0xCFB0A0D8EDD145A3,entity); } // 0xCFB0A0D8EDD145A3 0x4C3C2508 b323 - // Get how much of the entity is submerged. 1.0f is whole entity. + // Get how much of the entity is submerged. 1.0f is whole entity. inline float GetEntitySubmergedLevel(Entity entity) { return _i(0xE81AFC1BC4CC41CE,entity); } // 0xE81AFC1BC4CC41CE 0x0170F68C b323 - // + // inline Void SetEntityRequiresMoreExpensiveRiverCheck(Entity entity, BOOL toggle) { return _i(0x694E00132F2823ED,entity, toggle); } // 0x694E00132F2823ED 0x40C84A74 b323 - // Returns true if the entity is in between the minimum and maximum values for the 2d screen coords. + // 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 inline BOOL IsEntityOnScreen(Entity entity) { return _i(0xE659E47AF827484B,entity); } // 0xE659E47AF827484B 0xC1FEC5ED b323 - // See also PED::IS_SCRIPTED_SCENARIO_PED_USinG_CONDITIONAL_ANIM 0x6EC47A344923E1ED 0x3C30B447 + // See also PED::IS_SCRIPTED_SCENARIO_PED_USinG_CONDITIONAL_ANIM 0x6EC47A344923E1ED 0x3C30B447 // // Taken from ENTITY::IsEntityPlayingAnim(PLAYER::PlayerPedId(), "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 - inline BOOL IsEntityPlayingAnim(Entity entity, String animDict, String animName, int taskFlag) { return _i(0x1F0B79228E461EC9,entity, animDict, animName, taskFlag); } // 0x1F0B79228E461EC9 0x0D130D34 b323 - // a static ped will not react to natives like "ApplyForceToEntity" or "SetEntityVelocity" and oftentimes will not react to task-natives like "TASK::TaskCombatPed". The only way I know of to make one of these peds react is to ragdoll them (or sometimes to use ClearPedTasks_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. + inline BOOL IsEntityPlayingAnim(Entity entity, const char* animDict, const char* animName, int taskFlag) { return _i(0x1F0B79228E461EC9,entity, animDict, animName, taskFlag); } // 0x1F0B79228E461EC9 0x0D130D34 b323 + // a static ped will not react to natives like "ApplyForceToEntity" or "SetEntityVelocity" and oftentimes will not react to task-natives like "TASK::TaskCombatPed". The only way I know of to make one of these peds react is to ragdoll them (or sometimes to use ClearPedTasks_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??? inline BOOL IsEntityStatic(Entity entity) { return _i(0x1218E6886D3D8327,entity); } // 0x1218E6886D3D8327 0x928E12E9 b323 - // + // inline BOOL IsEntityTouchingEntity(Entity entity, Entity targetEntity) { return _i(0x17FFC1B2BA35A494,entity, targetEntity); } // 0x17FFC1B2BA35A494 0x6B931477 b323 - // + // inline BOOL IsEntityTouchingModel(Entity entity, Hash modelHash) { return _i(0xF42323798A58C8C,entity, modelHash); } // 0xF42323798A58C8C 0x307E7611 b323 - // + // inline BOOL IsEntityUpright(Entity entity, float angle) { return _i(0x5333F526F6AB19AA,entity, angle); } // 0x5333F526F6AB19AA 0x3BCDF4E1 b323 - // + // inline BOOL IsEntityUpsidedown(Entity entity) { return _i(0x1DBD58820FA61D71,entity); } // 0x1DBD58820FA61D71 0x5ACAA48F b323 - // + // inline BOOL IsEntityVisible(Entity entity) { return _i(0x47D6F43D77935C75,entity); } // 0x47D6F43D77935C75 0x120B4ED5 b323 - // + // inline BOOL IsEntityVisibleToScript(Entity entity) { return _i(0xD796CB5BA8F20E32,entity); } // 0xD796CB5BA8F20E32 0x5D240E9D b323 - // + // inline BOOL IsEntityOccluded(Entity entity) { return _i(0xE31C2C72B8692B64,entity); } // 0xE31C2C72B8692B64 0x46BC5B40 b323 - // + // inline BOOL WouldEntityBeOccluded(Hash entityModelHash, float x, float y, float z, BOOL p4) { return _i(0xEE5D2A122E09EC42,entityModelHash, x, y, z, p4); } // 0xEE5D2A122E09EC42 0xEA127CBC b323 - // + // inline BOOL IsEntityWaitingForWorldCollision(Entity entity) { return _i(0xD05BFF0C0A12C68F,entity); } // 0xD05BFF0C0A12C68F 0x00AB7A4A b323 - // Applies a force to the specified entity. + // Applies a force to the specified entity. // // **List of force types (p1)**: // public enum ForceType @@ -2585,7 +2585,7 @@ namespace ENTITY // 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 inline Void ApplyForceToEntityCenterOfMass(Entity entity, int forceType, float x, float y, float z, BOOL p5, BOOL isDirectionRel, BOOL isForceRel, BOOL p8) { return _i(0x18FF00FC7EFF559E,entity, forceType, x, y, z, p5, isDirectionRel, isForceRel, p8); } // 0x18FF00FC7EFF559E 0x28924E98 b323 - // Documented here: + // Documented here: // gtaforums.com/topic/885669-precisely-define-object-physics/ // gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/ // @@ -2610,7 +2610,7 @@ namespace ENTITY // // p8 !!! Whenever I set this !=0, my script stopped. inline Void ApplyForceToEntity(Entity entity, int forceFlags, float x, float y, float z, float offX, float offY, float offZ, int boneIndex, BOOL isDirectionRel, BOOL ignoreUpVec, BOOL isForceRel, BOOL p12, BOOL p13) { return _i(0xC5F68BE9613E2D18,entity, forceFlags, x, y, z, offX, offY, offZ, boneIndex, isDirectionRel, ignoreUpVec, isForceRel, p12, p13); } // 0xC5F68BE9613E2D18 0xC1C0855A b323 - // Attaches entity1 to bone (boneIndex) of entity2. + // Attaches entity1 to bone (boneIndex) of entity2. // // boneIndex - this is different to boneID, use GetPedBoneIndex 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. // @@ -2621,11 +2621,11 @@ namespace ENTITY // fixedRot - if false it ignores entity vector // inline Void AttachEntityToEntity(Entity entity1, Entity entity2, int boneIndex, float xPos, float yPos, float zPos, float xRot, float yRot, float zRot, BOOL p9, BOOL useSoftPinning, BOOL collision, BOOL isPed, int vertexIndex, BOOL fixedRot, Any p15) { return _i(0x6B9BBD38AB0796DF,entity1, entity2, boneIndex, xPos, yPos, zPos, xRot, yRot, zRot, p9, useSoftPinning, collision, isPed, vertexIndex, fixedRot, p15); } // 0x6B9BBD38AB0796DF 0xEC024237 b323 - // + // inline Void AttachEntityBoneToEntityBone(Entity entity1, Entity entity2, int boneIndex1, int boneIndex2, BOOL p4, BOOL p5) { return _i(0x5C48B75732C8456C,entity1, entity2, boneIndex1, boneIndex2, p4, p5); } // 0x5C48B75732C8456C b791 - // + // inline Void AttachEntityBoneToEntityBoneYForward(Entity entity1, Entity entity2, int boneIndex1, int boneIndex2, BOOL p4, BOOL p5) { return _i(0xFD1695C5D3B05439,entity1, entity2, boneIndex1, boneIndex2, p4, p5); } // 0xFD1695C5D3B05439 b791 - // breakForce is the amount of force required to break the bond. + // 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). @@ -2634,11 +2634,11 @@ namespace ENTITY // // inline Void AttachEntityToEntityPhysically(Entity entity1, Entity 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 fixedRot, BOOL p15, BOOL collision, BOOL p17, int p18) { return _i(0xC3675780C92F90F9,entity1, entity2, boneIndex1, boneIndex2, xPos1, yPos1, zPos1, xPos2, yPos2, zPos2, xRot, yRot, zRot, breakForce, fixedRot, p15, collision, p17, p18); } // 0xC3675780C92F90F9 0x0547417F b323 - // + // inline Void AttachEntityToEntityPhysicallyOverrideInverseMass(Entity firstEntityIndex, Entity secondEntityIndex, int firstEntityBoneIndex, int secondEntityBoneIndex, float secondEntityOffsetX, float secondEntityOffsetY, float secondEntityOffsetZ, float firstEntityOffsetX, float firstEntityOffsetY, float firstEntityOffsetZ, float vecRotationX, float vecRotationY, float vecRotationZ, float physicalStrength, BOOL constrainRotation, BOOL doInitialWarp, BOOL collideWithEntity, BOOL addInitialSeperation, int rotOrder, float invMassScaleA, float invMassScaleB) { return _i(0x168A09D1B25B0BA4,firstEntityIndex, secondEntityIndex, firstEntityBoneIndex, secondEntityBoneIndex, secondEntityOffsetX, secondEntityOffsetY, secondEntityOffsetZ, firstEntityOffsetX, firstEntityOffsetY, firstEntityOffsetZ, vecRotationX, vecRotationY, vecRotationZ, physicalStrength, constrainRotation, doInitialWarp, collideWithEntity, addInitialSeperation, rotOrder, invMassScaleA, invMassScaleB); } // 0x168A09D1B25B0BA4 b2944 - // Called to update entity attachments. + // Called to update entity attachments. inline Void ProcessEntityAttachments(Entity entity) { return _i(0xF4080490ADC51C6F,entity); } // 0xF4080490ADC51C6F 0x6909BA59 b323 - // Returns the index of the bone. If the bone was not found, -1 will be returned. + // Returns the index of the bone. If the bone was not found, -1 will be returned. // // list: // https://pastebin.com/D7JMnX1g @@ -2688,45 +2688,45 @@ namespace ENTITY // I doubt that the function is case-sensitive, since I found a "Chassis" and a "chassis". - Just tested: Definitely not case-sensitive. // // - inline int GetEntityBoneIndexByName(Entity entity, String boneName) { return _i(0xFB71170B7E76ACBA,entity, boneName); } // 0xFB71170B7E76ACBA 0xE4ECAC22 b323 - // + inline int GetEntityBoneIndexByName(Entity entity, const char* boneName) { return _i(0xFB71170B7E76ACBA,entity, boneName); } // 0xFB71170B7E76ACBA 0xE4ECAC22 b323 + // inline Void ClearEntityLastDamageEntity(Entity entity) { return _i(0xA72CD9CA74A5ECBA,entity); } // 0xA72CD9CA74A5ECBA 0x2B83F43B b323 - // Deletes the specified entity, then sets the handle pointed to by the pointer to NULL. + // Deletes the specified entity, then sets the handle pointed to by the pointer to NULL. inline Void DeleteEntity(Entity* entity) { return _i(0xAE3CBE5BF394C9C9,entity); } // 0xAE3CBE5BF394C9C9 0xFAA3D236 b323 - // If `collision` is set to true, both entities won't collide with the other until the distance between them is above 4 meters. + // 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 inline Void DetachEntity(Entity entity, BOOL dynamic, BOOL collision) { return _i(0x961AC54BF0613F5D,entity, dynamic, collision); } // 0x961AC54BF0613F5D 0xC8EFCB41 b323 - // 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 SetEntityCoords. + // 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 SetEntityCoords. inline Void FreezeEntityPosition(Entity entity, BOOL toggle) { return _i(0x428CA6DBD1094446,entity, toggle); } // 0x428CA6DBD1094446 0x65C16D57 b323 - // True means it can be deleted by the engine when switching lobbies/missions/etc, false means the script is expected to clean it up. + // True means it can be deleted by the engine when switching lobbies/missions/etc, false means the script is expected to clean it up. // // "Allow Freeze If No Collision" inline Void SetEntityShouldFreezeWaitingOnCollision(Entity entity, BOOL toggle) { return _i(0x3910051CCECDB00C,entity, toggle); } // 0x3910051CCECDB00C 0xD3850671 b323 - // 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. + // 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 - inline BOOL PlayEntityAnim(Entity entity, String animName, String animDict, float p3, BOOL loop, BOOL stayInAnim, BOOL p6, float delta, Any bitset) { return _i(0x7FB218262B810701,entity, animName, animDict, p3, loop, stayInAnim, p6, delta, bitset); } // 0x7FB218262B810701 0x878753D5 b323 - // p4 and p7 are usually 1000.0f. + inline BOOL PlayEntityAnim(Entity entity, const char* animName, const char* animDict, float p3, BOOL loop, BOOL stayInAnim, BOOL p6, float delta, Any bitset) { return _i(0x7FB218262B810701,entity, animName, animDict, p3, loop, stayInAnim, p6, delta, bitset); } // 0x7FB218262B810701 0x878753D5 b323 + // 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 - inline BOOL PlaySynchronizedEntityAnim(Entity entity, int syncedScene, String animation, String propName, float p4, float p5, Any p6, float p7) { return _i(0xC77720A12FE14A86,entity, syncedScene, animation, propName, p4, p5, p6, p7); } // 0xC77720A12FE14A86 0x012760AA b323 - // p6,p7 probably animname and animdict + inline BOOL PlaySynchronizedEntityAnim(Entity entity, int syncedScene, const char* animation, const char* propName, float p4, float p5, Any p6, float p7) { return _i(0xC77720A12FE14A86,entity, syncedScene, animation, propName, p4, p5, p6, p7); } // 0xC77720A12FE14A86 0x012760AA b323 + // p6,p7 probably animname and animdict // // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline BOOL PlaySynchronizedMapEntityAnim(float x1, float y1, float z1, float x2, Any y2, float z2, String p6, String p7, float p8, float p9, Any p10, float p11) { return _i(0xB9C54555ED30FBC4,x1, y1, z1, x2, y2, z2, p6, p7, p8, p9, p10, p11); } // 0xB9C54555ED30FBC4 0xEB4CBA74 b323 - // + inline BOOL PlaySynchronizedMapEntityAnim(float x1, float y1, float z1, float x2, Any y2, float z2, const char* p6, const char* p7, float p8, float p9, Any p10, float p11) { return _i(0xB9C54555ED30FBC4,x1, y1, z1, x2, y2, z2, p6, p7, p8, p9, p10, p11); } // 0xB9C54555ED30FBC4 0xEB4CBA74 b323 + // inline BOOL StopSynchronizedMapEntityAnim(float x1, float y1, float z1, float x2, Any y2, float z2) { return _i(0x11E79CAB7183B6F5,x1, y1, z1, x2, y2, z2); } // 0x11E79CAB7183B6F5 0x7253D5B2 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + // 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 - inline BOOL StopEntityAnim(Entity entity, String animation, String animGroup, float p3) { return _i(0x28004F88151E03E0,entity, animation, animGroup, p3); } // 0x28004F88151E03E0 0xC4769830 b323 - // p1 sync task id? + inline BOOL StopEntityAnim(Entity entity, const char* animation, const char* animGroup, float p3) { return _i(0x28004F88151E03E0,entity, animation, animGroup, p3); } // 0x28004F88151E03E0 0xC4769830 b323 + // p1 sync task id? inline BOOL StopSynchronizedEntityAnim(Entity entity, float p1, BOOL p2) { return _i(0x43D3807C077261E3,entity, p1, p2); } // 0x43D3807C077261E3 0xE27D2FC1 b323 - // if (ENTITY::HasAnimEventFired(PLAYER::PlayerPedId(), MISC::GetHashKey("CreateObject"))) + // if (ENTITY::HasAnimEventFired(PLAYER::PlayerPedId(), MISC::GetHashKey("CreateObject"))) inline BOOL HasAnimEventFired(Entity entity, Hash actionHash) { return _i(0xEAF4CD9EA3E7E922,entity, actionHash); } // 0xEAF4CD9EA3E7E922 0x66571CA0 b323 - // In the script "player_scene_t_bbfight.c4": + // In the script "player_scene_t_bbfight.c4": // "if (ENTITY::FindAnimEventPhase(&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. @@ -2736,12 +2736,12 @@ namespace ENTITY // 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 // // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline BOOL FindAnimEventPhase(String animDictionary, String animName, String p2, Any* p3, Any* p4) { return _i(0x7F1BE2BCCAA27A7,animDictionary, animName, p2, p3, p4); } // 0x7F1BE2BCCAA27A7 0xC41DDA62 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline Void SetEntityAnimCurrentTime(Entity entity, String animDictionary, String animName, float time) { return _i(0x4487C259F0F70977,entity, animDictionary, animName, time); } // 0x4487C259F0F70977 0x99D90735 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline Void SetEntityAnimSpeed(Entity entity, String animDictionary, String animName, float speedMultiplier) { return _i(0x28D1A16553C51776,entity, animDictionary, animName, speedMultiplier); } // 0x28D1A16553C51776 0x3990C90A b323 - // Makes the specified entity (ped, vehicle or object) persistent. Persistent entities will not automatically be removed by the engine. + inline BOOL FindAnimEventPhase(const char* animDictionary, const char* animName, const char* p2, Any* p3, Any* p4) { return _i(0x7F1BE2BCCAA27A7,animDictionary, animName, p2, p3, p4); } // 0x7F1BE2BCCAA27A7 0xC41DDA62 b323 + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline Void SetEntityAnimCurrentTime(Entity entity, const char* animDictionary, const char* animName, float time) { return _i(0x4487C259F0F70977,entity, animDictionary, animName, time); } // 0x4487C259F0F70977 0x99D90735 b323 + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline Void SetEntityAnimSpeed(Entity entity, const char* animDictionary, const char* animName, float speedMultiplier) { return _i(0x28D1A16553C51776,entity, animDictionary, animName, speedMultiplier); } // 0x28D1A16553C51776 0x3990C90A b323 + // 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 @@ -2749,7 +2749,7 @@ namespace ENTITY // p2 has no effect when either its on or off // maybe a quick disassembly will tell us what it does inline Void SetEntityAsMissionEntity(Entity entity, BOOL p1, BOOL p2) { return _i(0xAD738C3085FE7E11,entity, p1, p2); } // 0xAD738C3085FE7E11 0x5D1F9E0F b323 - // Marks the specified entity (ped, vehicle or object) as no longer needed if its population type is set to the mission type. + // Marks the specified entity (ped, vehicle or object) as no longer needed if its population type is set to the mission type. // If the entity is ped, it will also clear their tasks immediately just like when ClearPedTasks_IMMEDIATELY is called. // Entities marked as no longer needed, will be deleted as the engine sees fit. // Use this if you just want to just let the game delete the ped: @@ -2765,47 +2765,47 @@ namespace ENTITY // *(BYTE *)(addr + 0xDA) = ((origValue & 0xF0) | ePopulationType::POPTYPE_RANDOM_AMBIENT); // } inline Void SetEntityAsNoLongerNeeded(Entity* entity) { return _i(0xB736A491E64A32CF,entity); } // 0xB736A491E64A32CF 0xADF2267C b323 - // This is an alias of SetEntityAsNoLongerNeeded. + // This is an alias of SetEntityAsNoLongerNeeded. inline Void SetPedAsNoLongerNeeded(Ped* ped) { return _i(0x2595DD4236549CE3,ped); } // 0x2595DD4236549CE3 0x9A388380 b323 - // This is an alias of SetEntityAsNoLongerNeeded. + // This is an alias of SetEntityAsNoLongerNeeded. inline Void SetVehicleAsNoLongerNeeded(Vehicle* vehicle) { return _i(0x629BFA74418D6239,vehicle); } // 0x629BFA74418D6239 0x9B0E10BE b323 - // This is an alias of SetEntityAsNoLongerNeeded. + // This is an alias of SetEntityAsNoLongerNeeded. inline Void SetObjectAsNoLongerNeeded(Object* object) { return _i(0x3AE22DEB5BA5A3E6,object); } // 0x3AE22DEB5BA5A3E6 0x3F6B949F b323 - // + // inline Void SetEntityCanBeDamaged(Entity entity, BOOL toggle) { return _i(0x1760FFA8AB074D66,entity, toggle); } // 0x1760FFA8AB074D66 0x60B6E744 b323 - // + // inline BOOL GetEntityCanBeDamaged(Entity entity) { return _i(0xD95CC5D2AB15A09F,entity); } // 0xD95CC5D2AB15A09F 0xE4938B5D b757 - // + // inline Void SetEntityCanBeDamagedByRelationshipGroup(Entity entity, BOOL bCanBeDamaged, int relGroup) { return _i(0xE22D8FDE858B8119,entity, bCanBeDamaged, relGroup); } // 0xE22D8FDE858B8119 0x34165B5D b323 - // + // inline Void SetEntityCanOnlyBeDamagedByScriptParticipants(Entity entity, BOOL toggle) { return _i(0x352E2B5CF420BF3B,entity, toggle); } // 0x352E2B5CF420BF3B b573 - // Sets whether the entity can be targeted without being in line-of-sight. + // Sets whether the entity can be targeted without being in line-of-sight. inline Void SetEntityCanBeTargetedWithoutLos(Entity entity, BOOL toggle) { return _i(0xD3997889736FD899,entity, toggle); } // 0xD3997889736FD899 0x3B13797C b323 - // + // inline Void SetEntityCollision(Entity entity, BOOL toggle, BOOL keepPhysics) { return _i(0x1A9205C1B9EE827F,entity, toggle, keepPhysics); } // 0x1A9205C1B9EE827F 0x139FD37D b323 - // + // inline BOOL GetEntityCollisionDisabled(Entity entity) { return _i(0xCCF1E97BEFDAE480,entity); } // 0xCCF1E97BEFDAE480 0xE8C0C629 b323 - // + // inline Void SetEntityCompletelyDisableCollision(Entity entity, BOOL toggle, BOOL keepPhysics) { return _i(0x9EBC85ED0FFFE51C,entity, toggle, keepPhysics); } // 0x9EBC85ED0FFFE51C 0xBD0D4831 b323 - // 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. + // 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 inline Void SetEntityCoords(Entity entity, float xPos, float yPos, float zPos, BOOL xAxis, BOOL yAxis, BOOL zAxis, BOOL clearArea) { return _i(0x6843DA7060A026B,entity, xPos, yPos, zPos, xAxis, yAxis, zAxis, clearArea); } // 0x6843DA7060A026B 0xDF70B41B b323 - // + // inline Void SetEntityCoordsWithoutPlantsReset(Entity entity, float xPos, float yPos, float zPos, BOOL alive, BOOL deadFlag, BOOL ragdollFlag, BOOL clearArea) { return _i(0x621873ECE1178967,entity, xPos, yPos, zPos, alive, deadFlag, ragdollFlag, clearArea); } // 0x621873ECE1178967 0x749B282E b323 - // Axis - Invert Axis Flags + // Axis - Invert Axis Flags inline Void SetEntityCoordsNoOffset(Entity entity, float xPos, float yPos, float zPos, BOOL xAxis, BOOL yAxis, BOOL zAxis) { return _i(0x239A3351AC1DA385,entity, xPos, yPos, zPos, xAxis, yAxis, zAxis); } // 0x239A3351AC1DA385 0x4C83DE8D b323 - // + // inline Void SetEntityDynamic(Entity entity, BOOL toggle) { return _i(0x1718DE8E3F2823CA,entity, toggle); } // 0x1718DE8E3F2823CA 0x236F525B b323 - // Set the heading of an entity in degrees also known as "Yaw". + // Set the heading of an entity in degrees also known as "Yaw". inline Void SetEntityHeading(Entity entity, float heading) { return _i(0x8E2530AA8ADA980E,entity, heading); } // 0x8E2530AA8ADA980E 0xE0FF064D b323 - // health >= 0 + // health >= 0 // male ped ~= 100 - 200 // female ped ~= 0 - 100 inline Void SetEntityHealth(Entity entity, int health, Entity instigator, Hash weaponType) { return _i(0x6B76DC1F3AE6E6A3,entity, health, instigator, weaponType); } // 0x6B76DC1F3AE6E6A3 0xFBCD1831 b323 - // 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. + // 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); @@ -2824,78 +2824,78 @@ namespace ENTITY // return false; // } inline Void SetEntityInvincible(Entity entity, BOOL toggle) { return _i(0x3882114BDE571AD4,entity, toggle); } // 0x3882114BDE571AD4 0xC1213A21 b323 - // + // inline Void SetEntityIsTargetPriority(Entity entity, BOOL p1, float p2) { return _i(0xEA02E132F5C68722,entity, p1, p2); } // 0xEA02E132F5C68722 0x9729EE32 b323 - // + // inline Void SetEntityLights(Entity entity, BOOL toggle) { return _i(0x7CFBA6A80BDF3874,entity, toggle); } // 0x7CFBA6A80BDF3874 0xE8FC85AF b323 - // 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. + // 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. inline Void SetEntityLoadCollisionFlag(Entity entity, BOOL toggle, Any p2) { return _i(0xDC7CABAB1E9B67E,entity, toggle, p2); } // 0xDC7CABAB1E9B67E 0xC52F295B b323 - // + // inline BOOL HasCollisionLoadedAroundEntity(Entity entity) { return _i(0xE9676F61BC0B3321,entity); } // 0xE9676F61BC0B3321 0x851687F9 b323 - // + // inline Void SetEntityMaxSpeed(Entity entity, float speed) { return _i(0xE46A3FCBDE2A1B1,entity, speed); } // 0xE46A3FCBDE2A1B1 0x46AFFED3 b323 - // + // inline Void SetEntityOnlyDamagedByPlayer(Entity entity, BOOL toggle) { return _i(0x79F020FF9EDC0748,entity, toggle); } // 0x79F020FF9EDC0748 0x4B707F50 b323 - // + // inline Void SetEntityOnlyDamagedByRelationshipGroup(Entity entity, BOOL p1, Any p2) { return _i(0x7022BD828FA0B082,entity, p1, p2); } // 0x7022BD828FA0B082 0x202237E2 b323 - // Enable / disable each type of damage. + // Enable / disable each type of damage. // // waterProof is damage related to water not drowning // -------------- // p7 is to to '1' in am_mp_property_ext/int: ENTITY::SetEntityProofs(uParam0->f_19, true, true, true, true, true, true, 1, true); // inline Void SetEntityProofs(Entity entity, BOOL bulletProof, BOOL fireProof, BOOL explosionProof, BOOL collisionProof, BOOL meleeProof, BOOL steamProof, BOOL p7, BOOL waterProof) { return _i(0xFAEE099C6F890BB8,entity, bulletProof, fireProof, explosionProof, collisionProof, meleeProof, steamProof, p7, waterProof); } // 0xFAEE099C6F890BB8 0x7E9EAB66 b323 - // + // inline BOOL GetEntityProofs(Entity entity, BOOL* bulletProof, BOOL* fireProof, BOOL* explosionProof, BOOL* collisionProof, BOOL* meleeProof, BOOL* steamProof, BOOL* p7, BOOL* drownProof) { return _i(0xBE8CD9BE829BBEBF,entity, bulletProof, fireProof, explosionProof, collisionProof, meleeProof, steamProof, p7, drownProof); } // 0xBE8CD9BE829BBEBF b1604 - // w is the correct parameter name! + // w is the correct parameter name! inline Void SetEntityQuaternion(Entity entity, float x, float y, float z, float w) { return _i(0x77B21BE7AC540F07,entity, x, y, z, w); } // 0x77B21BE7AC540F07 0x83B6046F b323 - // + // inline Void SetEntityRecordsCollisions(Entity entity, BOOL toggle) { return _i(0xA50A1EEDAD01E65,entity, toggle); } // 0xA50A1EEDAD01E65 0x6B189A1A b323 - // rotationOrder refers to the order yaw pitch roll is applied + // 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 // inline Void SetEntityRotation(Entity entity, float pitch, float roll, float yaw, int rotationOrder, BOOL p5) { return _i(0x8524A8B0171D5E07,entity, pitch, roll, yaw, rotationOrder, p5); } // 0x8524A8B0171D5E07 0x0A345EFE b323 - // p2 is always 0. + // p2 is always 0. inline Void SetEntityVisible(Entity entity, BOOL toggle, BOOL p2) { return _i(0xEA1C610A04DB6BBB,entity, toggle, p2); } // 0xEA1C610A04DB6BBB 0xD043E8E1 b323 - // + // inline Void SetEntityWaterReflectionFlag(Entity entity, BOOL toggle) { return _i(0xC34BC448DA29F5E9,entity, toggle); } // 0xC34BC448DA29F5E9 b573 - // + // inline Void SetEntityMirrorReflectionFlag(Entity entity, BOOL p1) { return _i(0xE66377CDDADA4810,entity, p1); } // 0xE66377CDDADA4810 b1734 - // Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement. + // Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement. inline Void SetEntityVelocity(Entity entity, float x, float y, float z) { return _i(0x1C99BB7B6E96D16F,entity, x, y, z); } // 0x1C99BB7B6E96D16F 0xFF5A1988 b323 - // + // inline Void SetEntityAngularVelocity(Entity entity, float x, float y, float z) { return _i(0x8339643499D1222E,entity, x, y, z); } // 0x8339643499D1222E b2372 - // + // inline Void SetEntityHasGravity(Entity entity, BOOL toggle) { return _i(0x4A4722448F18EEF5,entity, toggle); } // 0x4A4722448F18EEF5 0xE2F262BF b323 - // 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). + // 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). inline Void SetEntityLodDist(Entity entity, int value) { return _i(0x5927F96A78577363,entity, value); } // 0x5927F96A78577363 0xD7ACC7AD b323 - // Returns the LOD distance of an entity. + // Returns the LOD distance of an entity. inline int GetEntityLodDist(Entity entity) { return _i(0x4159C2762B5791D6,entity); } // 0x4159C2762B5791D6 0x4DA3D51F b323 - // skin - everything alpha except skin + // skin - everything alpha except skin // Set entity alpha level. Ranging from 0 to 255 but chnages occur after every 20 percent (after every 51). inline Void SetEntityAlpha(Entity entity, int alphaLevel, BOOL skin) { return _i(0x44A0870B7E92D7C0,entity, alphaLevel, skin); } // 0x44A0870B7E92D7C0 0xAE667CB0 b323 - // + // inline int GetEntityAlpha(Entity entity) { return _i(0x5A47B3B5E63E94C6,entity); } // 0x5A47B3B5E63E94C6 0x1560B017 b323 - // + // inline Void ResetEntityAlpha(Entity entity) { return _i(0x9B1E824FFBB7027A,entity); } // 0x9B1E824FFBB7027A 0x8A30761C b323 - // Similar to RESetEntityAlpha + // Similar to RESetEntityAlpha inline Void ResetPickupEntityGlow(Entity entity) { return _i(0x490861B88F4FD846,entity); } // 0x490861B88F4FD846 b944 - // + // inline Void SetPickupCollidesWithProjectiles(Any p0, Any p1) { return _i(0xCEA7C8E1B48FF68C,p0, p1); } // 0xCEA7C8E1B48FF68C b678 - // Only called once in the scripts. + // Only called once in the scripts. // // Related to weapon objects. // inline Void SetEntitySortBias(Entity entity, float p1) { return _i(0x5C3B791D580E0BC2,entity, p1); } // 0x5C3B791D580E0BC2 b323 - // + // inline Void SetEntityAlwaysPrerender(Entity entity, BOOL toggle) { return _i(0xACAD101E1FB66689,entity, toggle); } // 0xACAD101E1FB66689 0xD8FF798A b323 - // + // inline Void SetEntityRenderScorched(Entity entity, BOOL toggle) { return _i(0x730F5F8D3F0F2050,entity, toggle); } // 0x730F5F8D3F0F2050 0xAAC9317B b323 - // Example here: www.gtaforums.com/topic/830463-help-with-turning-lights-green-and-causing-peds-to-crash-into-each-other/#entry1068211340 + // 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 @@ -2903,117 +2903,117 @@ namespace ENTITY // 3 = reset changes // changing lights may not change the behavior of vehicles inline Void SetEntityTrafficlightOverride(Entity entity, int state) { return _i(0x57C5DB656185EAC4,entity, state); } // 0x57C5DB656185EAC4 0xC47F5B91 b323 - // + // inline Void SetEntityIsInVehicle(Entity entity) { return _i(0x78E8E3A640178255,entity); } // 0x78E8E3A640178255 b323 - // Only works with objects! + // Only works with objects! inline Void CreateModelSwap(float x, float y, float z, float radius, Hash originalModel, Hash newModel, BOOL p6) { return _i(0x92C47782FDA8B2A3,x, y, z, radius, originalModel, newModel, p6); } // 0x92C47782FDA8B2A3 0x0BC12F9E b323 - // + // inline Void RemoveModelSwap(float x, float y, float z, float radius, Hash originalModel, Hash newModel, BOOL p6) { return _i(0x33C0F9A64E229AE,x, y, z, radius, originalModel, newModel, p6); } // 0x33C0F9A64E229AE 0xCE0AA8BC b323 - // p5 = sets as true in scripts + // p5 = sets as true in scripts // Same as the comment for CreateModelSwap unless for some reason p5 affects it this only works with objects as well. // // Network players do not see changes done with this. inline Void CreateModelHide(float x, float y, float z, float radius, Hash modelHash, BOOL p5) { return _i(0x8A97BCA30A0CE478,x, y, z, radius, modelHash, p5); } // 0x8A97BCA30A0CE478 0x7BD5CF2F b323 - // + // inline Void CreateModelHideExcludingScriptObjects(float x, float y, float z, float radius, Hash modelHash, BOOL p5) { return _i(0x3A52AE588830BF7F,x, y, z, radius, modelHash, p5); } // 0x3A52AE588830BF7F 0x07AAF22C b323 - // This native makes entities visible that are hidden by the native CreateModelHide. + // This native makes entities visible that are hidden by the native CreateModelHide. // p5 should be false, true does nothing inline Void RemoveModelHide(float x, float y, float z, float radius, Hash modelHash, BOOL p5) { return _i(0xD9E3006FB3CBD765,x, y, z, radius, modelHash, p5); } // 0xD9E3006FB3CBD765 0x993DBC10 b323 - // + // inline Void CreateForcedObject(float x, float y, float z, Any p3, Hash modelHash, BOOL p5) { return _i(0x150E808B375A385A,x, y, z, p3, modelHash, p5); } // 0x150E808B375A385A 0x335190A2 b323 - // + // inline Void RemoveForcedObject(float x, float y, float z, float p3, Hash modelHash) { return _i(0x61B6775E83C0DB6F,x, y, z, p3, modelHash); } // 0x61B6775E83C0DB6F 0xAED73ADD b323 - // Calling this function disables collision between two entities. + // 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. inline Void SetEntityNoCollisionEntity(Entity entity1, Entity entity2, BOOL thisFrameOnly) { return _i(0xA53ED5520C07654A,entity1, entity2, thisFrameOnly); } // 0xA53ED5520C07654A 0x1E11BFE9 b323 - // + // inline Void SetEntityMotionBlur(Entity entity, BOOL toggle) { return _i(0x295D82A8559F9150,entity, toggle); } // 0x295D82A8559F9150 0xE90005B8 b323 - // p1 always false. + // p1 always false. inline Void SetCanAutoVaultOnEntity(Entity entity, BOOL toggle) { return _i(0xE12ABE5E3A389A6C,entity, toggle); } // 0xE12ABE5E3A389A6C 0x44767B31 b323 - // p1 always false. + // p1 always false. inline Void SetCanClimbOnEntity(Entity entity, BOOL toggle) { return _i(0xA80AE305E0A3044F,entity, toggle); } // 0xA80AE305E0A3044F 0xE224A6A5 b323 - // Only called within 1 script for x360. 'fm_mission_controller' and it used on an object. + // 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); inline Void SetWaitForCollisionsBeforeProbe(Entity entity, BOOL toggle) { return _i(0xDC6F8601FAF2E893,entity, toggle); } // 0xDC6F8601FAF2E893 0xA0466A69 b323 - // + // inline Void SetEntityNoweapondecals(Entity entity, BOOL p1) { return _i(0x2C2E3DC128F44309,entity, p1); } // 0x2C2E3DC128F44309 b323 - // + // inline Void SetEntityUseMaxDistanceForWaterReflection(Entity entity, BOOL p1) { return _i(0x1A092BB0C3808B96,entity, p1); } // 0x1A092BB0C3808B96 b323 - // Gets the world rotation of the specified bone of the specified entity. + // Gets the world rotation of the specified bone of the specified entity. inline Vector3 GetEntityBoneRotation(Entity entity, int boneIndex) { return _i(0xCE6294A232D03786,entity, boneIndex); } // 0xCE6294A232D03786 b791 - // Gets the world position of the specified bone of the specified entity. + // Gets the world position of the specified bone of the specified entity. inline Vector3 GetEntityBonePostion(Entity entity, int boneIndex) { return _i(0x46F8696933A63C9B,entity, boneIndex); } // 0x46F8696933A63C9B b877 - // Gets the local rotation of the specified bone of the specified entity. + // Gets the local rotation of the specified bone of the specified entity. inline Vector3 GetEntityBoneObjectRotation(Entity entity, int boneIndex) { return _i(0xBD8D32550E5CEBFE,entity, boneIndex); } // 0xBD8D32550E5CEBFE b1734 - // + // inline Vector3 GetEntityBoneObjectPostion(Entity entity, int boneIndex) { return _i(0xCF1247CC86961FD6,entity, boneIndex); } // 0xCF1247CC86961FD6 b2802 - // + // inline int GetEntityBoneCount(Entity entity) { return _i(0xB328DCC3A3AA401B,entity); } // 0xB328DCC3A3AA401B b791 - // + // inline Void EnableEntityBulletCollision(Entity entity) { return _i(0x6CE177D014502E8A,entity); } // 0x6CE177D014502E8A b877 - // + // inline Void SetEntityCanOnlyBeDamagedByEntity(Entity entity1, Entity entity2) { return _i(0xB17BC6453F6CF5AC,entity1, entity2); } // 0xB17BC6453F6CF5AC b944 - // + // inline Void SetEntityCantCauseCollisionDamagedEntity(Entity entity1, Entity entity2) { return _i(0x68B562E124CC0AEF,entity1, entity2); } // 0x68B562E124CC0AEF b1180 - // p1 is always set to 1 + // p1 is always set to 1 inline Void SetAllowMigrateToSpectator(Entity entity, Any p1) { return _i(0x36F32DE87082343E,entity, p1); } // 0x36F32DE87082343E b1011 - // Gets the handle of an entity with a specific model hash attached to another entity, such as an object attached to a ped. + // Gets the handle of an entity with a specific model hash attached to another entity, such as an object attached to a ped. // This native does not appear to have anything to do with pickups as in scripts it is used with objects. // // Example from fm_mission_controller_2020.c: // // iVar8 = ENTITY::GetEntityOfTypeAttachedToEntity(bParam0->f_9, joaat("p_cs_clipboard")); inline Entity GetEntityOfTypeAttachedToEntity(Entity entity, Hash modelHash) { return _i(0x1F922734E259BD26,entity, modelHash); } // 0x1F922734E259BD26 b1180 - // + // inline Void SetPickUpByCargobobDisabled(Entity entity, BOOL toggle) { return _i(0xD7B80E7C3BEFC396,entity, toggle); } // 0xD7B80E7C3BEFC396 b1180 } namespace EVENT { - // + // inline Void SetDecisionMaker(Ped ped, Hash name) { return _i(0xB604A2942ADED0EE,ped, name); } // 0xB604A2942ADED0EE 0x19CEAC9E b323 - // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt inline Void ClearDecisionMakerEventResponse(Hash name, int eventType) { return _i(0x4FC9381A7AEE8968,name, eventType); } // 0x4FC9381A7AEE8968 0x07ABD94D b323 - // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt // // This is limited to 4 blocked events at a time. inline Void BlockDecisionMakerEvent(Hash name, int eventType) { return _i(0xE42FCDFD0E4196F7,name, eventType); } // 0xE42FCDFD0E4196F7 0x57506EA6 b323 - // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt inline Void UnblockDecisionMakerEvent(Hash name, int eventType) { return _i(0xD7CD9CF34F2C99E8,name, eventType); } // 0xD7CD9CF34F2C99E8 0x62A3161D b323 - // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt inline int AddShockingEventAtPosition(int eventType, float x, float y, float z, float duration) { return _i(0xD9F8455409B525E9,eventType, x, y, z, duration); } // 0xD9F8455409B525E9 0x0B30F779 b323 - // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt inline int AddShockingEventForEntity(int eventType, Entity entity, float duration) { return _i(0x7FD8F3BE76F89422,eventType, entity, duration); } // 0x7FD8F3BE76F89422 0xA81B5B71 b323 - // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt inline BOOL IsShockingEventInSphere(int eventType, float x, float y, float z, float radius) { return _i(0x1374ABB7C15BAB92,eventType, x, y, z, radius); } // 0x1374ABB7C15BAB92 0x2F98823E b323 - // + // inline BOOL RemoveShockingEvent(ScrHandle event) { return _i(0x2CDA538C44C6CCE5,event); } // 0x2CDA538C44C6CCE5 0xF82D5A87 b323 - // + // inline Void RemoveAllShockingEvents(BOOL p0) { return _i(0xEAABE8FDFA21274C,p0); } // 0xEAABE8FDFA21274C 0x64DF6282 b323 - // + // inline Void RemoveShockingEventSpawnBlockingAreas() { return _i(0x340F1415B68AEADE); } // 0x340F1415B68AEADE 0xA0CE89C8 b323 - // + // inline Void SuppressShockingEventsNextFrame() { return _i(0x2F9A292AD0A3BD89); } // 0x2F9A292AD0A3BD89 0x4CC674B5 b323 - // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt + // eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt inline Void SuppressShockingEventTypeNextFrame(int eventType) { return _i(0x3FD2EC8BF1F1CF30,eventType); } // 0x3FD2EC8BF1F1CF30 0xA0FDCB82 b323 - // + // inline Void SuppressAgitationEventsNextFrame() { return _i(0x5F3B7749C112D552); } // 0x5F3B7749C112D552 0x80340396 b323 } namespace FILES { - // Character types: + // Character types: // 0 = Michael, // 1 = Franklin, // 2 = Trevor, // 3 = MPMale, // 4 = MPFemale inline int GetNumTattooShopDlcItems(int character) { return _i(0x278F76C3B0A8F109,character); } // 0x278F76C3B0A8F109 0x71D0CF3E b323 - // Character types: + // Character types: // 0 = Michael, // 1 = Franklin, // 2 = Trevor, @@ -3046,7 +3046,7 @@ namespace FILES // // maybe more, not sure exactly, decompiled scripts are very vague around this part. // } inline BOOL GetTattooShopDlcItemData(int characterType, int decorationIndex, Any* outComponent) { return _i(0xFF56381874F82086,characterType, decorationIndex, outComponent); } // 0xFF56381874F82086 0x2E9D628C b323 - // Returns some sort of index/offset for overlays/decorations. + // Returns some sort of index/offset for overlays/decorations. // // Character types: // 0 = Michael, @@ -3055,13 +3055,13 @@ namespace FILES // 3 = MPMale, // 4 = MPFemale inline int GetTattooShopDlcItemIndex(Hash overlayHash, Any p1, int character) { return _i(0x10144267DD22866C,overlayHash, p1, character); } // 0x10144267DD22866C b2189 - // + // inline Void InitShopPedComponent(Any* outComponent) { return _i(0x1E8C308FD312C036,outComponent); } // 0x1E8C308FD312C036 0xB818C7FC b323 - // + // inline Void InitShopPedProp(Any* outProp) { return _i(0xEB0A2B758F7B850F,outProp); } // 0xEB0A2B758F7B850F 0xF5659E50 b323 - // + // inline int SetupShopPedApparelQuery(int p0, int p1, int p2, int p3) { return _i(0x50F457823CE6EB5F,p0, p1, p2, p3); } // 0x50F457823CE6EB5F 0xC937FF3D b323 - // character is 0 for Michael, 1 for Franklin, 2 for Trevor, 3 for freemode male, and 4 for freemode female. + // 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. // @@ -3075,50 +3075,50 @@ namespace FILES // // componentId is -1 when p3 is true in decompiled scripts. inline int SetupShopPedApparelQueryTu(int character, int p1, int p2, BOOL p3, int p4, int componentId) { return _i(0x9BDF59818B1E38C1,character, p1, p2, p3, p4, componentId); } // 0x9BDF59818B1E38C1 0x594E862C b323 - // See https://git.io/JtcRf for example and structs. + // See https://git.io/JtcRf for example and structs. inline Void GetShopPedQueryComponent(int componentId, Any* outComponent) { return _i(0x249E310B2D920699,componentId, outComponent); } // 0x249E310B2D920699 0xC0718904 b323 - // Returns some sort of index/offset for components. + // 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. inline int GetShopPedQueryComponentIndex(Hash componentHash) { return _i(0x96E2929292A4DB77,componentHash); } // 0x96E2929292A4DB77 b2189 - // More info here: https://gist.github.com/root-cause/3b80234367b0c856d60bf5cb4b826f86 + // More info here: https://gist.github.com/root-cause/3b80234367b0c856d60bf5cb4b826f86 inline Void GetShopPedComponent(Hash componentHash, Any* outComponent) { return _i(0x74C0E2A57EC66760,componentHash, outComponent); } // 0x74C0E2A57EC66760 0xB39677C5 b323 - // See https://git.io/JtcRf for example and structs. + // See https://git.io/JtcRf for example and structs. inline Void GetShopPedQueryProp(int componentId, Any* outProp) { return _i(0xDE44A00999B2837D,componentId, outProp); } // 0xDE44A00999B2837D 0x1D3C1466 b323 - // Returns some sort of index/offset for props. + // 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. inline int GetShopPedQueryPropIndex(Hash componentHash) { return _i(0x6CEBE002E58DEE97,componentHash); } // 0x6CEBE002E58DEE97 b2189 - // More info here: https://gist.github.com/root-cause/3b80234367b0c856d60bf5cb4b826f86 + // More info here: https://gist.github.com/root-cause/3b80234367b0c856d60bf5cb4b826f86 inline Void GetShopPedProp(Hash componentHash, Any* outProp) { return _i(0x5D5CAFF661DDF6FC,componentHash, outProp); } // 0x5D5CAFF661DDF6FC 0xDB0A7A58 b323 - // + // inline Hash GetHashNameForComponent(Entity entity, int componentId, int drawableVariant, int textureVariant) { return _i(0x368B3A838070348,entity, componentId, drawableVariant, textureVariant); } // 0x368B3A838070348 0xC8A4BF12 b323 - // + // inline Hash GetHashNameForProp(Entity entity, int componentId, int propIndex, int propTextureIndex) { return _i(0x5D6160275CAEC8DD,entity, componentId, propIndex, propTextureIndex); } // 0x5D6160275CAEC8DD 0x7D876DC0 b323 - // + // inline int GetShopPedApparelVariantComponentCount(Hash componentHash) { return _i(0xC17AD0E5752BECDA,componentHash); } // 0xC17AD0E5752BECDA 0x159751B4 b323 - // `propHash`: Ped helmet prop hash? + // `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. inline int GetShopPedApparelVariantPropCount(Hash propHash) { return _i(0xD40AAC51E8E4C663,propHash); } // 0xD40AAC51E8E4C663 b791 - // + // inline Void GetVariantComponent(Hash componentHash, int variantComponentIndex, Hash* nameHash, int* enumValue, int* componentType) { return _i(0x6E11F282F11863B6,componentHash, variantComponentIndex, nameHash, enumValue, componentType); } // 0x6E11F282F11863B6 0xE4FF7103 b323 - // + // inline Void GetVariantProp(Hash componentHash, int variantPropIndex, Hash* nameHash, int* enumValue, int* anchorPoint) { return _i(0xD81B7F27BC773E66,componentHash, variantPropIndex, nameHash, enumValue, anchorPoint); } // 0xD81B7F27BC773E66 b791 - // Returns number of possible values of the forcedComponentIndex argument of GetForcedComponent. + // Returns number of possible values of the forcedComponentIndex argument of GetForcedComponent. inline int GetShopPedApparelForcedComponentCount(Hash componentHash) { return _i(0xC6B9DB42C04DD8C3,componentHash); } // 0xC6B9DB42C04DD8C3 0xCE70F183 b323 - // Returns number of possible values of the forcedPropIndex argument of GetForcedProp. + // Returns number of possible values of the forcedPropIndex argument of GetForcedProp. inline int GetShopPedApparelForcedPropCount(Hash componentHash) { return _i(0x17568A8182D98A6,componentHash); } // 0x17568A8182D98A6 0xC560D7C0 b323 - // + // inline Void GetForcedComponent(Hash componentHash, int forcedComponentIndex, Hash* nameHash, int* enumValue, int* componentType) { return _i(0x6C93ED8C2F74859B,componentHash, forcedComponentIndex, nameHash, enumValue, componentType); } // 0x6C93ED8C2F74859B 0x382C70BE b323 - // + // inline Void GetForcedProp(Hash componentHash, int forcedPropIndex, Hash* nameHash, int* enumValue, int* anchorPoint) { return _i(0xE1CA84EBF72E691D,componentHash, forcedPropIndex, nameHash, enumValue, anchorPoint); } // 0xE1CA84EBF72E691D 0x22DAE257 b323 - // Full list of restriction tags by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedApparelRestrictionTags.json + // 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. inline BOOL DoesShopPedApparelHaveRestrictionTag(Hash componentHash, Hash restrictionTagHash, int componentId) { return _i(0x341DE7ED1D2A1BFD,componentHash, restrictionTagHash, componentId); } // 0x341DE7ED1D2A1BFD 0x8E2C7FD5 b323 - // + // inline BOOL DoesCurrentPedComponentHaveRestrictionTag(Ped ped, int componentId, Hash restrictionTagHash) { return _i(0x7796B21B76221BC5,ped, componentId, restrictionTagHash); } // 0x7796B21B76221BC5 b2612 - // + // inline BOOL DoesCurrentPedPropHaveRestrictionTag(Ped ped, int componentId, Hash restrictionTagHash) { return _i(0xD726BAB4554DA580,ped, componentId, restrictionTagHash); } // 0xD726BAB4554DA580 b2612 - // characters + // characters // // 0: Michael // 1: Franklin @@ -3126,32 +3126,32 @@ namespace FILES // 3: MPMale // 4: MPFemale inline int SetupShopPedOutfitQuery(int character, BOOL p1) { return _i(0xF3FBE2D50A6A8C28,character, p1); } // 0xF3FBE2D50A6A8C28 0x1ECD23E7 b323 - // outfitIndex: from 0 to SetupShopPedOutfitQuery(characterIndex, false) - 1. + // outfitIndex: from 0 to SetupShopPedOutfitQuery(characterIndex, false) - 1. // See https://git.io/JtcB8 for example and outfit struct. inline Void GetShopPedQueryOutfit(int outfitIndex, Any* outfit) { return _i(0x6D793F03A631FE56,outfitIndex, outfit); } // 0x6D793F03A631FE56 0x2F8013A1 b323 - // + // inline Void GetShopPedOutfit(Any p0, Any* p1) { return _i(0xB7952076E444979D,p0, p1); } // 0xB7952076E444979D 0xCAFE9209 b323 - // + // inline int GetShopPedOutfitLocate(Any p0) { return _i(0x73CA26B079F956E,p0); } // 0x73CA26B079F956E 0x2798F56F b323 - // See https://git.io/JtcBH for example and structs. + // See https://git.io/JtcBH for example and structs. inline BOOL GetShopPedOutfitPropVariant(Hash outfitHash, int variantIndex, Any* outPropVariant) { return _i(0xA9F9C2E0FDE11CBB,outfitHash, variantIndex, outPropVariant); } // 0xA9F9C2E0FDE11CBB 0x6641A864 b323 - // See https://git.io/JtcBH for example and structs. + // See https://git.io/JtcBH for example and structs. inline BOOL GetShopPedOutfitComponentVariant(Hash outfitHash, int variantIndex, Any* outComponentVariant) { return _i(0x19F2A026EDF0013F,outfitHash, variantIndex, outComponentVariant); } // 0x19F2A026EDF0013F 0x818534AC b323 - // + // inline int GetNumDlcVehicles() { return _i(0xA7A866D21CD2329B); } // 0xA7A866D21CD2329B 0x8EAF9CF6 b323 - // dlcVehicleIndex is 0 to GET_NUM_DLC_VEHICLS() - 1 + // dlcVehicleIndex is 0 to GET_NUM_DLC_VEHICLS() - 1 inline Hash GetDlcVehicleModel(int dlcVehicleIndex) { return _i(0xECC01B7C5763333C,dlcVehicleIndex); } // 0xECC01B7C5763333C 0xA2201E09 b323 - // dlcVehicleIndex takes a number from 0 - GetNumDlcVehicles() - 1. + // dlcVehicleIndex takes a number from 0 - GetNumDlcVehicles() - 1. // outData is a struct of 3 8-byte items. // The Second item in the struct *(Hash *)(outData + 1) is the vehicle hash. inline BOOL GetDlcVehicleData(int dlcVehicleIndex, Any* outData) { return _i(0x33468EDC08E371F6,dlcVehicleIndex, outData); } // 0x33468EDC08E371F6 0xCF428FA4 b323 - // + // inline int GetDlcVehicleFlags(int dlcVehicleIndex) { return _i(0x5549EE11FA22FCF2,dlcVehicleIndex); } // 0x5549EE11FA22FCF2 0xAB12738C b323 - // Returns the total number of DLC weapons. + // Returns the total number of DLC weapons. inline int GetNumDlcWeapons() { return _i(0xEE47635F352DA367); } // 0xEE47635F352DA367 0x2B757E6C b323 - // Returns the total number of DLC weapons that are available in SP (availableInSP field in shop_weapon.meta). + // Returns the total number of DLC weapons that are available in SP (availableInSP field in shop_weapon.meta). inline int GetNumDlcWeaponsSp() { return _i(0x4160B65AE085B5A9); } // 0x4160B65AE085B5A9 b2060 - // + // // dlcWeaponIndex takes a number from 0 - GetNumDlcWeapons() - 1. // struct DlcWeaponData // { @@ -3175,13 +3175,13 @@ namespace FILES // char upperCaseNameLabel[64]; // }; inline BOOL GetDlcWeaponData(int dlcWeaponIndex, Any* outData) { return _i(0x79923CD21BECE14E,dlcWeaponIndex, outData); } // 0x79923CD21BECE14E 0xD88EC8EA b323 - // Same as GetDlcWeaponData but only works for DLC weapons that are available in SP. + // Same as GetDlcWeaponData but only works for DLC weapons that are available in SP. inline BOOL GetDlcWeaponDataSp(int dlcWeaponIndex, Any* outData) { return _i(0x310836EE7129BA33,dlcWeaponIndex, outData); } // 0x310836EE7129BA33 b2060 - // Returns the total number of DLC weapon components. + // Returns the total number of DLC weapon components. inline int GetNumDlcWeaponComponents(int dlcWeaponIndex) { return _i(0x405425358A7D61FE,dlcWeaponIndex); } // 0x405425358A7D61FE 0x476B23A9 b323 - // Returns the total number of DLC weapon components that are available in SP. + // Returns the total number of DLC weapon components that are available in SP. inline int GetNumDlcWeaponComponentsSp(int dlcWeaponIndex) { return _i(0xAD2A7A6DFF55841B,dlcWeaponIndex); } // 0xAD2A7A6DFF55841B b2060 - // p0 seems to be the weapon index + // p0 seems to be the weapon index // p1 seems to be the weapon component index // struct DlcComponentData{ // int attachBone; @@ -3201,20 +3201,20 @@ namespace FILES // }; // inline BOOL GetDlcWeaponComponentData(int dlcWeaponIndex, int dlcWeapCompIndex, Any* ComponentDataPtr) { return _i(0x6CF598A2957C2BF8,dlcWeaponIndex, dlcWeapCompIndex, ComponentDataPtr); } // 0x6CF598A2957C2BF8 0x4B83FCAF b323 - // Same as GetDlcWeaponComponentData but only works for DLC components that are available in SP. + // Same as GetDlcWeaponComponentData but only works for DLC components that are available in SP. inline BOOL GetDlcWeaponComponentDataSp(int dlcWeaponIndex, int dlcWeapCompIndex, Any* ComponentDataPtr) { return _i(0x31D5E073B6F93CDC,dlcWeaponIndex, dlcWeapCompIndex, ComponentDataPtr); } // 0x31D5E073B6F93CDC b2060 - // + // inline BOOL IsContentItemLocked(Hash itemHash) { return _i(0xD4D7B033C3AA243C,itemHash); } // 0xD4D7B033C3AA243C 0x06396058 b323 - // + // inline BOOL IsDlcVehicleMod(Hash hash) { return _i(0x564B9FF9631B82C,hash); } // 0x564B9FF9631B82C 0x35BCA844 b323 - // + // inline Hash GetDlcVehicleModLockHash(Hash hash) { return _i(0xC098810437312FFF,hash); } // 0xC098810437312FFF 0x59352658 b323 - // From fm_deathmatch_creator and fm_race_creator: + // From fm_deathmatch_creator and fm_race_creator: // // FILES::RevertContentChangesetGroupForAll(joaat("GROUP_MAP_SP")); // FILES::ExecuteContentChangesetGroupForAll(joaat("GROUP_MAP")); inline Void ExecuteContentChangesetGroupForAll(Hash hash) { return _i(0x6BEDF5769AC2DC07,hash); } // 0x6BEDF5769AC2DC07 b1604 - // From fm_deathmatch_creator and fm_race_creator: + // From fm_deathmatch_creator and fm_race_creator: // // FILES::RevertContentChangesetGroupForAll(joaat("GROUP_MAP_SP")); // FILES::ExecuteContentChangesetGroupForAll(joaat("GROUP_MAP")); @@ -3223,53 +3223,53 @@ namespace FILES namespace FIRE { - // Starts a 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. inline FireId StartScriptFire(float X, float Y, float Z, int maxChildren, BOOL isGasFire) { return _i(0x6B83617E04503888,X, Y, Z, maxChildren, isGasFire); } // 0x6B83617E04503888 0xE7529357 b323 - // + // inline Void RemoveScriptFire(FireId fireHandle) { return _i(0x7FF548385680673F,fireHandle); } // 0x7FF548385680673F 0x6B21FE26 b323 - // + // inline FireId StartEntityFire(Entity entity) { return _i(0xF6A9D9708F6F23DF,entity); } // 0xF6A9D9708F6F23DF 0x8928428E b323 - // + // inline Void StopEntityFire(Entity entity) { return _i(0x7F0DD2EBBB651AFF,entity); } // 0x7F0DD2EBBB651AFF 0xCE8C9066 b323 - // + // inline BOOL IsEntityOnFire(Entity entity) { return _i(0x28D3FED7190D3A0B,entity); } // 0x28D3FED7190D3A0B 0x8C73E64F b323 - // + // inline int GetNumberOfFiresInRange(float x, float y, float z, float radius) { return _i(0x50CAD495A460B305,x, y, z, radius); } // 0x50CAD495A460B305 0x654D93B7 b323 - // + // inline Void SetFlammabilityMultiplier(float p0) { return _i(0x8F390AC4155099BA,p0); } // 0x8F390AC4155099BA b1734 - // + // inline Void StopFireInRange(float x, float y, float z, float radius) { return _i(0x56A8A219B8E829F,x, y, z, radius); } // 0x56A8A219B8E829F 0x725C7205 b323 - // Returns TRUE if it found something. FALSE if not. + // Returns TRUE if it found something. FALSE if not. inline BOOL GetClosestFirePos(Vector3* outPosition, float x, float y, float z) { return _i(0x352A9F6BCF90081F,outPosition, x, y, z); } // 0x352A9F6BCF90081F 0xC4977B47 b323 - // BOOL isAudible = If explosion makes a sound. + // 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 inline Void AddExplosion(float x, float y, float z, int explosionType, float damageScale, BOOL isAudible, BOOL isInvisible, float cameraShake, BOOL noDamage) { return _i(0xE3AD2BDBAEE269AC,x, y, z, explosionType, damageScale, isAudible, isInvisible, cameraShake, noDamage); } // 0xE3AD2BDBAEE269AC 0x10AF5258 b323 - // isAudible: If explosion makes a sound. + // isAudible: If explosion makes a sound. // isInvisible: If the explosion is invisible or not. // explosionType: See AddExplosion. inline Void AddOwnedExplosion(Ped ped, float x, float y, float z, int explosionType, float damageScale, BOOL isAudible, BOOL isInvisible, float cameraShake) { return _i(0x172AA1B624FA1013,ped, x, y, z, explosionType, damageScale, isAudible, isInvisible, cameraShake); } // 0x172AA1B624FA1013 0x27EE0D67 b323 - // isAudible: If explosion makes a sound. + // isAudible: If explosion makes a sound. // isInvisible: If the explosion is invisible or not. // explosionType: See AddExplosion. inline Void AddExplosionWithUserVfx(float x, float y, float z, int explosionType, Hash explosionFx, float damageScale, BOOL isAudible, BOOL isInvisible, float cameraShake) { return _i(0x36DD3FE58B5E5212,x, y, z, explosionType, explosionFx, damageScale, isAudible, isInvisible, cameraShake); } // 0x36DD3FE58B5E5212 0xCF358946 b323 - // explosionType: See AddExplosion. + // explosionType: See AddExplosion. inline BOOL IsExplosionInArea(int explosionType, float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0x2E2EBA0EE7CED0E0,explosionType, x1, y1, z1, x2, y2, z2); } // 0x2E2EBA0EE7CED0E0 0xFB40075B b323 - // explosionType: See AddExplosion. + // explosionType: See AddExplosion. inline BOOL IsExplosionActiveInArea(int explosionType, float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0x6070104B699B2EF4,explosionType, x1, y1, z1, x2, y2, z2); } // 0x6070104B699B2EF4 0x37C388DB b323 - // explosionType: See AddExplosion. + // explosionType: See AddExplosion. inline BOOL IsExplosionInSphere(int explosionType, float x, float y, float z, float radius) { return _i(0xAB0F816885B0E483,explosionType, x, y, z, radius); } // 0xAB0F816885B0E483 0xD455A7F3 b323 - // explosionType: See AddExplosion. + // explosionType: See AddExplosion. inline Entity GetOwnerOfExplosionInSphere(int explosionType, float x, float y, float z, float radius) { return _i(0xB3CD51E3DB86F176,explosionType, x, y, z, radius); } // 0xB3CD51E3DB86F176 b1290 - // explosionType: See AddExplosion, -1 for any explosion type + // explosionType: See AddExplosion, -1 for any explosion type // inline BOOL IsExplosionInAngledArea(int explosionType, float x1, float y1, float z1, float x2, float y2, float z2, float width) { return _i(0xA079A6C51525DC4B,explosionType, x1, y1, z1, x2, y2, z2, width); } // 0xA079A6C51525DC4B 0x0128FED9 b323 - // Returns a handle to the first entity within the a circle spawned inside the 2 points from a radius. + // Returns a handle to the first entity within the a circle spawned inside the 2 points from a radius. // // explosionType: See AddExplosion. inline Entity GetOwnerOfExplosionInAngledArea(int explosionType, float x1, float y1, float z1, float x2, float y2, float z2, float radius) { return _i(0x14BA4BA137AF6CEC,explosionType, x1, y1, z1, x2, y2, z2, radius); } // 0x14BA4BA137AF6CEC 0xAEC0D176 b323 @@ -3277,23 +3277,23 @@ namespace FIRE namespace GRAPHICS { - // NOTE: Debugging functions are not present in the retail version of the game. + // NOTE: Debugging functions are not present in the retail version of the game. inline Void SetDebugLinesAndSpheresDrawingActive(BOOL enabled) { return _i(0x175B6BFC15CDD0C5,enabled); } // 0x175B6BFC15CDD0C5 0x1418CA37 b323 - // + // inline Void DrawDebugLine(float x1, float y1, float z1, float x2, float y2, float z2, int r, int g, int b, int alpha) { return _i(0x7FDFADE676AA3CB0,x1, y1, z1, x2, y2, z2, r, g, b, alpha); } // 0x7FDFADE676AA3CB0 0xABF783AB b323 - // NOTE: Debugging functions are not present in the retail version of the game. + // NOTE: Debugging functions are not present in the retail version of the game. inline Void DrawDebugLineWithTwoColours(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) { return _i(0xD8B9A8AC5608FF94,x1, y1, z1, x2, y2, z2, r1, g1, b1, r2, g2, b2, alpha1, alpha2); } // 0xD8B9A8AC5608FF94 0xE8BFF632 b323 - // NOTE: Debugging functions are not present in the retail version of the game. + // NOTE: Debugging functions are not present in the retail version of the game. inline Void DrawDebugSphere(float x, float y, float z, float radius, int red, int green, int blue, int alpha) { return _i(0xAAD68E1AB39DA632,x, y, z, radius, red, green, blue, alpha); } // 0xAAD68E1AB39DA632 0x304D0EEF b323 - // + // inline Void DrawDebugBox(float x1, float y1, float z1, float x2, float y2, float z2, int r, int g, int b, int alpha) { return _i(0x83A2CA4F2E573BD,x1, y1, z1, x2, y2, z2, r, g, b, alpha); } // 0x83A2CA4F2E573BD 0x8524A848 b323 - // NOTE: Debugging functions are not present in the retail version of the game. + // NOTE: Debugging functions are not present in the retail version of the game. inline Void DrawDebugCross(float x, float y, float z, float size, int red, int green, int blue, int alpha) { return _i(0x73B1189623049839,x, y, z, size, red, green, blue, alpha); } // 0x73B1189623049839 0xB6DF3709 b323 - // NOTE: Debugging functions are not present in the retail version of the game. - inline Void DrawDebugText(String text, float x, float y, float z, int red, int green, int blue, int alpha) { return _i(0x3903E216620488E8,text, x, y, z, red, green, blue, alpha); } // 0x3903E216620488E8 0x269B006F b323 - // NOTE: Debugging functions are not present in the retail version of the game. - inline Void DrawDebugText2D(String text, float x, float y, float z, int red, int green, int blue, int alpha) { return _i(0xA3BB2E9555C05A8F,text, x, y, z, red, green, blue, alpha); } // 0xA3BB2E9555C05A8F 0x528B973B b323 - // Draws a depth-tested line from one point to another. + // NOTE: Debugging functions are not present in the retail version of the game. + inline Void DrawDebugText(const char* text, float x, float y, float z, int red, int green, int blue, int alpha) { return _i(0x3903E216620488E8,text, x, y, z, red, green, blue, alpha); } // 0x3903E216620488E8 0x269B006F b323 + // NOTE: Debugging functions are not present in the retail version of the game. + inline Void DrawDebugText2D(const char* text, float x, float y, float z, int red, int green, int blue, int alpha) { return _i(0xA3BB2E9555C05A8F,text, x, y, z, red, green, blue, alpha); } // 0xA3BB2E9555C05A8F 0x528B973B b323 + // 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 @@ -3310,7 +3310,7 @@ namespace GRAPHICS // Function.Call(Hash.DrawLine, from.X, from.Y, from.Z, to.X, to.Y, to.Z, col.R, col.G, col.B, col.A); // } inline Void DrawLine(float x1, float y1, float z1, float x2, float y2, float z2, int red, int green, int blue, int alpha) { return _i(0x6B7256074AE34680,x1, y1, z1, x2, y2, z2, red, green, blue, alpha); } // 0x6B7256074AE34680 0xB3426BCC b323 - // x/y/z - Location of a vertex (in world coords), presumably. + // 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 @@ -3332,17 +3332,17 @@ namespace GRAPHICS // } // BTW: Intersecting triangles are not supported: They overlap in the order they were called. inline Void DrawPoly(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) { return _i(0xAC26716048436851,x1, y1, z1, x2, y2, z2, x3, y3, z3, red, green, blue, alpha); } // 0xAC26716048436851 0xABD19253 b323 - // Used for drawling Deadline trailing lights, see deadline.ytd + // 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. - inline Void DrawTexturedPoly(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) { return _i(0x29280002282F1928,x1, y1, z1, x2, y2, z2, x3, y3, z3, red, green, blue, alpha, textureDict, textureName, u1, v1, w1, u2, v2, w2, u3, v3, w3); } // 0x29280002282F1928 b877 - // Used for drawling Deadline trailing lights, see deadline.ytd + inline Void DrawTexturedPoly(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, const char* textureDict, const char* textureName, float u1, float v1, float w1, float u2, float v2, float w2, float u3, float v3, float w3) { return _i(0x29280002282F1928,x1, y1, z1, x2, y2, z2, x3, y3, z3, red, green, blue, alpha, textureDict, textureName, u1, v1, w1, u2, v2, w2, u3, v3, w3); } // 0x29280002282F1928 b877 + // 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. - inline Void DrawTexturedPolyWithThreeColours(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) { return _i(0x736D7AA1B750856B,x1, y1, z1, x2, y2, z2, x3, y3, z3, red1, green1, blue1, alpha1, red2, green2, blue2, alpha2, red3, green3, blue3, alpha3, textureDict, textureName, u1, v1, w1, u2, v2, w2, u3, v3, w3); } // 0x736D7AA1B750856B b877 - // x,y,z = start pos + inline Void DrawTexturedPolyWithThreeColours(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, const char* textureDict, const char* textureName, float u1, float v1, float w1, float u2, float v2, float w2, float u3, float v3, float w3) { return _i(0x736D7AA1B750856B,x1, y1, z1, x2, y2, z2, x3, y3, z3, red1, green1, blue1, alpha1, red2, green2, blue2, alpha2, red3, green3, blue3, alpha3, textureDict, textureName, u1, v1, w1, u2, v2, w2, u3, v3, w3); } // 0x736D7AA1B750856B b877 + // x,y,z = start pos // x2,y2,z2 = end pos // // Draw's a 3D Box between the two x,y,z coords. @@ -3360,75 +3360,75 @@ namespace GRAPHICS // Function.Call(Hash.DrawBox,a.X, a.Y, a.Z,b.X, b.Y, b.Z,col.R, col.G, col.B, col.A); // } inline Void DrawBox(float x1, float y1, float z1, float x2, float y2, float z2, int red, int green, int blue, int alpha) { return _i(0xD3A9971CADAC7252,x1, y1, z1, x2, y2, z2, red, green, blue, alpha); } // 0xD3A9971CADAC7252 0xCD4D9DD5 b323 - // + // inline Void SetBackfaceculling(BOOL toggle) { return _i(0x23BA6B0C2AD7B0D3,toggle); } // 0x23BA6B0C2AD7B0D3 0xC44C2F44 b323 - // + // inline Void SetDepthwriting(BOOL toggle) { return _i(0xC5C8F970D4EDFF71,toggle); } // 0xC5C8F970D4EDFF71 b877 - // + // inline BOOL BeginTakeMissionCreatorPhoto() { return _i(0x1DD2139A9A20DCE8); } // 0x1DD2139A9A20DCE8 0xBA9AD458 b323 - // + // inline int GetStatusOfTakeMissionCreatorPhoto() { return _i(0x90A78ECAA4E78453); } // 0x90A78ECAA4E78453 0xADBBA287 b323 - // + // inline Void FreeMemoryForMissionCreatorPhoto() { return _i(0xA46AF8A78DC5E0A); } // 0xA46AF8A78DC5E0A 0x9E553002 b323 - // + // inline BOOL LoadMissionCreatorPhoto(Any* p0, Any p1, Any p2, Any p3) { return _i(0x4862437A486F91B0,p0, p1, p2, p3); } // 0x4862437A486F91B0 0x56C1E488 b323 - // + // inline int GetStatusOfLoadMissionCreatorPhoto(Any* p0) { return _i(0x1670F8D05056F257,p0); } // 0x1670F8D05056F257 0x226B08EA b323 - // + // inline BOOL BeginCreateMissionCreatorPhotoPreview() { return _i(0x7FA5D82B8F58EC06); } // 0x7FA5D82B8F58EC06 0x1F3CADB0 b323 - // + // inline int GetStatusOfCreateMissionCreatorPhotoPreview() { return _i(0x5B0316762AFD4A64); } // 0x5B0316762AFD4A64 0xA9DC8558 b323 - // + // inline Void FreeMemoryForMissionCreatorPhotoPreview() { return _i(0x346EF3ECAAAB149E); } // 0x346EF3ECAAAB149E 0x88EAF398 b323 - // + // inline BOOL BeginTakeHighQualityPhoto() { return _i(0xA67C35C56EB1BD9D); } // 0xA67C35C56EB1BD9D 0x47B0C137 b323 - // + // inline int GetStatusOfTakeHighQualityPhoto() { return _i(0xD6CA79EEEBD8CA3); } // 0xD6CA79EEEBD8CA3 0x65376C9B b323 - // + // inline Void FreeMemoryForHighQualityPhoto() { return _i(0xD801CC02177FA3F1); } // 0xD801CC02177FA3F1 0x9CBA682A b323 - // + // inline Void SetTakenPhotoIsMugshot(BOOL toggle) { return _i(0x1BBC135A4D25EDDE,toggle); } // 0x1BBC135A4D25EDDE b323 - // + // inline Void SetArenaThemeAndVariationForTakenPhoto(Any p0, int p1) { return _i(0xF3F776ADA161E47D,p0, p1); } // 0xF3F776ADA161E47D b1604 - // + // inline Void SetOnIslandXForTakenPhoto(Any p0) { return _i(0xADD6627C4D325458,p0); } // 0xADD6627C4D325458 b2189 - // 1 match in 1 script. cellphone_controller. + // 1 match in 1 script. cellphone_controller. // p0 is -1 in scripts. inline BOOL SaveHighQualityPhoto(int unused) { return _i(0x3DEC726C25A11BAC,unused); } // 0x3DEC726C25A11BAC 0x3B15D33C b323 - // + // inline int GetStatusOfSaveHighQualityPhoto() { return _i(0xC0C4E81E1AC60A0); } // 0xC0C4E81E1AC60A0 0xEC5D0317 b323 - // + // inline BOOL BeginCreateLowQualityCopyOfPhoto(Any p0) { return _i(0x759650634F07B6B4,p0); } // 0x759650634F07B6B4 0x25D569EB b323 - // + // inline int GetStatusOfCreateLowQualityCopyOfPhoto(int p0) { return _i(0xCB82A0BF0E3E3265,p0); } // 0xCB82A0BF0E3E3265 0xCFCDC518 b323 - // + // inline Void FreeMemoryForLowQualityPhoto() { return _i(0x6A12D88881435DCA); } // 0x6A12D88881435DCA 0x108F36CC b323 - // + // inline Void DrawLowQualityPhotoToPhone(BOOL p0, BOOL p1) { return _i(0x1072F115DAB0717E,p0, p1); } // 0x1072F115DAB0717E 0xE9F2B68F b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline int GetMaximumNumberOfPhotos() { return _i(0x34D23450F028B0BF); } // 0x34D23450F028B0BF 0x727AA63F b323 - // This function is hard-coded to always return 96. + // This function is hard-coded to always return 96. inline int GetMaximumNumberOfCloudPhotos() { return _i(0xDC54A7AF8B3A14EF); } // 0xDC54A7AF8B3A14EF 0x239272BD b323 - // + // inline int GetCurrentNumberOfCloudPhotos() { return _i(0x473151EBC762C6DA); } // 0x473151EBC762C6DA 0x21DBF0C9 b323 - // 2 matches across 2 scripts. Only showed in appcamera & appmedia. Both were 0. + // 2 matches across 2 scripts. Only showed in appcamera & appmedia. Both were 0. inline BOOL QueueOperationToCreateSortedListOfPhotos(Any p0) { return _i(0x2A893980E96B659A,p0); } // 0x2A893980E96B659A 0x199FABF0 b323 - // 3 matches across 3 scripts. First 2 were 0, 3rd was 1. Possibly a bool. + // 3 matches across 3 scripts. First 2 were 0, 3rd was 1. Possibly a bool. // appcamera, appmedia, and cellphone_controller. inline int GetStatusOfSortedListOperation(Any p0) { return _i(0xF5BED327CEA362B1,p0); } // 0xF5BED327CEA362B1 0x596B900D b323 - // + // inline Void ClearStatusOfSortedListOperation() { return _i(0x4AF92ACD3141D96C); } // 0x4AF92ACD3141D96C 0xC9EF81ED b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline BOOL DoesThisPhotoSlotContainAValidPhoto(Any p0) { return _i(0xE791DF1F73ED2C8B,p0); } // 0xE791DF1F73ED2C8B 0x9D84554C b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline BOOL LoadHighQualityPhoto(Any p0) { return _i(0xEC72C258667BE5EA,p0); } // 0xEC72C258667BE5EA 0x9C106AD9 b323 - // Hardcoded to always return 2. + // Hardcoded to always return 2. inline int GetLoadHighQualityPhotoStatus(int p0) { return _i(0x40AFB081F8ADD4EE,p0); } // 0x40AFB081F8ADD4EE 0x762E5C5F b323 - // + // inline Void DrawLightWithRangeex(float x, float y, float z, int r, int g, int b, float range, float intensity, float shadow) { return _i(0xF49E9A9716A04595,x, y, z, r, g, b, range, intensity, shadow); } // 0xF49E9A9716A04595 b323 - // + // inline Void DrawLightWithRange(float posX, float posY, float posZ, int colorR, int colorG, int colorB, float range, float intensity) { return _i(0xF2A1B2771A01DBD4,posX, posY, posZ, colorR, colorG, colorB, range, intensity); } // 0xF2A1B2771A01DBD4 0x6A396E9A b323 - // Parameters: + // 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 @@ -3446,17 +3446,17 @@ namespace GRAPHICS // dirVector.Normalize(); // Function.Call(Hash.DrawSpotLight, pos.X, pos.Y, pos.Z, dirVector.X, dirVector.Y, dirVector.Z, 255, 255, 255, 100.0f, 1f, 0.0f, 13.0f, 1f); inline Void DrawSpotLight(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) { return _i(0xD0F64B265C8C8B33,posX, posY, posZ, dirX, dirY, dirZ, colorR, colorG, colorB, distance, brightness, hardness, radius, falloff); } // 0xD0F64B265C8C8B33 0xBDBC410C b323 - // + // inline Void DrawShadowedSpotLight(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) { return _i(0x5BCA583A583194DB,posX, posY, posZ, dirX, dirY, dirZ, colorR, colorG, colorB, distance, brightness, roundness, radius, falloff, shadowId); } // 0x5BCA583A583194DB 0x32BF9598 b323 - // + // inline Void FadeUpPedLight(float p0) { return _i(0xC9B18B4619F48F7B,p0); } // 0xC9B18B4619F48F7B 0x93628786 b323 - // + // inline Void UpdateLightsOnEntity(Entity entity) { return _i(0xDEADC0DEDEADC0DE,entity); } // 0xDEADC0DEDEADC0DE 0xC12AC47A b323 - // + // inline Void SetLightOverrideMaxIntensityScale(Any p0) { return _i(0x9641588DAB93B4B5,p0); } // 0x9641588DAB93B4B5 b877 - // + // inline float GetLightOverrideMaxIntensityScale() { return _i(0x393BD2275CEB7793); } // 0x393BD2275CEB7793 b1103 - // enum MarkerTypes + // enum MarkerTypes // { // MarkerTypeUpsideDownCone = 0, // MarkerTypeVerticalCylinder = 1, @@ -3506,7 +3506,7 @@ namespace GRAPHICS // // drawOnEnts - Draws the marker onto any entities that intersect it // - // basically what he said, except textureDict and textureName are totally not String, or if so, then they are always set to 0/NULL/nullptr in every script I checked, eg: + // 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); // @@ -3515,15 +3515,15 @@ namespace GRAPHICS // GRAPHICS::DrawMarker(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); // // - inline Void DrawMarker(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 bobUpAndDown, BOOL faceCamera, int p19, BOOL rotate, String textureDict, String textureName, BOOL drawOnEnts) { return _i(0x28477EC23D892089,type, posX, posY, posZ, dirX, dirY, dirZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts); } // 0x28477EC23D892089 0x48D84A02 b323 - // - inline Void DrawMarkerEx(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 bobUpAndDown, BOOL faceCamera, Any p19, BOOL rotate, String textureDict, String textureName, BOOL drawOnEnts, BOOL p24, BOOL p25) { return _i(0xE82728F0DE75D13A,type, posX, posY, posZ, dirX, dirY, dirZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts, p24, p25); } // 0xE82728F0DE75D13A b573 - // Draws a 3D sphere, typically seen in the GTA:O freemode event "Penned In". + inline Void DrawMarker(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 bobUpAndDown, BOOL faceCamera, int p19, BOOL rotate, const char* textureDict, const char* textureName, BOOL drawOnEnts) { return _i(0x28477EC23D892089,type, posX, posY, posZ, dirX, dirY, dirZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts); } // 0x28477EC23D892089 0x48D84A02 b323 + // + inline Void DrawMarkerEx(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 bobUpAndDown, BOOL faceCamera, Any p19, BOOL rotate, const char* textureDict, const char* textureName, BOOL drawOnEnts, BOOL p24, BOOL p25) { return _i(0xE82728F0DE75D13A,type, posX, posY, posZ, dirX, dirY, dirZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts, p24, p25); } // 0xE82728F0DE75D13A b573 + // Draws a 3D sphere, typically seen in the GTA:O freemode event "Penned In". // Example https://imgur.com/nCbtS4H // // alpha - The alpha for the sphere. Goes from 0.0 to 1.0. inline Void DrawMarkerSphere(float x, float y, float z, float radius, int red, int green, int blue, float alpha) { return _i(0x799017F9E3B10112,x, y, z, radius, red, green, blue, alpha); } // 0x799017F9E3B10112 b463 - // Creates a checkpoint. Returns the handle of the checkpoint. + // 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. // @@ -3563,50 +3563,50 @@ namespace GRAPHICS // 170-179-------Perforated ring (0-9) // 180-189----------------Sphere (0-9) inline int CreateCheckpoint(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) { return _i(0x134F0835AB6BFCB,type, posX1, posY1, posZ1, posX2, posY2, posZ2, diameter, red, green, blue, alpha, reserved); } // 0x134F0835AB6BFCB 0xF541B690 b323 - // + // inline Void SetCheckpointInsideCylinderHeightScale(int checkpoint, float scale) { return _i(0x4B5B4DA5D79F1943,checkpoint, scale); } // 0x4B5B4DA5D79F1943 0x80151CCF b323 - // + // inline Void SetCheckpointInsideCylinderScale(int checkpoint, float scale) { return _i(0x44621483FF966526,checkpoint, scale); } // 0x44621483FF966526 b877 - // Sets the cylinder height of the checkpoint. + // 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. inline Void SetCheckpointCylinderHeight(int checkpoint, float nearHeight, float farHeight, float radius) { return _i(0x2707AAE9D9297D89,checkpoint, nearHeight, farHeight, radius); } // 0x2707AAE9D9297D89 0xFF0F9B22 b323 - // Sets the checkpoint color. + // Sets the checkpoint color. inline Void SetCheckpointRgba(int checkpoint, int red, int green, int blue, int alpha) { return _i(0x7167371E8AD747F7,checkpoint, red, green, blue, alpha); } // 0x7167371E8AD747F7 0xEF9C8CB3 b323 - // Sets the checkpoint icon color. + // Sets the checkpoint icon color. inline Void SetCheckpointRgba2(int checkpoint, int red, int green, int blue, int alpha) { return _i(0xB9EA40907C680580,checkpoint, red, green, blue, alpha); } // 0xB9EA40907C680580 0xA5456DBB b323 - // This does not move an existing checkpoint... so wtf. + // This does not move an existing checkpoint... so wtf. inline Void SetCheckpointClipplaneWithPosNorm(int checkpoint, float posX, float posY, float posZ, float unkX, float unkY, float unkZ) { return _i(0xF51D36185993515D,checkpoint, posX, posY, posZ, unkX, unkY, unkZ); } // 0xF51D36185993515D 0x20EABD0F b323 - // + // inline Void SetCheckpointForceOldArrowPointing(int checkpoint) { return _i(0xFCF6788FC4860CD4,checkpoint); } // 0xFCF6788FC4860CD4 b1734 - // Unknown. Called after creating a checkpoint (type: 51) in the creators. + // Unknown. Called after creating a checkpoint (type: 51) in the creators. inline Void SetCheckpointDecalRotAlignedToCameraRot(int checkpoint) { return _i(0x615D3925E87A3B26,checkpoint); } // 0x615D3925E87A3B26 0x1E3A3126 b323 - // + // inline Void SetCheckpointForceDirection(int checkpoint) { return _i(0xDB1EA9411C8911EC,checkpoint); } // 0xDB1EA9411C8911EC b1180 - // + // inline Void SetCheckpointDirection(int checkpoint, float posX, float posY, float posZ) { return _i(0x3C788E7F6438754D,checkpoint, posX, posY, posZ); } // 0x3C788E7F6438754D b1180 - // + // inline Void DeleteCheckpoint(int checkpoint) { return _i(0xF5ED37F54CD4D52E,checkpoint); } // 0xF5ED37F54CD4D52E 0xB66CF3CA b323 - // + // inline Void DontRenderInGameUi(BOOL p0) { return _i(0x22A249A53034450A,p0); } // 0x22A249A53034450A 0x932FDB81 b323 - // + // inline Void ForceRenderInGameUi(BOOL toggle) { return _i(0xDC459CFA0CCE245B,toggle); } // 0xDC459CFA0CCE245B 0x7E946E87 b323 - // This function can requests texture dictonaries from following RPFs: + // 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 - inline Void RequestStreamedTextureDict(String textureDict, BOOL p1) { return _i(0xDFA2EF8E04127DD5,textureDict, p1); } // 0xDFA2EF8E04127DD5 0x4C9B035F b323 - // - inline BOOL HasStreamedTextureDictLoaded(String textureDict) { return _i(0x145F696AAAAD2E4,textureDict); } // 0x145F696AAAAD2E4 0x3F436EEF b323 - // - inline Void SetStreamedTextureDictAsNoLongerNeeded(String textureDict) { return _i(0xBE2CACCF5A8AA805,textureDict); } // 0xBE2CACCF5A8AA805 0xF07DDA38 b323 - // Draws a rectangle on the screen. + inline Void RequestStreamedTextureDict(const char* textureDict, BOOL p1) { return _i(0xDFA2EF8E04127DD5,textureDict, p1); } // 0xDFA2EF8E04127DD5 0x4C9B035F b323 + // + inline BOOL HasStreamedTextureDictLoaded(const char* textureDict) { return _i(0x145F696AAAAD2E4,textureDict); } // 0x145F696AAAAD2E4 0x3F436EEF b323 + // + inline Void SetStreamedTextureDictAsNoLongerNeeded(const char* textureDict) { return _i(0xBE2CACCF5A8AA805,textureDict); } // 0xBE2CACCF5A8AA805 0xF07DDA38 b323 + // 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) // @@ -3627,9 +3627,9 @@ namespace GRAPHICS // The total number of rectangles to be drawn in one frame is apparently limited to 399. // inline Void DrawRect(float x, float y, float width, float height, int r, int g, int b, int a, BOOL p8) { return _i(0x3A618A217E5154F0,x, y, width, height, r, g, b, a, p8); } // 0x3A618A217E5154F0 0xDD2BFC77 b323 - // 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. + // 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. inline Void SetScriptGfxDrawBehindPausemenu(BOOL toggle) { return _i(0xC6372ECD45D73BCD,toggle); } // 0xC6372ECD45D73BCD 0xF8FBCC25 b323 - // Sets the draw order for script draw commands. + // Sets the draw order for script draw commands. // // Examples from decompiled scripts: // GRAPHICS::SetScriptGfxDrawOrder(7); @@ -3638,7 +3638,7 @@ namespace GRAPHICS // GRAPHICS::SetScriptGfxDrawOrder(1); // GRAPHICS::DrawRect(0.5, 0.5, 1.5, 1.5, 0, 0, 0, 255, 0); inline Void SetScriptGfxDrawOrder(int drawOrder) { return _i(0x61BB1D9B3A95D802,drawOrder); } // 0x61BB1D9B3A95D802 0xADF81D24 b323 - // horizontalAlign: The horizontal alignment. This can be 67 ('C'), 76 ('L'), or 82 ('R'). + // 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. @@ -3651,16 +3651,16 @@ namespace GRAPHICS // // To reset the value, use RESetScriptGfxAlign. inline Void SetScriptGfxAlign(int horizontalAlign, int verticalAlign) { return _i(0xB8A850F20A067EB6,horizontalAlign, verticalAlign); } // 0xB8A850F20A067EB6 0x228A2598 b323 - // This function resets the alignment set using SetScriptGfxAlign and SetScriptGfxAlign_PARAMS to the default values ('I', 'I'; 0, 0, 0, 0). + // This function resets the alignment set using SetScriptGfxAlign and SetScriptGfxAlign_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. inline Void ResetScriptGfxAlign() { return _i(0xE3A3DB414A373DAB); } // 0xE3A3DB414A373DAB 0x3FE33BD6 b323 - // Sets the draw offset/calculated size for SetScriptGfxAlign. 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. + // Sets the draw offset/calculated size for SetScriptGfxAlign. 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. inline Void SetScriptGfxAlignParams(float x, float y, float w, float h) { return _i(0xF5A2C681787E579D,x, y, w, h); } // 0xF5A2C681787E579D 0x76C641E4 b323 - // Calculates the effective X/Y fractions when applying the values set by SetScriptGfxAlign and SetScriptGfxAlign_PARAMS + // Calculates the effective X/Y fractions when applying the values set by SetScriptGfxAlign and SetScriptGfxAlign_PARAMS inline Void GetScriptGfxAlignPosition(float x, float y, float* calculatedX, float* calculatedY) { return _i(0x6DD8F5AA635EB4B2,x, y, calculatedX, calculatedY); } // 0x6DD8F5AA635EB4B2 b323 - // Gets the scale of safe zone. if the safe zone size scale is max, it will return 1.0. + // Gets the scale of safe zone. if the safe zone size scale is max, it will return 1.0. inline float GetSafeZoneSize() { return _i(0xBAF107B6BB2C97F0); } // 0xBAF107B6BB2C97F0 0x3F0D1A6F b323 - // Draws a 2D sprite on the screen. + // Draws a 2D sprite on the screen. // // Parameters: // textureDict - Name of texture dictionary to load texture from (e.g. "CommonMenu", "MPWeaponsCommon", etc.) @@ -3675,16 +3675,16 @@ namespace GRAPHICS // red,green,blue - Sprite color (default = 255/255/255) // // alpha - opacity level - inline Void DrawSprite(String textureDict, String textureName, float screenX, float screenY, float width, float height, float heading, int red, int green, int blue, int alpha, BOOL p11, Any p12) { return _i(0xE7FFAE5EBF23D890,textureDict, textureName, screenX, screenY, width, height, heading, red, green, blue, alpha, p11, p12); } // 0xE7FFAE5EBF23D890 0x1FEC16B0 b323 - // Used in arcade games and Beam hack minigame in Doomsday Heist. I will most certainly dive into this to try replicate arcade games. + inline Void DrawSprite(const char* textureDict, const char* textureName, float screenX, float screenY, float width, float height, float heading, int red, int green, int blue, int alpha, BOOL p11, Any p12) { return _i(0xE7FFAE5EBF23D890,textureDict, textureName, screenX, screenY, width, height, heading, red, green, blue, alpha, p11, p12); } // 0xE7FFAE5EBF23D890 0x1FEC16B0 b323 + // 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 - inline Void DrawSpriteArx(String textureDict, String textureName, float x, float y, float width, float height, float p6, int red, int green, int blue, int alpha, Any p11, Any p12) { return _i(0x2D3B147AFAD49DE0,textureDict, textureName, x, y, width, height, p6, red, green, blue, alpha, p11, p12); } // 0x2D3B147AFAD49DE0 b1290 - // Similar to _DrawSprite, but seems to be some kind of "interactive" sprite, at least used by render targets. + inline Void DrawSpriteArx(const char* textureDict, const char* textureName, float x, float y, float width, float height, float p6, int red, int green, int blue, int alpha, Any p11, Any p12) { return _i(0x2D3B147AFAD49DE0,textureDict, textureName, x, y, width, height, p6, red, green, blue, alpha, p11, p12); } // 0x2D3B147AFAD49DE0 b1290 + // Similar to _DrawSprite, 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 @@ -3698,22 +3698,22 @@ namespace GRAPHICS // Prop_Screen_Nightclub // And a few others // - inline Void DrawSpriteNamedRendertarget(String textureDict, String textureName, float screenX, float screenY, float width, float height, float heading, int red, int green, int blue, int alpha, Any p11) { return _i(0x2BC54A8188768488,textureDict, textureName, screenX, screenY, width, height, heading, red, green, blue, alpha, p11); } // 0x2BC54A8188768488 b877 - // Similar to DrawSprite, but allows to specify the texture coordinates used to draw the sprite. + inline Void DrawSpriteNamedRendertarget(const char* textureDict, const char* textureName, float screenX, float screenY, float width, float height, float heading, int red, int green, int blue, int alpha, Any p11) { return _i(0x2BC54A8188768488,textureDict, textureName, screenX, screenY, width, height, heading, red, green, blue, alpha, p11); } // 0x2BC54A8188768488 b877 + // Similar to DrawSprite, 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 - inline Void DrawSpriteArxWithUv(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, Any p15) { return _i(0x95812F9B26074726,textureDict, textureName, x, y, width, height, u1, v1, u2, v2, heading, red, green, blue, alpha, p15); } // 0x95812F9B26074726 b1868 - // Example: + inline Void DrawSpriteArxWithUv(const char* textureDict, const char* 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, Any p15) { return _i(0x95812F9B26074726,textureDict, textureName, x, y, width, height, u1, v1, u2, v2, heading, red, green, blue, alpha, p15); } // 0x95812F9B26074726 b1868 + // Example: // GRAPHICS::AddEntityIcon(a_0, "MP_Arrow"); // // I tried this and nothing happened... - inline int AddEntityIcon(Entity entity, String icon) { return _i(0x9CD43EEE12BF4DD0,entity, icon); } // 0x9CD43EEE12BF4DD0 0xF3027D21 b323 - // + inline int AddEntityIcon(Entity entity, const char* icon) { return _i(0x9CD43EEE12BF4DD0,entity, icon); } // 0x9CD43EEE12BF4DD0 0xF3027D21 b323 + // inline Void SetEntityIconVisibility(Entity entity, BOOL toggle) { return _i(0xE0E8BEECCA96BA31,entity, toggle); } // 0xE0E8BEECCA96BA31 0xD1D2FD52 b323 - // + // inline Void SetEntityIconColor(Entity entity, int red, int green, int blue, int alpha) { return _i(0x1D5F595CCAE2E238,entity, red, green, blue, alpha); } // 0x1D5F595CCAE2E238 0x6EE1E946 b323 - // 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. + // 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#: @@ -3731,62 +3731,62 @@ namespace GRAPHICS // This function also effects the drawing of texts and other UI-elements. // The effect can be reset by calling GRAPHICS::ClearDrawOrigin(). inline Void SetDrawOrigin(float x, float y, float z, BOOL p3) { return _i(0xAA0008F3BBB8F416,x, y, z, p3); } // 0xAA0008F3BBB8F416 0xE10198D5 b323 - // Resets the screen's draw-origin which was changed by the function GRAPHICS::SetDrawOrigin(...) back to x=0,y=0. + // Resets the screen's draw-origin which was changed by the function GRAPHICS::SetDrawOrigin(...) back to x=0,y=0. // // See GRAPHICS::SetDrawOrigin(...) for further information. inline Void ClearDrawOrigin() { return _i(0xFF0B610F6BE0D7AF); } // 0xFF0B610F6BE0D7AF 0xDD76B263 b323 - // - inline int SetBinkMovie(String name) { return _i(0x338D9F609FD632DB,name); } // 0x338D9F609FD632DB b1290 - // + // + inline int SetBinkMovie(const char* name) { return _i(0x338D9F609FD632DB,name); } // 0x338D9F609FD632DB b1290 + // inline Void PlayBinkMovie(int binkMovie) { return _i(0x70D2CC8A542A973C,binkMovie); } // 0x70D2CC8A542A973C b1290 - // + // inline Void StopBinkMovie(int binkMovie) { return _i(0x63606A61DE68898A,binkMovie); } // 0x63606A61DE68898A b1290 - // + // inline Void ReleaseBinkMovie(int binkMovie) { return _i(0x4D950EEFA4EED8C,binkMovie); } // 0x4D950EEFA4EED8C b1290 - // + // inline Void DrawBinkMovie(int binkMovie, float p1, float p2, float p3, float p4, float p5, int r, int g, int b, int a) { return _i(0x7118E83EEB9F7238,binkMovie, p1, p2, p3, p4, p5, r, g, b, a); } // 0x7118E83EEB9F7238 b1290 - // In percentage: 0.0 - 100.0 + // In percentage: 0.0 - 100.0 inline Void SetBinkMovieTime(int binkMovie, float progress) { return _i(0xCB6B3446855B57A,binkMovie, progress); } // 0xCB6B3446855B57A b1290 - // In percentage: 0.0 - 100.0 + // In percentage: 0.0 - 100.0 inline float GetBinkMovieTime(int binkMovie) { return _i(0x8E17DDD6B9D5BF29,binkMovie); } // 0x8E17DDD6B9D5BF29 b1734 - // binkMovie: Is return value from _SetBinkMovie. Has something to do with bink volume? (audRequestedSettings::SetVolumeCurveScale) + // binkMovie: Is return value from _SetBinkMovie. Has something to do with bink volume? (audRequestedSettings::SetVolumeCurveScale) inline Void SetBinkMovieVolume(int binkMovie, float value) { return _i(0xAFF33B1178172223,binkMovie, value); } // 0xAFF33B1178172223 b1290 - // Might be more appropriate in AUDIO? + // Might be more appropriate in AUDIO? inline Void AttachTvAudioToEntity(Entity entity) { return _i(0x845BAD77CC770633,entity); } // 0x845BAD77CC770633 0x784944DB b323 - // + // inline Void SetBinkMovieAudioFrontend(int binkMovie, BOOL p1) { return _i(0xF816F2933752322D,binkMovie, p1); } // 0xF816F2933752322D b1868 - // Probably changes tvs from being a 3d audio to being "global" audio + // Probably changes tvs from being a 3d audio to being "global" audio inline Void SetTvAudioFrontend(BOOL toggle) { return _i(0x113D2C5DC57E1774,toggle); } // 0x113D2C5DC57E1774 0x2E0DFA35 b323 - // + // inline Void SetBinkShouldSkip(int binkMovie, BOOL bShouldSkip) { return _i(0x6805D58CAA427B72,binkMovie, bShouldSkip); } // 0x6805D58CAA427B72 b1290 - // - inline int LoadMovieMeshSet(String movieMeshSetName) { return _i(0xB66064452270E8F1,movieMeshSetName); } // 0xB66064452270E8F1 0x9627905C b323 - // + // + inline int LoadMovieMeshSet(const char* movieMeshSetName) { return _i(0xB66064452270E8F1,movieMeshSetName); } // 0xB66064452270E8F1 0x9627905C b323 + // inline Void ReleaseMovieMeshSet(int movieMeshSet) { return _i(0xEB119AA014E89183,movieMeshSet); } // 0xEB119AA014E89183 0x4FA5501D b323 - // + // inline int QueryMovieMeshSetState(Any p0) { return _i(0x9B6E70C5CEEF4EEB,p0); } // 0x9B6E70C5CEEF4EEB 0x9D5D9B38 b323 - // int screenresx,screenresy; + // int screenresx,screenresy; // GetScreenResolution(&screenresx,&screenresy); inline Void GetScreenResolution(int* x, int* y) { return _i(0x888D57E407E63624,x, y); } // 0x888D57E407E63624 0x29F3572F b323 - // Returns current screen resolution. + // Returns current screen resolution. inline Void GetActualScreenResolution(int* x, int* y) { return _i(0x873C9F3104101DD3,x, y); } // 0x873C9F3104101DD3 b323 - // + // inline float GetAspectRatio(BOOL b) { return _i(0xF1307EF624A80D87,b); } // 0xF1307EF624A80D87 b323 - // + // inline float GetScreenAspectRatio() { return _i(0xB2EBE8CBC58B90E9); } // 0xB2EBE8CBC58B90E9 b323 - // Setting Aspect Ratio Manually in game will return: + // 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. inline BOOL GetIsWidescreen() { return _i(0x30CF4BDA4FCB1905); } // 0x30CF4BDA4FCB1905 0xEC717AEF b323 - // false = Any resolution < 1280x720 + // false = Any resolution < 1280x720 // true = Any resolution >= 1280x720 inline BOOL GetIsHidef() { return _i(0x84ED31191CC5D2C9); } // 0x84ED31191CC5D2C9 0x1C340359 b323 - // + // inline Void AdjustNextPosSizeAsNormalized169() { return _i(0xEFABC7722293DA7C); } // 0xEFABC7722293DA7C b323 - // Enables Night Vision. + // Enables Night Vision. // // Example: // C#: Function.Call(Hash.SetNightvision, true); @@ -3796,21 +3796,21 @@ namespace GRAPHICS // true = turns night vision on for your player. // false = turns night vision off for your player. inline Void SetNightvision(BOOL toggle) { return _i(0x18F621F7A5B1F85D,toggle); } // 0x18F621F7A5B1F85D 0xD1E5565F b323 - // + // inline BOOL GetRequestingnightvision() { return _i(0x35FB78DC42B7BD21); } // 0x35FB78DC42B7BD21 0xF3A6309E b323 - // + // inline BOOL GetUsingnightvision() { return _i(0x2202A3F42C8E5F79); } // 0x2202A3F42C8E5F79 0x62619061 b323 - // + // inline Void SetExposuretweak(BOOL toggle) { return _i(0xEF398BEEE4EF45F9,toggle); } // 0xEF398BEEE4EF45F9 b323 - // + // inline Void ForceExposureReadback(BOOL toggle) { return _i(0x814AF7DCAACC597B,toggle); } // 0x814AF7DCAACC597B b372 - // + // inline Void OverrideNightvisionLightRange(float p0) { return _i(0x43FA7CBE20DAB219,p0); } // 0x43FA7CBE20DAB219 b1290 - // + // inline Void SetNoiseoveride(BOOL toggle) { return _i(0xE787BF1C5CF823C9,toggle); } // 0xE787BF1C5CF823C9 0xD576F5DD b323 - // + // inline Void SetNoisinessoveride(float value) { return _i(0xCB6A7C3BB17A0C67,value); } // 0xCB6A7C3BB17A0C67 0x046B62D9 b323 - // Convert a world coordinate into its relative screen coordinate. (WorldToScreen) + // 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. // @@ -3842,80 +3842,80 @@ namespace GRAPHICS // // I thought we lost you from the scene forever. It does seem however that calling SetDrawOrigin 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. inline BOOL GetScreenCoordFromWorldCoord(float worldX, float worldY, float worldZ, float* screenX, float* screenY) { return _i(0x34E82F05DF2974F5,worldX, worldY, worldZ, screenX, screenY); } // 0x34E82F05DF2974F5 0x1F950E4B b323 - // Returns the texture resolution of the passed texture dict+name. + // Returns the texture resolution of the passed texture dict+name. // // Note: Most texture resolutions are doubled compared to the console version of the game. - inline Vector3 GetTextureResolution(String textureDict, String textureName) { return _i(0x35736EE65BD00C11,textureDict, textureName); } // 0x35736EE65BD00C11 0x096DAA4D b323 - // 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. - inline BOOL OverridePedCrewLogoTexture(Ped ped, String txd, String txn) { return _i(0x95EB5E34F821BABE,ped, txd, txn); } // 0x95EB5E34F821BABE b877 - // + inline Vector3 GetTextureResolution(const char* textureDict, const char* textureName) { return _i(0x35736EE65BD00C11,textureDict, textureName); } // 0x35736EE65BD00C11 0x096DAA4D b323 + // 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. + inline BOOL OverridePedCrewLogoTexture(Ped ped, const char* txd, const char* txn) { return _i(0x95EB5E34F821BABE,ped, txd, txn); } // 0x95EB5E34F821BABE b877 + // inline Void SetDistanceBlurStrengthOverride(float p0) { return _i(0xE2892E7E55D7073A,p0); } // 0xE2892E7E55D7073A 0x455F1084 b323 - // Purpose of p0 and p1 unknown. + // Purpose of p0 and p1 unknown. inline Void SetFlash(float p0, float p1, float fadeIn, float duration, float fadeOut) { return _i(0xAB84296FED9CFC6,p0, p1, fadeIn, duration, fadeOut); } // 0xAB84296FED9CFC6 0x7E55A1EE b323 - // + // inline Void DisableOcclusionThisFrame() { return _i(0x3669F1B198DCAA4F); } // 0x3669F1B198DCAA4F 0x0DCC0B8B b323 - // Does not affect weapons, particles, fire/explosions, flashlights or the sun. + // 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. inline Void SetArtificialLightsState(BOOL state) { return _i(0x1268615ACE24D504,state); } // 0x1268615ACE24D504 0xAA2A0EAF b323 - // If "blackout" is enabled, this native allows you to ignore "blackout" for vehicles. + // If "blackout" is enabled, this native allows you to ignore "blackout" for vehicles. inline Void SetArtificialVehicleLightsState(BOOL toggle) { return _i(0xE2B187C0939B3D32,toggle); } // 0xE2B187C0939B3D32 b2060 - // + // inline Void DisableHdtexThisFrame() { return _i(0xC35A6D07C93802B2); } // 0xC35A6D07C93802B2 b323 - // Creates a tracked point, useful for checking the visibility of a 3D point on screen. + // Creates a tracked point, useful for checking the visibility of a 3D point on screen. inline int CreateTrackedPoint() { return _i(0xE2C9439ED45DEA60); } // 0xE2C9439ED45DEA60 0x3129C31A b323 - // + // inline Void SetTrackedPointInfo(int point, float x, float y, float z, float radius) { return _i(0x164ECBB3CF750CB0,point, x, y, z, radius); } // 0x164ECBB3CF750CB0 0x28689AA4 b323 - // + // inline BOOL IsTrackedPointVisible(int point) { return _i(0xC45CCDAAC9221CA8,point); } // 0xC45CCDAAC9221CA8 0x0BFC4F64 b323 - // + // inline Void DestroyTrackedPoint(int point) { return _i(0xB25DC90BAD56CA42,point); } // 0xB25DC90BAD56CA42 0x14AC675F b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline int SetGrassCullSphere(float p0, float p1, float p2, float p3) { return _i(0xBE197EAA669238F4,p0, p1, p2, p3); } // 0xBE197EAA669238F4 b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void RemoveGrassCullSphere(int handle) { return _i(0x61F95E5BB3E0A8C6,handle); } // 0x61F95E5BB3E0A8C6 b323 - // + // inline Void ProcgrassEnableCullsphere(int handle, float x, float y, float z, float scale) { return _i(0xAE51BC858F32BA66,handle, x, y, z, scale); } // 0xAE51BC858F32BA66 b323 - // + // inline Void ProcgrassDisableCullsphere(int handle) { return _i(0x649C97D52332341A,handle); } // 0x649C97D52332341A b323 - // + // inline BOOL ProcgrassIsCullsphereEnabled(int handle) { return _i(0x2C42340F916C5930,handle); } // 0x2C42340F916C5930 b323 - // + // inline Void ProcgrassEnableAmbscalescan() { return _i(0x14FC5833464340A8); } // 0x14FC5833464340A8 b323 - // + // inline Void ProcgrassDisableAmbscalescan() { return _i(0x218BA067D249DEA); } // 0x218BA067D249DEA b323 - // + // inline Void DisableProcobjCreation() { return _i(0x1612C45F9E3E0D44); } // 0x1612C45F9E3E0D44 b323 - // + // inline Void EnableProcobjCreation() { return _i(0x5DEBD9C4DC995692); } // 0x5DEBD9C4DC995692 b323 - // + // inline Void GrassbatchEnableFlatteningExtInSphere(float x, float y, float z, Any p3, float p4, float p5, float p6, float scale) { return _i(0xAAE9BE70EC7C69AB,x, y, z, p3, p4, p5, p6, scale); } // 0xAAE9BE70EC7C69AB b1290 - // Wraps 0xAAE9BE70EC7C69AB with FLT_MAX as p7, Jenkins: 0x73E96210? + // Wraps 0xAAE9BE70EC7C69AB with FLT_MAX as p7, Jenkins: 0x73E96210? inline Void GrassbatchEnableFlatteningInSphere(float x, float y, float z, float radius, float p4, float p5, float p6) { return _i(0x6D955F6A9E0295B1,x, y, z, radius, p4, p5, p6); } // 0x6D955F6A9E0295B1 b323 - // + // inline Void GrassbatchDisableFlattening() { return _i(0x302C91AB2D477F7E); } // 0x302C91AB2D477F7E b323 - // + // inline Void CascadeShadowsInitSession() { return _i(0x3FC694AE06C5A20); } // 0x3FC694AE06C5A20 0x48F16186 b323 - // + // inline Void CascadeShadowsSetCascadeBounds(Any p0, BOOL p1, float p2, float p3, float p4, float p5, BOOL p6, float p7) { return _i(0xD2936CAB8B58FCBD,p0, p1, p2, p3, p4, p5, p6, p7); } // 0xD2936CAB8B58FCBD 0x84F05943 b323 - // + // inline Void CascadeShadowsSetCascadeBoundsScale(float p0) { return _i(0x5F0F3F56635809EF,p0); } // 0x5F0F3F56635809EF 0x13D4ABC0 b323 - // + // inline Void CascadeShadowsSetEntityTrackerScale(float p0) { return _i(0x5E9DAF5A20F15908,p0); } // 0x5E9DAF5A20F15908 0xD2157428 b323 - // + // inline Void CascadeShadowsSetSplitZExpWeight(float p0) { return _i(0x36F6626459D91457,p0); } // 0x36F6626459D91457 0xC07C64C9 b323 - // + // inline Void CascadeShadowsSetBoundPosition(Any p0) { return _i(0x259BA6D4E6F808F1,p0); } // 0x259BA6D4E6F808F1 b1011 - // When this is set to ON, shadows only draw as you get nearer. + // When this is set to ON, shadows only draw as you get nearer. // // When OFF, they draw from a further distance. inline Void CascadeShadowsEnableEntityTracker(BOOL toggle) { return _i(0x80ECBC0C856D3B0B,toggle); } // 0x80ECBC0C856D3B0B 0xFE903D0F b323 - // + // inline Void CascadeShadowsSetScreenSizeCheckEnabled(BOOL p0) { return _i(0x25FC3E33A31AD0C9,p0); } // 0x25FC3E33A31AD0C9 b323 - // Possible values: + // Possible values: // "CSM_ST_POINT" // "CSM_ST_LINEAR" // "CSM_ST_TWOTAP" @@ -3938,32 +3938,32 @@ namespace GRAPHICS // "CSM_ST_CLOUDS_SOFT16" // "CSM_ST_CLOUDS_DITHER16_RPDB" // "CSM_ST_CLOUDS_POISSON16_RPDB_GNORM" - inline Void CascadeShadowsSetShadowSampleType(String type) { return _i(0xB11D94BC55F41932,type); } // 0xB11D94BC55F41932 0xDE10BA1F b323 - // + inline Void CascadeShadowsSetShadowSampleType(const char* type) { return _i(0xB11D94BC55F41932,type); } // 0xB11D94BC55F41932 0xDE10BA1F b323 + // inline Void CascadeShadowsClearShadowSampleType() { return _i(0x27CB772218215325); } // 0x27CB772218215325 b323 - // + // inline Void CascadeShadowsSetAircraftMode(BOOL p0) { return _i(0x6DDBF9DFFC4AC080,p0); } // 0x6DDBF9DFFC4AC080 0x9F470BE3 b323 - // + // inline Void CascadeShadowsSetDynamicDepthMode(BOOL p0) { return _i(0xD39D13C9FEBF0511,p0); } // 0xD39D13C9FEBF0511 0x4A124267 b323 - // + // inline Void CascadeShadowsSetDynamicDepthValue(float p0) { return _i(0x2AC28F3A01FA04A,p0); } // 0x2AC28F3A01FA04A 0xB19B2764 b323 - // + // inline Void CascadeShadowsEnableFreezer(BOOL p0) { return _i(0xAE73D8DF3A762B2,p0); } // 0xAE73D8DF3A762B2 0x342FA2B4 b323 - // + // inline Void WaterReflectionSetScriptObjectVisibility(Any p0) { return _i(0xCA465D9CC0D231BA,p0); } // 0xCA465D9CC0D231BA b1011 - // + // inline Void GolfTrailSetEnabled(BOOL toggle) { return _i(0xA51C4B86B71652AE,toggle); } // 0xA51C4B86B71652AE 0x5D3BFFC9 b323 - // p8 seems to always be false. + // p8 seems to always be false. inline Void GolfTrailSetPath(float p0, float p1, float p2, float p3, float p4, float p5, float p6, float p7, BOOL p8) { return _i(0x312342E1A4874F3F,p0, p1, p2, p3, p4, p5, p6, p7, p8); } // 0x312342E1A4874F3F 0xD9653728 b323 - // + // inline Void GolfTrailSetRadius(float p0, float p1, float p2) { return _i(0x2485D34E50A22E84,p0, p1, p2); } // 0x2485D34E50A22E84 0x72BA8A14 b323 - // + // inline Void GolfTrailSetColour(int p0, int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8, int p9, int p10, int p11) { return _i(0x12995F2E53FFA601,p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); } // 0x12995F2E53FFA601 0x804F444C b323 - // + // inline Void GolfTrailSetTessellation(int p0, int p1) { return _i(0xDBAA5EC848BA2D46,p0, p1); } // 0xDBAA5EC848BA2D46 0xBB1A1294 b323 - // + // inline Void GolfTrailSetFixedControlPointEnable(BOOL p0) { return _i(0xC0416B061F2B7E5E,p0); } // 0xC0416B061F2B7E5E 0x1A1A72EF b323 - // 12 matches across 4 scripts. All 4 scripts were job creators. + // 12 matches across 4 scripts. All 4 scripts were job creators. // // type ranged from 0 - 2. // p4 was always 0.2f. Likely scale. @@ -3971,82 +3971,82 @@ namespace GRAPHICS // // Tested but noticed nothing. inline Void GolfTrailSetFixedControlPoint(int type, float xPos, float yPos, float zPos, float p4, int red, int green, int blue, int alpha) { return _i(0xB1BB03742917A5D6,type, xPos, yPos, zPos, p4, red, green, blue, alpha); } // 0xB1BB03742917A5D6 0x3BB12B75 b323 - // Only appeared in Golf & Golf_mp. Parameters were all ptrs + // Only appeared in Golf & Golf_mp. Parameters were all ptrs inline Void GolfTrailSetShaderParams(float p0, float p1, float p2, float p3, float p4) { return _i(0x9CFDD90B2B844BF7,p0, p1, p2, p3, p4); } // 0x9CFDD90B2B844BF7 0x4EA70FB4 b323 - // + // inline Void GolfTrailSetFacing(BOOL p0) { return _i(0x6F761EA47C1D3ED,p0); } // 0x6F761EA47C1D3ED 0x0D830DC7 b323 - // + // inline float GolfTrailGetMaxHeight() { return _i(0xA4819F5E23E2FFAD); } // 0xA4819F5E23E2FFAD 0xA08B46AD b323 - // + // inline Vector3 GolfTrailGetVisualControlPoint(int p0) { return _i(0xA4664972A9B8F8BA,p0); } // 0xA4664972A9B8F8BA 0xECD470F0 b323 - // Toggles Heatvision on/off. + // Toggles Heatvision on/off. inline Void SetSeethrough(BOOL toggle) { return _i(0x7E08924259E08CE0,toggle); } // 0x7E08924259E08CE0 0x74D4995C b323 - // + // inline BOOL GetUsingseethrough() { return _i(0x44B80ABAB9D80BD3); } // 0x44B80ABAB9D80BD3 0x1FE547F2 b323 - // + // inline Void SeethroughReset() { return _i(0x70A64C0234EF522C); } // 0x70A64C0234EF522C 0x310E9B67 b323 - // + // inline Void SeethroughSetFadeStartdistance(float distance) { return _i(0xA78DE25577300BA1,distance); } // 0xA78DE25577300BA1 b573 - // + // inline Void SeethroughSetFadeEnddistance(float distance) { return _i(0x9D75795B9DC6EBBF,distance); } // 0x9D75795B9DC6EBBF b573 - // + // inline float SeethroughGetMaxThickness() { return _i(0x43DBAE39626CE83F); } // 0x43DBAE39626CE83F b1290 - // 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 + // 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 inline Void SeethroughSetMaxThickness(float thickness) { return _i(0xC8FAC83902A62DF,thickness); } // 0xC8FAC83902A62DF b573 - // + // inline Void SeethroughSetNoiseMin(float amount) { return _i(0xFF5992E1C9E65D05,amount); } // 0xFF5992E1C9E65D05 b573 - // + // inline Void SeethroughSetNoiseMax(float amount) { return _i(0xFEBFBFDFB66039DE,amount); } // 0xFEBFBFDFB66039DE b573 - // + // inline Void SeethroughSetHilightIntensity(float intensity) { return _i(0x19E50EB6E33E1D28,intensity); } // 0x19E50EB6E33E1D28 b573 - // + // inline Void SeethroughSetHighlightNoise(float noise) { return _i(0x1636D7FC127B10D2,noise); } // 0x1636D7FC127B10D2 b573 - // min: 0.0 + // min: 0.0 // max: 0.75 inline Void SeethroughSetHeatscale(int index, float heatScale) { return _i(0xD7D0B00177485411,index, heatScale); } // 0xD7D0B00177485411 0x654F0287 b323 - // + // inline Void SeethroughSetColorNear(int red, int green, int blue) { return _i(0x1086127B3A63505E,red, green, blue); } // 0x1086127B3A63505E 0x5B2A67A8 b573 - // Setter for GetMotionblurMaxVelScaler + // Setter for GetMotionblurMaxVelScaler inline Void SetMotionblurMaxVelScaler(float p0) { return _i(0xB3C641F3630BF6DA,p0); } // 0xB3C641F3630BF6DA 0xF6B837F0 b323 - // Getter for SetMotionblurMaxVelScaler + // Getter for SetMotionblurMaxVelScaler inline float GetMotionblurMaxVelScaler() { return _i(0xE59343E9E96529E7); } // 0xE59343E9E96529E7 0xD906A3A9 b323 - // + // inline Void SetForceMotionblur(BOOL toggle) { return _i(0x6A51F78772175A51,toggle); } // 0x6A51F78772175A51 b1011 - // + // inline Void TogglePlayerDamageOverlay(BOOL toggle) { return _i(0xE63D7C6EECECB66B,toggle); } // 0xE63D7C6EECECB66B 0xD34A6CBA b323 - // Sets an value related to timecycles. + // Sets an value related to timecycles. inline Void ResetAdaptation(int p0) { return _i(0xE3E2C1B4C59DBC77,p0); } // 0xE3E2C1B4C59DBC77 0xD8CC7221 b323 - // time in ms to transition to fully blurred screen + // time in ms to transition to fully blurred screen inline BOOL TriggerScreenblurFadeIn(float transitionTime) { return _i(0xA328A24AAA6B7FDC,transitionTime); } // 0xA328A24AAA6B7FDC 0x5604B890 b323 - // time in ms to transition from fully blurred to normal + // time in ms to transition from fully blurred to normal inline BOOL TriggerScreenblurFadeOut(float transitionTime) { return _i(0xEFACC8AEF94430D5,transitionTime); } // 0xEFACC8AEF94430D5 0x46617502 b323 - // + // inline Void DisableScreenblurFade() { return _i(0xDE81239437E8C5A8); } // 0xDE81239437E8C5A8 0xDB7AECDA b323 - // + // inline float GetScreenblurFadeCurrentTime() { return _i(0x5CCABFFCA31DDE33); } // 0x5CCABFFCA31DDE33 0xEA432A94 b323 - // Returns whether screen transition to blur/from blur is running. + // Returns whether screen transition to blur/from blur is running. inline BOOL IsScreenblurFadeRunning() { return _i(0x7B226C785A52A0A9); } // 0x7B226C785A52A0A9 0x926B8734 b323 - // + // inline Void TogglePausedRenderphases(BOOL toggle) { return _i(0xDFC252D8A3E15AB7,toggle); } // 0xDFC252D8A3E15AB7 0x30ADE541 b323 - // + // inline BOOL GetTogglePausedRenderphasesStatus() { return _i(0xEB3DAC2C86001E5E); } // 0xEB3DAC2C86001E5E 0xD4F5D07D b323 - // + // inline Void ResetPausedRenderphases() { return _i(0xE1C8709406F2C41C); } // 0xE1C8709406F2C41C 0x0113EAE4 b323 - // + // inline Void GrabPausemenuOwnership() { return _i(0x851CD923176EBA7C); } // 0x851CD923176EBA7C 0xDCBA251B b323 - // + // inline Void SetHidofOverride(BOOL p0, BOOL p1, float nearplaneOut, float nearplaneIn, float farplaneOut, float farplaneIn) { return _i(0xBA3D65906822BED5,p0, p1, nearplaneOut, nearplaneIn, farplaneOut, farplaneIn); } // 0xBA3D65906822BED5 0x513D444B b323 - // + // inline Void SetLockAdaptiveDofDistance(BOOL p0) { return _i(0xB569F41F3E7E83A4,p0); } // 0xB569F41F3E7E83A4 b1103 - // + // inline BOOL PhonephotoeditorToggle(BOOL p0) { return _i(0x7AC24EAB6D74118D,p0); } // 0x7AC24EAB6D74118D 0xB2410EAB b323 - // + // inline BOOL PhonephotoeditorIsActive() { return _i(0xBCEDB009461DA156); } // 0xBCEDB009461DA156 0x5AB94128 b323 - // - inline BOOL PhonephotoeditorSetFrameTxd(String textureDict, BOOL p1) { return _i(0x27FEB5254759CDE3,textureDict, p1); } // 0x27FEB5254759CDE3 0xD63FCB3E b323 - // GRAPHICS::StartParticleFxNonLoopedAtCoord("scr_paleto_roof_impact", -140.8576f, 6420.789f, 41.1391f, 0f, 0f, 267.3957f, 0x3F800000, 0, 0, 0); + // + inline BOOL PhonephotoeditorSetFrameTxd(const char* textureDict, BOOL p1) { return _i(0x27FEB5254759CDE3,textureDict, p1); } // 0x27FEB5254759CDE3 0xD63FCB3E b323 + // GRAPHICS::StartParticleFxNonLoopedAtCoord("scr_paleto_roof_impact", -140.8576f, 6420.789f, 41.1391f, 0f, 0f, 267.3957f, 0x3F800000, 0, 0, 0); // // Axis - Invert Axis Flags // @@ -4070,18 +4070,18 @@ namespace GRAPHICS // // example: // Function.Call(Hash.StartParticleFxNonLoopedAtCoord, "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); - inline BOOL StartParticleFxNonLoopedAtCoord(String effectName, float xPos, float yPos, float zPos, float xRot, float yRot, float zRot, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis) { return _i(0x25129531F77B9ED3,effectName, xPos, yPos, zPos, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis); } // 0x25129531F77B9ED3 0xDD79D679 b323 - // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json - inline BOOL StartNetworkedParticleFxNonLoopedAtCoord(String effectName, float xPos, float yPos, float zPos, float xRot, float yRot, float zRot, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis, BOOL p11) { return _i(0xF56B8137DF10135D,effectName, xPos, yPos, zPos, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis, p11); } // 0xF56B8137DF10135D 0x633F8C48 b323 - // GRAPHICS::StartParticleFxNonLoopedOnPedBone("scr_sh_bong_smoke", PLAYER::PlayerPedId(), -0.025f, 0.13f, 0f, 0f, 0f, 0f, 31086, 0x3F800000, 0, 0, 0); + inline BOOL StartParticleFxNonLoopedAtCoord(const char* effectName, float xPos, float yPos, float zPos, float xRot, float yRot, float zRot, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis) { return _i(0x25129531F77B9ED3,effectName, xPos, yPos, zPos, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis); } // 0x25129531F77B9ED3 0xDD79D679 b323 + // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + inline BOOL StartNetworkedParticleFxNonLoopedAtCoord(const char* effectName, float xPos, float yPos, float zPos, float xRot, float yRot, float zRot, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis, BOOL p11) { return _i(0xF56B8137DF10135D,effectName, xPos, yPos, zPos, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis, p11); } // 0xF56B8137DF10135D 0x633F8C48 b323 + // GRAPHICS::StartParticleFxNonLoopedOnPedBone("scr_sh_bong_smoke", PLAYER::PlayerPedId(), -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 - inline BOOL StartParticleFxNonLoopedOnPedBone(String effectName, Ped ped, float offsetX, float offsetY, float offsetZ, float rotX, float rotY, float rotZ, int boneIndex, float scale, BOOL axisX, BOOL axisY, BOOL axisZ) { return _i(0xE7E72961BA18619,effectName, ped, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ); } // 0xE7E72961BA18619 0x53DAEF4E b323 - // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json - inline BOOL StartNetworkedParticleFxNonLoopedOnPedBone(String effectName, Ped ped, float offsetX, float offsetY, float offsetZ, float rotX, float rotY, float rotZ, int boneIndex, float scale, BOOL axisX, BOOL axisY, BOOL axisZ) { return _i(0xA41B6A43642AC2CF,effectName, ped, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ); } // 0xA41B6A43642AC2CF 0x161780C1 b323 - // Starts a particle effect on an entity for example your player. + inline BOOL StartParticleFxNonLoopedOnPedBone(const char* effectName, Ped ped, float offsetX, float offsetY, float offsetZ, float rotX, float rotY, float rotZ, int boneIndex, float scale, BOOL axisX, BOOL axisY, BOOL axisZ) { return _i(0xE7E72961BA18619,effectName, ped, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ); } // 0xE7E72961BA18619 0x53DAEF4E b323 + // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + inline BOOL StartNetworkedParticleFxNonLoopedOnPedBone(const char* effectName, Ped ped, float offsetX, float offsetY, float offsetZ, float rotX, float rotY, float rotZ, int boneIndex, float scale, BOOL axisX, BOOL axisY, BOOL axisZ) { return _i(0xA41B6A43642AC2CF,effectName, ped, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ); } // 0xA41B6A43642AC2CF 0x161780C1 b323 + // 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 // @@ -4093,111 +4093,111 @@ namespace GRAPHICS // 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 StartParticleFxNonLoopedOnPedBone does NOT work on vehicle bones. - inline BOOL StartParticleFxNonLoopedOnEntity(String effectName, Entity entity, float offsetX, float offsetY, float offsetZ, float rotX, float rotY, float rotZ, float scale, BOOL axisX, BOOL axisY, BOOL axisZ) { return _i(0xD53A3B8DA0809D2,effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, scale, axisX, axisY, axisZ); } // 0xD53A3B8DA0809D2 0x9604DAD4 b323 - // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json - inline BOOL StartNetworkedParticleFxNonLoopedOnEntity(String effectName, Entity entity, float offsetX, float offsetY, float offsetZ, float rotX, float rotY, float rotZ, float scale, BOOL axisX, BOOL axisY, BOOL axisZ) { return _i(0xC95EB1DB6E92113D,effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, scale, axisX, axisY, axisZ); } // 0xC95EB1DB6E92113D 0x469A2B4A b323 - // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json - inline BOOL StartParticleFxNonLoopedOnEntityBone(String effectName, Entity entity, float offsetX, float offsetY, float offsetZ, float rotX, float rotY, float rotZ, int boneIndex, float scale, BOOL axisX, BOOL axisY, BOOL axisZ) { return _i(0x2B1F2A72E0F5325,effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ); } // 0x2B1F2A72E0F5325 b2189 - // only works on some fx's, not networked + inline BOOL StartParticleFxNonLoopedOnEntity(const char* effectName, Entity entity, float offsetX, float offsetY, float offsetZ, float rotX, float rotY, float rotZ, float scale, BOOL axisX, BOOL axisY, BOOL axisZ) { return _i(0xD53A3B8DA0809D2,effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, scale, axisX, axisY, axisZ); } // 0xD53A3B8DA0809D2 0x9604DAD4 b323 + // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + inline BOOL StartNetworkedParticleFxNonLoopedOnEntity(const char* effectName, Entity entity, float offsetX, float offsetY, float offsetZ, float rotX, float rotY, float rotZ, float scale, BOOL axisX, BOOL axisY, BOOL axisZ) { return _i(0xC95EB1DB6E92113D,effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, scale, axisX, axisY, axisZ); } // 0xC95EB1DB6E92113D 0x469A2B4A b323 + // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + inline BOOL StartParticleFxNonLoopedOnEntityBone(const char* effectName, Entity entity, float offsetX, float offsetY, float offsetZ, float rotX, float rotY, float rotZ, int boneIndex, float scale, BOOL axisX, BOOL axisY, BOOL axisZ) { return _i(0x2B1F2A72E0F5325,effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ); } // 0x2B1F2A72E0F5325 b2189 + // only works on some fx's, not networked inline Void SetParticleFxNonLoopedColour(float r, float g, float b) { return _i(0x26143A59EF48B262,r, g, b); } // 0x26143A59EF48B262 0x7B689E20 b323 - // Usage example for C#: + // Usage example for C#: // // Function.Call(Hash.SetParticleFxNonLoopedAlpha, new InputArgument[] { 0.1f }); // // Note: the argument alpha ranges from 0.0f-1.0f ! inline Void SetParticleFxNonLoopedAlpha(float alpha) { return _i(0x77168D722C58B2FC,alpha); } // 0x77168D722C58B2FC 0x497EAFF2 b323 - // + // inline Void SetParticleFxNonLoopedScale(float scale) { return _i(0xB7EF5850C39FABCA,scale); } // 0xB7EF5850C39FABCA b2802 - // + // inline Void SetParticleFxNonLoopedEmitterSize(float p0, float p1, float scale) { return _i(0x1E2E01C00837D26E,p0, p1, scale); } // 0x1E2E01C00837D26E b2699 - // Used only once in the scripts (taxi_clowncar) + // Used only once in the scripts (taxi_clowncar) inline Void SetParticleFxForceVehicleInterior(BOOL toggle) { return _i(0x8CDE909A0370BB3A,toggle); } // 0x8CDE909A0370BB3A b323 - // GRAPHICS::StartParticleFxLoopedAtCoord("scr_fbi_falling_debris", 93.7743f, -749.4572f, 70.86904f, 0f, 0f, 0f, 0x3F800000, 0, 0, 0, 0) + // GRAPHICS::StartParticleFxLoopedAtCoord("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 - inline int StartParticleFxLoopedAtCoord(String effectName, float x, float y, float z, float xRot, float yRot, float zRot, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis, BOOL p11) { return _i(0xE184F4F0DC5910E7,effectName, x, y, z, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis, p11); } // 0xE184F4F0DC5910E7 0xD348E3E6 b323 - // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json - inline int StartParticleFxLoopedOnPedBone(String effectName, Ped ped, float xOffset, float yOffset, float zOffset, float xRot, float yRot, float zRot, int boneIndex, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis) { return _i(0xF28DA9F38CD1787C,effectName, ped, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis); } // 0xF28DA9F38CD1787C 0xF8FC196F b323 - // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json - inline int StartParticleFxLoopedOnEntity(String effectName, Entity entity, float xOffset, float yOffset, float zOffset, float xRot, float yRot, float zRot, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis) { return _i(0x1AE42C1660FD6517,effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis); } // 0x1AE42C1660FD6517 0x0D06FF62 b323 - // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json - inline int StartParticleFxLoopedOnEntityBone(String effectName, Entity entity, float xOffset, float yOffset, float zOffset, float xRot, float yRot, float zRot, int boneIndex, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis) { return _i(0xC6EB449E33977F0B,effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis); } // 0xC6EB449E33977F0B 0x23BF0F9B b323 - // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json - inline int StartNetworkedParticleFxLoopedOnEntity(String effectName, Entity entity, float xOffset, float yOffset, float zOffset, float xRot, float yRot, float zRot, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis, float r, float g, float b, float a) { return _i(0x6F60E89A7B64EE1D,effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis, r, g, b, a); } // 0x6F60E89A7B64EE1D 0x110752B2 b323 - // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json - inline int StartNetworkedParticleFxLoopedOnEntityBone(String effectName, Entity entity, float xOffset, float yOffset, float zOffset, float xRot, float yRot, float zRot, int boneIndex, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis, float r, float g, float b, float a) { return _i(0xDDE23F30CC5A0F03,effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis, r, g, b, a); } // 0xDDE23F30CC5A0F03 0xF478EFCF b323 - // p1 is always 0 in the native scripts + inline int StartParticleFxLoopedAtCoord(const char* effectName, float x, float y, float z, float xRot, float yRot, float zRot, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis, BOOL p11) { return _i(0xE184F4F0DC5910E7,effectName, x, y, z, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis, p11); } // 0xE184F4F0DC5910E7 0xD348E3E6 b323 + // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + inline int StartParticleFxLoopedOnPedBone(const char* effectName, Ped ped, float xOffset, float yOffset, float zOffset, float xRot, float yRot, float zRot, int boneIndex, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis) { return _i(0xF28DA9F38CD1787C,effectName, ped, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis); } // 0xF28DA9F38CD1787C 0xF8FC196F b323 + // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + inline int StartParticleFxLoopedOnEntity(const char* effectName, Entity entity, float xOffset, float yOffset, float zOffset, float xRot, float yRot, float zRot, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis) { return _i(0x1AE42C1660FD6517,effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis); } // 0x1AE42C1660FD6517 0x0D06FF62 b323 + // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + inline int StartParticleFxLoopedOnEntityBone(const char* effectName, Entity entity, float xOffset, float yOffset, float zOffset, float xRot, float yRot, float zRot, int boneIndex, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis) { return _i(0xC6EB449E33977F0B,effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis); } // 0xC6EB449E33977F0B 0x23BF0F9B b323 + // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + inline int StartNetworkedParticleFxLoopedOnEntity(const char* effectName, Entity entity, float xOffset, float yOffset, float zOffset, float xRot, float yRot, float zRot, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis, float r, float g, float b, float a) { return _i(0x6F60E89A7B64EE1D,effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis, r, g, b, a); } // 0x6F60E89A7B64EE1D 0x110752B2 b323 + // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + inline int StartNetworkedParticleFxLoopedOnEntityBone(const char* effectName, Entity entity, float xOffset, float yOffset, float zOffset, float xRot, float yRot, float zRot, int boneIndex, float scale, BOOL xAxis, BOOL yAxis, BOOL zAxis, float r, float g, float b, float a) { return _i(0xDDE23F30CC5A0F03,effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis, r, g, b, a); } // 0xDDE23F30CC5A0F03 0xF478EFCF b323 + // p1 is always 0 in the native scripts inline Void StopParticleFxLooped(int ptfxHandle, BOOL p1) { return _i(0x8F75998877616996,ptfxHandle, p1); } // 0x8F75998877616996 0xD245455B b323 - // + // inline Void RemoveParticleFx(int ptfxHandle, BOOL p1) { return _i(0xC401503DFE8D53CF,ptfxHandle, p1); } // 0xC401503DFE8D53CF 0x6BA48C7E b323 - // + // inline Void RemoveParticleFxFromEntity(Entity entity) { return _i(0xB8FEAEEBCC127425,entity); } // 0xB8FEAEEBCC127425 0xCEDE52E9 b323 - // + // inline Void RemoveParticleFxInRange(float X, float Y, float Z, float radius) { return _i(0xDD19FA1C6D657305,X, Y, Z, radius); } // 0xDD19FA1C6D657305 0x7EB8F275 b323 - // + // inline Void ForceParticleFxInVehicleInterior(Any p0, Any p1) { return _i(0xBA0127DA25FD54C9,p0, p1); } // 0xBA0127DA25FD54C9 b372 - // + // inline BOOL DoesParticleFxLoopedExist(int ptfxHandle) { return _i(0x74AFEF0D2E1E409B,ptfxHandle); } // 0x74AFEF0D2E1E409B 0xCBF91D2A b323 - // + // inline Void SetParticleFxLoopedOffsets(int ptfxHandle, float x, float y, float z, float rotX, float rotY, float rotZ) { return _i(0xF7DDEBEC43483C43,ptfxHandle, x, y, z, rotX, rotY, rotZ); } // 0xF7DDEBEC43483C43 0x641F7790 b323 - // - inline Void SetParticleFxLoopedEvolution(int ptfxHandle, String propertyName, float amount, BOOL noNetwork) { return _i(0x5F0C4B5B1C393BE2,ptfxHandle, propertyName, amount, noNetwork); } // 0x5F0C4B5B1C393BE2 0x1CBC1373 b323 - // only works on some fx's + // + inline Void SetParticleFxLoopedEvolution(int ptfxHandle, const char* propertyName, float amount, BOOL noNetwork) { return _i(0x5F0C4B5B1C393BE2,ptfxHandle, propertyName, amount, noNetwork); } // 0x5F0C4B5B1C393BE2 0x1CBC1373 b323 + // only works on some fx's // // p4 = 0 inline Void SetParticleFxLoopedColour(int ptfxHandle, float r, float g, float b, BOOL p4) { return _i(0x7F8F65877F88783B,ptfxHandle, r, g, b, p4); } // 0x7F8F65877F88783B 0x5219D530 b323 - // + // inline Void SetParticleFxLoopedAlpha(int ptfxHandle, float alpha) { return _i(0x726845132380142E,ptfxHandle, alpha); } // 0x726845132380142E 0x5ED49BE1 b323 - // + // inline Void SetParticleFxLoopedScale(int ptfxHandle, float scale) { return _i(0xB44250AAA456492D,ptfxHandle, scale); } // 0xB44250AAA456492D 0x099B8B49 b323 - // + // inline Void SetParticleFxLoopedFarClipDist(int ptfxHandle, float range) { return _i(0xDCB194B85EF7B541,ptfxHandle, range); } // 0xDCB194B85EF7B541 0x233DE879 b323 - // + // inline Void SetParticleFxLoopedCameraBias(int ptfxHandle, float p1) { return _i(0x4100BF0346A8D2C3,ptfxHandle, p1); } // 0x4100BF0346A8D2C3 b3095 - // + // inline Void SetParticleFxCamInsideVehicle(BOOL p0) { return _i(0xEEC4047028426510,p0); } // 0xEEC4047028426510 0x19EC0001 b323 - // + // inline Void SetParticleFxCamInsideNonplayerVehicle(Vehicle vehicle, BOOL p1) { return _i(0xACEE6F360FC1F6B6,vehicle, p1); } // 0xACEE6F360FC1F6B6 0x6B125A02 b323 - // + // inline Void SetParticleFxShootoutBoat(Any p0) { return _i(0x96EF97DAEB89BEF5,p0); } // 0x96EF97DAEB89BEF5 0xD938DEE0 b323 - // + // inline Void ClearParticleFxShootoutBoat() { return _i(0x2A251AA48B2B46DB); } // 0x2A251AA48B2B46DB b323 - // + // inline Void SetParticleFxBloodScale(Any p0) { return _i(0x908311265D42A820,p0); } // 0x908311265D42A820 b323 - // + // inline Void DisableInWaterPtfx(BOOL toggle) { return _i(0xCFD16F0DB5A3535C,toggle); } // 0xCFD16F0DB5A3535C b2060 - // + // inline Void DisableDownwashPtfx(BOOL toggle) { return _i(0x5F6DF3D92271E8A1,toggle); } // 0x5F6DF3D92271E8A1 b323 - // + // inline Void SetParticleFxSlipstreamLodrangeScale(float scale) { return _i(0x2B40A97646381508,scale); } // 0x2B40A97646381508 b1011 - // Creates cartoon effect when Michel smokes the weed + // Creates cartoon effect when Michel smokes the weed inline Void EnableClownBloodVfx(BOOL toggle) { return _i(0xD821490579791273,toggle); } // 0xD821490579791273 0xC61C75E9 b323 - // 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. + // 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. inline Void EnableAlienBloodVfx(BOOL toggle) { return _i(0x9DCE1F0F78260875,toggle); } // 0x9DCE1F0F78260875 0xCE8B8748 b323 - // + // inline Void SetParticleFxBulletImpactScale(float scale) { return _i(0x27E32866E9A5C416,scale); } // 0x27E32866E9A5C416 0xC1AD5DDF b323 - // + // inline Void SetParticleFxBulletImpactLodrangeScale(float p0) { return _i(0xBB90E12CAC1DAB25,p0); } // 0xBB90E12CAC1DAB25 0x3968E915 b323 - // + // inline Void SetParticleFxBulletTraceNoAngleReject(BOOL p0) { return _i(0xCA4AE345A153D573,p0); } // 0xCA4AE345A153D573 0x64BA4648 b323 - // + // inline Void SetParticleFxBangScrapeLodrangeScale(float p0) { return _i(0x54E22EA2C1956A8D,p0); } // 0x54E22EA2C1956A8D 0x8BE3D47F b323 - // + // inline Void SetParticleFxFootLodrangeScale(float p0) { return _i(0x949F397A288B28B3,p0); } // 0x949F397A288B28B3 0xE3880F5A b323 - // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json - inline Void SetParticleFxFootOverrideName(String p0) { return _i(0xBA3D194057C79A7B,p0); } // 0xBA3D194057C79A7B b877 - // + // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + inline Void SetParticleFxFootOverrideName(const char* p0) { return _i(0xBA3D194057C79A7B,p0); } // 0xBA3D194057C79A7B b877 + // inline Void SetSkidmarkRangeScale(float scale) { return _i(0x5DBF05DB5926D089,scale); } // 0x5DBF05DB5926D089 b1011 - // + // inline Void SetPtfxForceVehicleInteriorFlag(Any p0) { return _i(0xC6730E0D14E50703,p0); } // 0xC6730E0D14E50703 b2545 - // + // inline Void RegisterPostfxBulletImpact(float weaponWorldPosX, float weaponWorldPosY, float weaponWorldPosZ, float intensity) { return _i(0x170911F37F646F29,weaponWorldPosX, weaponWorldPosY, weaponWorldPosZ, intensity); } // 0x170911F37F646F29 b2802 - // + // inline Void ForcePostfxBulletImpactsAfterHud(BOOL p0) { return _i(0x9B079E5221D984D3,p0); } // 0x9B079E5221D984D3 b323 - // From the b678d decompiled scripts: + // From the b678d decompiled scripts: // // GRAPHICS::UseParticleFxAsset("FM_Mission_Controler"); // GRAPHICS::UseParticleFxAsset("scr_apartment_mp"); @@ -4208,35 +4208,35 @@ namespace GRAPHICS // GRAPHICS::UseParticleFxAsset("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 - inline Void UseParticleFxAsset(String name) { return _i(0x6C38AF3693A69A91,name); } // 0x6C38AF3693A69A91 0x9C720B61 b323 - // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json - inline Void SetParticleFxOverride(String oldAsset, String newAsset) { return _i(0xEA1E2D93F6F75ED9,oldAsset, newAsset); } // 0xEA1E2D93F6F75ED9 0xC92719A7 b323 - // Resets the effect of SetParticleFxOverride + inline Void UseParticleFxAsset(const char* name) { return _i(0x6C38AF3693A69A91,name); } // 0x6C38AF3693A69A91 0x9C720B61 b323 + // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json + inline Void SetParticleFxOverride(const char* oldAsset, const char* newAsset) { return _i(0xEA1E2D93F6F75ED9,oldAsset, newAsset); } // 0xEA1E2D93F6F75ED9 0xC92719A7 b323 + // Resets the effect of SetParticleFxOverride // // Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json - inline Void ResetParticleFxOverride(String name) { return _i(0x89C8553DD3274AAE,name); } // 0x89C8553DD3274AAE 0x9E8D8B72 b323 - // Returns ptfxHandle + inline Void ResetParticleFxOverride(const char* name) { return _i(0x89C8553DD3274AAE,name); } // 0x89C8553DD3274AAE 0x9E8D8B72 b323 + // Returns ptfxHandle // effectName: scr_sv_drag_burnout - inline int StartVehicleParticleFxLooped(Vehicle vehicle, String effectName, BOOL frontBack, BOOL leftRight, BOOL localOnly) { return _i(0xDF269BE2909E181A,vehicle, effectName, frontBack, leftRight, localOnly); } // 0xDF269BE2909E181A b3095 - // + inline int StartVehicleParticleFxLooped(Vehicle vehicle, const char* effectName, BOOL frontBack, BOOL leftRight, BOOL localOnly) { return _i(0xDF269BE2909E181A,vehicle, effectName, frontBack, leftRight, localOnly); } // 0xDF269BE2909E181A b3095 + // inline Void SetWeatherPtfxUseOverrideSettings(BOOL p0) { return _i(0xA46B73FAA3460AE1,p0); } // 0xA46B73FAA3460AE1 b323 - // + // inline Void SetWeatherPtfxOverrideCurrLevel(float p0) { return _i(0xF78B803082D4386F,p0); } // 0xF78B803082D4386F b323 - // + // inline Void WashDecalsInRange(float x, float y, float z, float range, float p4) { return _i(0x9C30613D50A6ADEF,x, y, z, range, p4); } // 0x9C30613D50A6ADEF 0xDEECBC57 b323 - // + // inline Void WashDecalsFromVehicle(Vehicle vehicle, float p1) { return _i(0x5B712761429DBC14,vehicle, p1); } // 0x5B712761429DBC14 0x2929F11A b323 - // Fades nearby decals within the range specified + // Fades nearby decals within the range specified inline Void FadeDecalsInRange(float x, float y, float z, float p3, float p4) { return _i(0xD77EDADB0420E6E0,x, y, z, p3, p4); } // 0xD77EDADB0420E6E0 0xF81E884A b323 - // Removes all decals in range from a position, it includes the bullet holes, blood pools, petrol... + // Removes all decals in range from a position, it includes the bullet holes, blood pools, petrol... inline Void RemoveDecalsInRange(float x, float y, float z, float range) { return _i(0x5D6B2D4830A67C62,x, y, z, range); } // 0x5D6B2D4830A67C62 0x06A619A0 b323 - // + // inline Void RemoveDecalsFromObject(Object obj) { return _i(0xCCF71CBDDF5B6CB9,obj); } // 0xCCF71CBDDF5B6CB9 0x8B67DCA7 b323 - // + // inline Void RemoveDecalsFromObjectFacing(Object obj, float x, float y, float z) { return _i(0xA6F6F70FDC6D144C,obj, x, y, z); } // 0xA6F6F70FDC6D144C 0xF4999A55 b323 - // + // inline Void RemoveDecalsFromVehicle(Vehicle vehicle) { return _i(0xE91F1B65F2B48D57,vehicle); } // 0xE91F1B65F2B48D57 0x831D06CA b323 - // decal types: + // decal types: // // public enum DecalTypes // { @@ -4294,135 +4294,135 @@ namespace GRAPHICS // liquidTrail_water = 9050 // } inline int AddDecal(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 p17, BOOL p18, BOOL p19) { return _i(0xB302244A1839BDAD,decalType, posX, posY, posZ, p4, p5, p6, p7, p8, p9, width, height, rCoef, gCoef, bCoef, opacity, timeout, p17, p18, p19); } // 0xB302244A1839BDAD 0xEAD0C412 b323 - // + // inline int AddPetrolDecal(float x, float y, float z, float groundLvl, float width, float transparency) { return _i(0x4F5212C7AD880DF8,x, y, z, groundLvl, width, transparency); } // 0x4F5212C7AD880DF8 0x1259DF42 b323 - // + // inline int AddOilDecal(float x, float y, float z, float groundLvl, float width, float transparency) { return _i(0x126D7F89FE859A5E,x, y, z, groundLvl, width, transparency); } // 0x126D7F89FE859A5E b2699 - // + // inline Void StartPetrolTrailDecals(float p0) { return _i(0x99AC7F0D8B9C893D,p0); } // 0x99AC7F0D8B9C893D 0xE3938B0B b323 - // + // inline Void AddPetrolTrailDecalInfo(float x, float y, float z, float p3) { return _i(0x967278682CB6967A,x, y, z, p3); } // 0x967278682CB6967A 0xBAEC6ADD b323 - // + // inline Void EndPetrolTrailDecals() { return _i(0xA123435A26C36CD); } // 0xA123435A26C36CD 0xCCCA6855 b323 - // + // inline Void RemoveDecal(int decal) { return _i(0xED3F346429CCD659,decal); } // 0xED3F346429CCD659 0xA4363188 b323 - // + // inline BOOL IsDecalAlive(int decal) { return _i(0xC694D74949CAFD0C,decal); } // 0xC694D74949CAFD0C 0xCDD4A61A b323 - // + // inline float GetDecalWashLevel(int decal) { return _i(0x323F647679A09103,decal); } // 0x323F647679A09103 0x054448EF b323 - // + // inline Void SetDisablePetrolDecalsIgnitingThisFrame() { return _i(0xD9454B5752C857DC); } // 0xD9454B5752C857DC 0xEAB6417C b323 - // + // inline Void SetDisablePetrolDecalsRecyclingThisFrame() { return _i(0x27CFB1B1E078CB2D); } // 0x27CFB1B1E078CB2D 0xC2703B88 b323 - // + // inline Void SetDisableDecalRenderingThisFrame() { return _i(0x4B5CFC83122DF602); } // 0x4B5CFC83122DF602 0xA706E84D b323 - // + // inline BOOL GetIsPetrolDecalInRange(float xCoord, float yCoord, float zCoord, float radius) { return _i(0x2F09F7976C512404,xCoord, yCoord, zCoord, radius); } // 0x2F09F7976C512404 0x242C6A04 b323 - // - inline Void PatchDecalDiffuseMap(int decalType, String textureDict, String textureName) { return _i(0x8A35C742130C6080,decalType, textureDict, textureName); } // 0x8A35C742130C6080 0x335695CF b323 - // + // + inline Void PatchDecalDiffuseMap(int decalType, const char* textureDict, const char* textureName) { return _i(0x8A35C742130C6080,decalType, textureDict, textureName); } // 0x8A35C742130C6080 0x335695CF b323 + // inline Void UnpatchDecalDiffuseMap(int decalType) { return _i(0xB7ED70C49521A61D,decalType); } // 0xB7ED70C49521A61D 0x7B786555 b323 - // + // inline Void MoveVehicleDecals(Any p0, Any p1) { return _i(0x84C8D7C2D30D3280,p0, p1); } // 0x84C8D7C2D30D3280 0xCE9E6CF2 b323 - // boneIndex is always chassis_dummy in the scripts. The x/y/z params are location relative to the chassis bone. + // boneIndex is always chassis_dummy in the scripts. The x/y/z params are location relative to the chassis bone. inline BOOL AddVehicleCrewEmblem(Vehicle vehicle, Ped ped, int boneIndex, float x1, float x2, float x3, float y1, float y2, float y3, float z1, float z2, float z3, float scale, Any p13, int alpha) { return _i(0x428BDCB9DA58DA53,vehicle, ped, boneIndex, x1, x2, x3, y1, y2, y3, z1, z2, z3, scale, p13, alpha); } // 0x428BDCB9DA58DA53 0x12077738 b323 - // + // inline BOOL AbortVehicleCrewEmblemRequest(int* p0) { return _i(0x82ACC484FFA3B05F,p0); } // 0x82ACC484FFA3B05F b372 - // + // inline Void RemoveVehicleCrewEmblem(Vehicle vehicle, int p1) { return _i(0xD2300034310557E4,vehicle, p1); } // 0xD2300034310557E4 0x667046A8 b323 - // + // inline int GetVehicleCrewEmblemRequestState(Vehicle vehicle, int p1) { return _i(0xFE26117A5841B2FF,vehicle, p1); } // 0xFE26117A5841B2FF 0x4F4D76E8 b323 - // + // inline BOOL DoesVehicleHaveCrewEmblem(Vehicle vehicle, int p1) { return _i(0x60D935D3981A275,vehicle, p1); } // 0x60D935D3981A275 0x6D58F73B b323 - // + // inline Void DisableCompositeShotgunDecals(BOOL toggle) { return _i(0xE4299C549F0D1F1,toggle); } // 0xE4299C549F0D1F1 0x9BABCBA4 b323 - // + // inline Void DisableScuffDecals(BOOL toggle) { return _i(0x2369D5C8A51FDCF,toggle); } // 0x2369D5C8A51FDCF 0xFDF6D8DA b323 - // + // inline Void SetDecalBulletImpactRangeScale(float p0) { return _i(0x46D1A61A21F566FC,p0); } // 0x46D1A61A21F566FC 0x2056A015 b323 - // - inline Void OverrideInteriorSmokeName(String name) { return _i(0x2A2A52824DB96700,name); } // 0x2A2A52824DB96700 0x0F486429 b323 - // + // + inline Void OverrideInteriorSmokeName(const char* name) { return _i(0x2A2A52824DB96700,name); } // 0x2A2A52824DB96700 0x0F486429 b323 + // inline Void OverrideInteriorSmokeLevel(float level) { return _i(0x1600FD8CF72EBC12,level); } // 0x1600FD8CF72EBC12 0xD87CC710 b323 - // + // inline Void OverrideInteriorSmokeEnd() { return _i(0xEFB55E7C25D3B3BE); } // 0xEFB55E7C25D3B3BE 0xE29EE145 b323 - // Used with 'NG_filmnoir_BW{01,02}' timecycles and the "NOIR_FILTER_SOUNDS" audioref. + // Used with 'NG_filmnoir_BW{01,02}' timecycles and the "NOIR_FILTER_SOUNDS" audioref. inline Void RegisterNoirLensEffect() { return _i(0xA44FF770DFBC5DAE); } // 0xA44FF770DFBC5DAE b323 - // + // inline Void DisableVehicleDistantlights(BOOL toggle) { return _i(0xC9F98AC1884E73A2,toggle); } // 0xC9F98AC1884E73A2 0x7CFAE36F b323 - // + // inline Void RenderShadowedLightsWithNoShadows(BOOL p0) { return _i(0x3300B57FCAC6DDB,p0); } // 0x3300B57FCAC6DDB 0x60F72371 b323 - // + // inline Void RequestEarlyLightCheck() { return _i(0x98EDF76A7271E4F2); } // 0x98EDF76A7271E4F2 b323 - // Forces footstep tracks on all surfaces. + // Forces footstep tracks on all surfaces. inline Void UseSnowFootVfxWhenUnsheltered(BOOL toggle) { return _i(0xAEEDAD1420C65CC0,toggle); } // 0xAEEDAD1420C65CC0 0xC53576CA b323 - // + // inline Void ForceAllowSnowFootVfxOnIce(BOOL toggle) { return _i(0xA342A3763B3AFB6C,toggle); } // 0xA342A3763B3AFB6C b3095 - // Forces vehicle trails on all surfaces. + // Forces vehicle trails on all surfaces. inline Void UseSnowWheelVfxWhenUnsheltered(BOOL toggle) { return _i(0x4CC7F0FEA5283FE0,toggle); } // 0x4CC7F0FEA5283FE0 0x7158B1EA b323 - // + // inline Void DisableRegionVfx(Any p0) { return _i(0xEFD97FF47B745B8D,p0); } // 0xEFD97FF47B745B8D b791 - // + // inline Void ForceGroundSnowPass(BOOL toggle) { return _i(0x6E9EF3A33C8899F8,toggle); } // 0x6E9EF3A33C8899F8 b3095 - // Only one match in the scripts: + // Only one match in the scripts: // // GRAPHICS::PresetInteriorAmbientCache("int_carrier_hanger"); - inline Void PresetInteriorAmbientCache(String timecycleModifierName) { return _i(0xD7021272EB0A451E,timecycleModifierName); } // 0xD7021272EB0A451E 0x137E3E24 b323 - // Loads the specified timecycle modifier. Modifiers are defined separately in another file (e.g. "timecycle_mods_1.xml") + inline Void PresetInteriorAmbientCache(const char* timecycleModifierName) { return _i(0xD7021272EB0A451E,timecycleModifierName); } // 0xD7021272EB0A451E 0x137E3E24 b323 + // 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 - inline Void SetTimecycleModifier(String modifierName) { return _i(0x2C933ABF17A1DF41,modifierName); } // 0x2C933ABF17A1DF41 0xA81F3638 b323 - // + inline Void SetTimecycleModifier(const char* modifierName) { return _i(0x2C933ABF17A1DF41,modifierName); } // 0x2C933ABF17A1DF41 0xA81F3638 b323 + // inline Void SetTimecycleModifierStrength(float strength) { return _i(0x82E7FFCD5B2326B3,strength); } // 0x82E7FFCD5B2326B3 0x458F4F45 b323 - // Full list of timecycle modifiers by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/timecycleModifiers.json - inline Void SetTransitionTimecycleModifier(String modifierName, float transition) { return _i(0x3BCF567485E1971C,modifierName, transition); } // 0x3BCF567485E1971C 0xBB2BA72A b323 - // + // Full list of timecycle modifiers by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/timecycleModifiers.json + inline Void SetTransitionTimecycleModifier(const char* modifierName, float transition) { return _i(0x3BCF567485E1971C,modifierName, transition); } // 0x3BCF567485E1971C 0xBB2BA72A b323 + // inline Void SetTransitionOutOfTimecycleModifier(float strength) { return _i(0x1CBA05AE7BD7EE05,strength); } // 0x1CBA05AE7BD7EE05 0x56345F6B b323 - // + // inline Void ClearTimecycleModifier() { return _i(0xF07E7745A236711); } // 0xF07E7745A236711 0x8D8DF8EE b323 - // Only use for this in the PC scripts is: + // Only use for this in the PC scripts is: // // if (GRAPHICS::GetTimecycleModifierIndex() != -1) inline int GetTimecycleModifierIndex() { return _i(0xFDF3D97C674AFB66); } // 0xFDF3D97C674AFB66 0x594FEEC4 b323 - // + // inline int GetTimecycleTransitionModifierIndex() { return _i(0x459FD2C8D0AB78BC); } // 0x459FD2C8D0AB78BC 0x03C44E4B b323 - // + // inline BOOL GetIsTimecycleTransitioningOut() { return _i(0x98D18905BF723B99); } // 0x98D18905BF723B99 b1493 - // + // inline Void PushTimecycleModifier() { return _i(0x58F735290861E6B4); } // 0x58F735290861E6B4 0x7E082045 b323 - // + // inline Void PopTimecycleModifier() { return _i(0x3C8938D7D872211E); } // 0x3C8938D7D872211E 0x79D7D235 b323 - // - inline Void SetCurrentPlayerTcmodifier(String modifierName) { return _i(0xBBF327DED94E4DEB,modifierName); } // 0xBBF327DED94E4DEB 0x85BA15A4 b323 - // + // + inline Void SetCurrentPlayerTcmodifier(const char* modifierName) { return _i(0xBBF327DED94E4DEB,modifierName); } // 0xBBF327DED94E4DEB 0x85BA15A4 b323 + // inline Void SetPlayerTcmodifierTransition(float value) { return _i(0xBDEB86F4D5809204,value); } // 0xBDEB86F4D5809204 0x9559BB38 b323 - // - inline Void SetNextPlayerTcmodifier(String modifierName) { return _i(0xBF59707B3E5ED531,modifierName); } // 0xBF59707B3E5ED531 0x554BA16E b323 - // - inline Void AddTcmodifierOverride(String modifierName1, String modifierName2) { return _i(0x1A8E2C8B9CF4549C,modifierName1, modifierName2); } // 0x1A8E2C8B9CF4549C 0xE8F538B5 b323 - // - inline Void ClearAllTcmodifierOverrides(String p0) { return _i(0x15E33297C3E8DC60,p0); } // 0x15E33297C3E8DC60 b323 - // Full list of timecycle modifiers by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/timecycleModifiers.json - inline Void SetExtraTcmodifier(String modifierName) { return _i(0x5096FD9CCB49056D,modifierName); } // 0x5096FD9CCB49056D b323 - // Clears the secondary timecycle modifier usually set with _SET_EXTRA_TIMECYCLE_MODIFIER + // + inline Void SetNextPlayerTcmodifier(const char* modifierName) { return _i(0xBF59707B3E5ED531,modifierName); } // 0xBF59707B3E5ED531 0x554BA16E b323 + // + inline Void AddTcmodifierOverride(const char* modifierName1, const char* modifierName2) { return _i(0x1A8E2C8B9CF4549C,modifierName1, modifierName2); } // 0x1A8E2C8B9CF4549C 0xE8F538B5 b323 + // + inline Void ClearAllTcmodifierOverrides(const char* p0) { return _i(0x15E33297C3E8DC60,p0); } // 0x15E33297C3E8DC60 b323 + // Full list of timecycle modifiers by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/timecycleModifiers.json + inline Void SetExtraTcmodifier(const char* modifierName) { return _i(0x5096FD9CCB49056D,modifierName); } // 0x5096FD9CCB49056D b323 + // Clears the secondary timecycle modifier usually set with _SET_EXTRA_TIMECYCLE_MODIFIER inline Void ClearExtraTcmodifier() { return _i(0x92CCC17A7A2285DA); } // 0x92CCC17A7A2285DA b323 - // See GetTimecycleModifierIndex for use, works the same just for the secondary timecycle modifier. + // See GetTimecycleModifierIndex for use, works the same just for the secondary timecycle modifier. // Returns an integer representing the Timecycle modifier inline int GetExtraTcmodifier() { return _i(0xBB0527EC6341496D); } // 0xBB0527EC6341496D b323 - // The same as SetTimecycleModifier_STRENGTH but for the secondary timecycle modifier. + // The same as SetTimecycleModifier_STRENGTH but for the secondary timecycle modifier. inline Void EnableMoonCycleOverride(float strength) { return _i(0x2C328AF17210F009,strength); } // 0x2C328AF17210F009 b323 - // Resets the extra timecycle modifier strength normally set with 0x2C328AF17210F009 + // Resets the extra timecycle modifier strength normally set with 0x2C328AF17210F009 inline Void DisableMoonCycleOverride() { return _i(0x2BF72AD5B41AA739); } // 0x2BF72AD5B41AA739 b323 - // - inline int RequestScaleformMovie(String scaleformName) { return _i(0x11FE353CF9733E6F,scaleformName); } // 0x11FE353CF9733E6F 0xC67E3DCB b323 - // Another RequestScaleformMovie equivalent. - inline int RequestScaleformMovieWithIgnoreSuperWidescreen(String scaleformName) { return _i(0x65E7E78842E74CDB,scaleformName); } // 0x65E7E78842E74CDB b372 - // - inline int RequestScaleformMovieInstance(String scaleformName) { return _i(0xC514489CFB8AF806,scaleformName); } // 0xC514489CFB8AF806 0x7CC8057D b323 - // Similar to RequestScaleformMovie, but seems to be some kind of "interactive" scaleform movie? + // + inline int RequestScaleformMovie(const char* scaleformName) { return _i(0x11FE353CF9733E6F,scaleformName); } // 0x11FE353CF9733E6F 0xC67E3DCB b323 + // Another RequestScaleformMovie equivalent. + inline int RequestScaleformMovieWithIgnoreSuperWidescreen(const char* scaleformName) { return _i(0x65E7E78842E74CDB,scaleformName); } // 0x65E7E78842E74CDB b372 + // + inline int RequestScaleformMovieInstance(const char* scaleformName) { return _i(0xC514489CFB8AF806,scaleformName); } // 0xC514489CFB8AF806 0x7CC8057D b323 + // Similar to RequestScaleformMovie, but seems to be some kind of "interactive" scaleform movie? // // These seem to be the only scaleforms ever requested by this native: // "breaking_news" @@ -4433,51 +4433,51 @@ namespace GRAPHICS // // Note: Unless this hash is out-of-order, this native is next-gen only. // - inline int RequestScaleformMovieSkipRenderWhilePaused(String scaleformName) { return _i(0xBD06C611BB9048C2,scaleformName); } // 0xBD06C611BB9048C2 b323 - // + inline int RequestScaleformMovieSkipRenderWhilePaused(const char* scaleformName) { return _i(0xBD06C611BB9048C2,scaleformName); } // 0xBD06C611BB9048C2 b323 + // inline BOOL HasScaleformMovieLoaded(int scaleformHandle) { return _i(0x85F01B8D5B90570E,scaleformHandle); } // 0x85F01B8D5B90570E 0xDDFB6448 b323 - // val is 1-20 (0 will return false) + // val is 1-20 (0 will return false) inline BOOL IsActiveScaleformMovieDeleting(int val) { return _i(0x2FCB133CA50A49EB,val); } // 0x2FCB133CA50A49EB b1290 - // val is 1-20. Return is related to INSTRUCTIONAL_BUTTONS, COLOUR_SWITCHER_02, etc? + // val is 1-20. Return is related to INSTRUCTIONAL_BUTTONS, COLOUR_SWITCHER_02, etc? inline BOOL IsScaleformMovieDeleting(int val) { return _i(0x86255B1FC929E33E,val); } // 0x86255B1FC929E33E b1290 - // Only values used in the scripts are: + // Only values used in the scripts are: // // "heist_mp" // "heistmap_mp" // "instructional_buttons" // "heist_pre" - inline BOOL HasScaleformMovieFilenameLoaded(String scaleformName) { return _i(0xC1C5D756FB5F337,scaleformName); } // 0xC1C5D756FB5F337 0x494A9E50 b323 - // + inline BOOL HasScaleformMovieFilenameLoaded(const char* scaleformName) { return _i(0xC1C5D756FB5F337,scaleformName); } // 0xC1C5D756FB5F337 0x494A9E50 b323 + // inline BOOL HasScaleformContainerMovieLoadedIntoParent(int scaleformHandle) { return _i(0x8217150E1217EBFD,scaleformHandle); } // 0x8217150E1217EBFD 0x1DFE8D8A b323 - // + // inline Void SetScaleformMovieAsNoLongerNeeded(int* scaleformHandle) { return _i(0x1D132D614DD86811,scaleformHandle); } // 0x1D132D614DD86811 0x5FED3BA1 b323 - // + // inline Void SetScaleformMovieToUseSystemTime(int scaleform, BOOL toggle) { return _i(0x6D8EB211944DCE08,scaleform, toggle); } // 0x6D8EB211944DCE08 0x18C9DE8D b323 - // + // inline Void SetScaleformMovieToUseLargeRt(int scaleformHandle, BOOL toggle) { return _i(0x32F34FF7F617643B,scaleformHandle, toggle); } // 0x32F34FF7F617643B b573 - // This native is used in some casino scripts to fit the scaleform in the rendertarget. + // This native is used in some casino scripts to fit the scaleform in the rendertarget. inline Void SetScaleformMovieToUseSuperLargeRt(int scaleformHandle, BOOL toggle) { return _i(0xE6A9F00D4240B519,scaleformHandle, toggle); } // 0xE6A9F00D4240B519 b877 - // + // inline Void DrawScaleformMovie(int scaleformHandle, float x, float y, float width, float height, int red, int green, int blue, int alpha, int p9) { return _i(0x54972ADAF0294A93,scaleformHandle, x, y, width, height, red, green, blue, alpha, p9); } // 0x54972ADAF0294A93 0x48DA6A58 b323 - // unk is not used so no need + // unk is not used so no need inline Void DrawScaleformMovieFullscreen(int scaleform, int red, int green, int blue, int alpha, int p5) { return _i(0xDF606929C105BE1,scaleform, red, green, blue, alpha, p5); } // 0xDF606929C105BE1 0x7B48E696 b323 - // + // inline Void DrawScaleformMovieFullscreenMasked(int scaleform1, int scaleform2, int red, int green, int blue, int alpha) { return _i(0xCF537FDE4FBD4CE5,scaleform1, scaleform2, red, green, blue, alpha); } // 0xCF537FDE4FBD4CE5 0x9C59FC06 b323 - // + // inline Void DrawScaleformMovie3D(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, int rotationOrder) { return _i(0x87D51D72255D4E78,scaleform, posX, posY, posZ, rotX, rotY, rotZ, p7, p8, p9, scaleX, scaleY, scaleZ, rotationOrder); } // 0x87D51D72255D4E78 0xC4F63A89 b323 - // + // inline Void DrawScaleformMovie3DSolid(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, int rotationOrder) { return _i(0x1CE592FDC749D6F5,scaleform, posX, posY, posZ, rotX, rotY, rotZ, p7, p8, p9, scaleX, scaleY, scaleZ, rotationOrder); } // 0x1CE592FDC749D6F5 0x899933C8 b323 - // Calls the Scaleform function. - inline Void CallScaleformMovieMethod(int scaleform, String method) { return _i(0xFBD96D87AC96D533,scaleform, method); } // 0xFBD96D87AC96D533 0x7AB77B57 b323 - // Calls the Scaleform function and passes the parameters as floats. + // Calls the Scaleform function. + inline Void CallScaleformMovieMethod(int scaleform, const char* method) { return _i(0xFBD96D87AC96D533,scaleform, method); } // 0xFBD96D87AC96D533 0x7AB77B57 b323 + // 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. - inline Void CallScaleformMovieMethodWithNumber(int scaleform, String methodName, float param1, float param2, float param3, float param4, float param5) { return _i(0xD0837058AE2E4BEE,scaleform, methodName, param1, param2, param3, param4, param5); } // 0xD0837058AE2E4BEE 0x557EDA1D b323 - // Calls the Scaleform function and passes the parameters as strings. + inline Void CallScaleformMovieMethodWithNumber(int scaleform, const char* methodName, float param1, float param2, float param3, float param4, float param5) { return _i(0xD0837058AE2E4BEE,scaleform, methodName, param1, param2, param3, param4, param5); } // 0xD0837058AE2E4BEE 0x557EDA1D b323 + // 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). - inline Void CallScaleformMovieMethodWithString(int scaleform, String methodName, String param1, String param2, String param3, String param4, String param5) { return _i(0x51BC1ED3CC44E8F7,scaleform, methodName, param1, param2, param3, param4, param5); } // 0x51BC1ED3CC44E8F7 0x91A7FCEB b323 - // Calls the Scaleform function and passes both float and string parameters (in their respective order). + inline Void CallScaleformMovieMethodWithString(int scaleform, const char* methodName, const char* param1, const char* param2, const char* param3, const char* param4, const char* param5) { return _i(0x51BC1ED3CC44E8F7,scaleform, methodName, param1, param2, param3, param4, param5); } // 0x51BC1ED3CC44E8F7 0x91A7FCEB b323 + // 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). // @@ -4489,47 +4489,47 @@ namespace GRAPHICS // // // function MY_FUNCTION_2(floatParam, stringParam1, stringParam2) // GRAPHICS::CallScaleformMovieMethod_WITH_NUMBER_AND_STRING(scaleform, "MY_FUNCTION_2", 10.0, -1.0, -1.0, -1.0, -1.0, "String param #1", "String param #2", 0, 0, 0); - inline Void CallScaleformMovieMethodWithNumberAndString(int scaleform, String methodName, float floatParam1, float floatParam2, float floatParam3, float floatParam4, float floatParam5, String stringParam1, String stringParam2, String stringParam3, String stringParam4, String stringParam5) { return _i(0xEF662D8D57E290B1,scaleform, methodName, floatParam1, floatParam2, floatParam3, floatParam4, floatParam5, stringParam1, stringParam2, stringParam3, stringParam4, stringParam5); } // 0xEF662D8D57E290B1 0x6EAF56DE b323 - // Pushes a function from the Hud component Scaleform onto the stack. Same behavior as GRAPHICS::BeginScaleformMovieMethod, just a hud component id instead of a Scaleform. + inline Void CallScaleformMovieMethodWithNumberAndString(int scaleform, const char* methodName, float floatParam1, float floatParam2, float floatParam3, float floatParam4, float floatParam5, const char* stringParam1, const char* stringParam2, const char* stringParam3, const char* stringParam4, const char* stringParam5) { return _i(0xEF662D8D57E290B1,scaleform, methodName, floatParam1, floatParam2, floatParam3, floatParam4, floatParam5, stringParam1, stringParam2, stringParam3, stringParam4, stringParam5); } // 0xEF662D8D57E290B1 0x6EAF56DE b323 + // Pushes a function from the Hud component Scaleform onto the stack. Same behavior as GRAPHICS::BeginScaleformMovieMethod, 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". - inline BOOL BeginScaleformScriptHudMovieMethod(int hudComponent, String methodName) { return _i(0x98C494FD5BDFBFD5,hudComponent, methodName); } // 0x98C494FD5BDFBFD5 0x5D66CE1E b323 - // Push a function from the Scaleform onto the stack + inline BOOL BeginScaleformScriptHudMovieMethod(int hudComponent, const char* methodName) { return _i(0x98C494FD5BDFBFD5,hudComponent, methodName); } // 0x98C494FD5BDFBFD5 0x5D66CE1E b323 + // Push a function from the Scaleform onto the stack // - inline BOOL BeginScaleformMovieMethod(int scaleform, String methodName) { return _i(0xF6E48914C7A8694E,scaleform, methodName); } // 0xF6E48914C7A8694E 0x215ABBE8 b323 - // Starts frontend (pause menu) scaleform movie methods. + inline BOOL BeginScaleformMovieMethod(int scaleform, const char* methodName) { return _i(0xF6E48914C7A8694E,scaleform, methodName); } // 0xF6E48914C7A8694E 0x215ABBE8 b323 + // 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 `BeginScaleformMovieMethod_ON_FRONTEND_HEADER` for header scaleform functions. - inline BOOL BeginScaleformMovieMethodOnFrontend(String methodName) { return _i(0xAB58C27C2E6123C6,methodName); } // 0xAB58C27C2E6123C6 0xF6015178 b323 - // Starts frontend (pause menu) scaleform movie methods for header options. + inline BOOL BeginScaleformMovieMethodOnFrontend(const char* methodName) { return _i(0xAB58C27C2E6123C6,methodName); } // 0xAB58C27C2E6123C6 0xF6015178 b323 + // Starts frontend (pause menu) scaleform movie methods for header options. // Use `BeginScaleformMovieMethod_ON_FRONTEND` to customize the content inside the frontend menus. - inline BOOL BeginScaleformMovieMethodOnFrontendHeader(String methodName) { return _i(0xB9449845F73F5E9C,methodName); } // 0xB9449845F73F5E9C 0x5E219B67 b323 - // Pops and calls the Scaleform function on the stack + inline BOOL BeginScaleformMovieMethodOnFrontendHeader(const char* methodName) { return _i(0xB9449845F73F5E9C,methodName); } // 0xB9449845F73F5E9C 0x5E219B67 b323 + // Pops and calls the Scaleform function on the stack inline Void EndScaleformMovieMethod() { return _i(0xC6796A8FFA375E53); } // 0xC6796A8FFA375E53 0x02DBF2D7 b323 - // + // inline int EndScaleformMovieMethodReturnValue() { return _i(0xC50AA39A577AF886); } // 0xC50AA39A577AF886 0x2F38B526 b323 - // methodReturn: The return value of this native: EndScaleformMovieMethod_RETURN_VALUE + // methodReturn: The return value of this native: EndScaleformMovieMethod_RETURN_VALUE // Returns true if the return value of a scaleform function is ready to be collected (using GetScaleformMovieMethodReturnValueString or GetScaleformMovieMethodReturnValueInt). inline BOOL IsScaleformMovieMethodReturnValueReady(int methodReturn) { return _i(0x768FF8961BA904D6,methodReturn); } // 0x768FF8961BA904D6 0x5CD7C3C0 b323 - // methodReturn: The return value of this native: EndScaleformMovieMethod_RETURN_VALUE + // methodReturn: The return value of this native: EndScaleformMovieMethod_RETURN_VALUE // Used to get a return value from a scaleform function. Returns an int in the same way GetScaleformMovieMethodReturnValueString returns a string. inline int GetScaleformMovieMethodReturnValueInt(int methodReturn) { return _i(0x2DE7EFA66B906036,methodReturn); } // 0x2DE7EFA66B906036 0x2CFB0E6D b323 - // methodReturn: The return value of this native: EndScaleformMovieMethod_RETURN_VALUE + // methodReturn: The return value of this native: EndScaleformMovieMethod_RETURN_VALUE inline BOOL GetScaleformMovieMethodReturnValueBool(int methodReturn) { return _i(0xD80A80346A45D761,methodReturn); } // 0xD80A80346A45D761 b757 - // methodReturn: The return value of this native: EndScaleformMovieMethod_RETURN_VALUE + // methodReturn: The return value of this native: EndScaleformMovieMethod_RETURN_VALUE // Used to get a return value from a scaleform function. Returns a string in the same way GetScaleformMovieMethodReturnValueInt returns an int. - inline String GetScaleformMovieMethodReturnValueString(int methodReturn) { return _i(0xE1E258829A885245,methodReturn); } // 0xE1E258829A885245 0x516862EB b323 - // Pushes an integer for the Scaleform function onto the stack. + inline const char* GetScaleformMovieMethodReturnValueString(int methodReturn) { return _i(0xE1E258829A885245,methodReturn); } // 0xE1E258829A885245 0x516862EB b323 + // Pushes an integer for the Scaleform function onto the stack. inline Void ScaleformMovieMethodAddParamInt(int value) { return _i(0xC3D0841A0CC546A6,value); } // 0xC3D0841A0CC546A6 0x716777CB b323 - // Pushes a float for the Scaleform function onto the stack. + // Pushes a float for the Scaleform function onto the stack. inline Void ScaleformMovieMethodAddParamFloat(float value) { return _i(0xD69736AAE04DB51A,value); } // 0xD69736AAE04DB51A 0x9A01FFDA b323 - // Pushes a boolean for the Scaleform function onto the stack. + // Pushes a boolean for the Scaleform function onto the stack. inline Void ScaleformMovieMethodAddParamBool(BOOL value) { return _i(0xC58424BA936EB458,value); } // 0xC58424BA936EB458 0x0D4AE8CB b323 - // Called prior to adding a text component to the UI. After doing so, GRAPHICS::EndTextCommandScaleformString is called. + // Called prior to adding a text component to the UI. After doing so, GRAPHICS::EndTextCommandScaleformString is called. // // Examples: // GRAPHICS::BeginTextCommandScaleformString("NUMBER"); @@ -4548,41 +4548,41 @@ namespace GRAPHICS // GRAPHICS::BeginTextCommandScaleformString("STRTNM1"); // HUD::AddTextComponentSubstringTextLabel_HASH_KEY(v_3); // GRAPHICS::EndTextCommandScaleformString(); - inline Void BeginTextCommandScaleformString(String componentType) { return _i(0x80338406F3475E55,componentType); } // 0x80338406F3475E55 0x3AC9CB55 b323 - // + inline Void BeginTextCommandScaleformString(const char* componentType) { return _i(0x80338406F3475E55,componentType); } // 0x80338406F3475E55 0x3AC9CB55 b323 + // inline Void EndTextCommandScaleformString() { return _i(0x362E2D3FE93A9959); } // 0x362E2D3FE93A9959 0x386CE0B8 b323 - // Same as EndTextCommandScaleformString but does not perform HTML conversion for text tokens. + // Same as EndTextCommandScaleformString but does not perform HTML conversion for text tokens. // // END_TEXT_COMMAND_VIA_SPECIAL_MODIFIABLE_STRING? inline Void EndTextCommandUnparsedScaleformString() { return _i(0xAE4E8157D9ECF087); } // 0xAE4E8157D9ECF087 0x2E80DB52 b323 - // Same as ScaleformMovieMethodAddParamTextureNameString + // Same as ScaleformMovieMethodAddParamTextureNameString // Both ScaleformMovieMethodAddParamTextureNameString / _ScaleformMovieMethodAddParamTextureNameString_2 works, but _ScaleformMovieMethodAddParamTextureNameString_2 is usually used for "name" (organisation, players..). - inline Void ScaleformMovieMethodAddParamLiteralString(String string) { return _i(0x77FE3402004CD1B0,string); } // 0x77FE3402004CD1B0 b573 - // - inline Void ScaleformMovieMethodAddParamTextureNameString(String string) { return _i(0xBA7148484BD90365,string); } // 0xBA7148484BD90365 0x4DAAD55B b323 - // - inline Void ScaleformMovieMethodAddParamPlayerNameString(String string) { return _i(0xE83A3E3557A56640,string); } // 0xE83A3E3557A56640 0xCCBF0334 b323 - // + inline Void ScaleformMovieMethodAddParamLiteralString(const char* string) { return _i(0x77FE3402004CD1B0,string); } // 0x77FE3402004CD1B0 b573 + // + inline Void ScaleformMovieMethodAddParamTextureNameString(const char* string) { return _i(0xBA7148484BD90365,string); } // 0xBA7148484BD90365 0x4DAAD55B b323 + // + inline Void ScaleformMovieMethodAddParamPlayerNameString(const char* string) { return _i(0xE83A3E3557A56640,string); } // 0xE83A3E3557A56640 0xCCBF0334 b323 + // inline BOOL DoesLatestBriefStringExist(int p0) { return _i(0x5E657EF1099EDD65,p0); } // 0x5E657EF1099EDD65 0x91A081A1 b323 - // + // inline Void ScaleformMovieMethodAddParamLatestBriefString(int value) { return _i(0xEC52C631A1831C03,value); } // 0xEC52C631A1831C03 0x83A9811D b323 - // + // inline Void RequestScaleformScriptHudMovie(int hudComponent) { return _i(0x9304881D6F6537EA,hudComponent); } // 0x9304881D6F6537EA 0x7AF85862 b323 - // + // inline BOOL HasScaleformScriptHudMovieLoaded(int hudComponent) { return _i(0xDF6E5987D2B4D140,hudComponent); } // 0xDF6E5987D2B4D140 0x79B43255 b323 - // + // inline Void RemoveScaleformScriptHudMovie(int hudComponent) { return _i(0xF44A5456AC3F4F97,hudComponent); } // 0xF44A5456AC3F4F97 0x03D87600 b323 - // + // inline BOOL PassKeyboardInputToScaleform(int scaleformHandle) { return _i(0xD1C7CB175E012964,scaleformHandle); } // 0xD1C7CB175E012964 0xE9183D3A b323 - // + // inline Void SetTvChannel(int channel) { return _i(0xBAABBB23EB6E484E,channel); } // 0xBAABBB23EB6E484E 0x41A8A627 b323 - // + // inline int GetTvChannel() { return _i(0xFC1E275A90D39995); } // 0xFC1E275A90D39995 0x6B96145A b323 - // + // inline Void SetTvVolume(float volume) { return _i(0x2982BF73F66E9DDC,volume); } // 0x2982BF73F66E9DDC 0xF3504F4D b323 - // + // inline float GetTvVolume() { return _i(0x2170813D3DD8661B); } // 0x2170813D3DD8661B 0x39555CF0 b323 - // All calls to this native are preceded by calls to GRAPHICS::SetScriptGfxDrawOrder and GRAPHICS::SetScriptGfxDrawBehindPausemenu, respectively. + // All calls to this native are preceded by calls to GRAPHICS::SetScriptGfxDrawOrder and GRAPHICS::SetScriptGfxDrawBehindPausemenu, respectively. // // "act_cinema.ysc", line 1483: // HUD::SetHudComponentPosition(15, 0.0, -0.0375); @@ -4613,7 +4613,7 @@ namespace GRAPHICS // } // inline Void DrawTvChannel(float xPos, float yPos, float xScale, float yScale, float rotation, int red, int green, int blue, int alpha) { return _i(0xFDDC2B4ED3C69DF0,xPos, yPos, xScale, yScale, rotation, red, green, blue, alpha); } // 0xFDDC2B4ED3C69DF0 0x8129EF89 b323 - // Loads specified video sequence into the TV Channel + // 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 @@ -4638,42 +4638,42 @@ namespace GRAPHICS // // 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 - inline Void SetTvChannelPlaylist(int tvChannel, String playlistName, BOOL restart) { return _i(0xF7B38B8305F1FE8B,tvChannel, playlistName, restart); } // 0xF7B38B8305F1FE8B 0xB262DE67 b323 - // - inline Void SetTvChannelPlaylistAtHour(int tvChannel, String playlistName, int hour) { return _i(0x2201C576FACAEBE8,tvChannel, playlistName, hour); } // 0x2201C576FACAEBE8 0x78C4DCBE b323 - // + inline Void SetTvChannelPlaylist(int tvChannel, const char* playlistName, BOOL restart) { return _i(0xF7B38B8305F1FE8B,tvChannel, playlistName, restart); } // 0xF7B38B8305F1FE8B 0xB262DE67 b323 + // + inline Void SetTvChannelPlaylistAtHour(int tvChannel, const char* playlistName, int hour) { return _i(0x2201C576FACAEBE8,tvChannel, playlistName, hour); } // 0x2201C576FACAEBE8 0x78C4DCBE b323 + // inline Void SetTvChannelPlaylistDirty(int tvChannel, BOOL p1) { return _i(0xEE831F15A8D0D94A,tvChannel, p1); } // 0xEE831F15A8D0D94A b3095 - // + // inline Void ClearTvChannelPlaylist(int tvChannel) { return _i(0xBEB3D46BB7F043C0,tvChannel); } // 0xBEB3D46BB7F043C0 0xCBE7068F b323 - // + // inline BOOL IsPlaylistOnChannel(int tvChannel, Any p1) { return _i(0x1F710BFF7DAE6261,tvChannel, p1); } // 0x1F710BFF7DAE6261 b1604 - // + // inline BOOL IsTvshowCurrentlyPlaying(Hash videoCliphash) { return _i(0xAD973CA1E077B60,videoCliphash); } // 0xAD973CA1E077B60 0x4D1EB0FB b323 - // + // inline Void EnableMovieKeyframeWait(BOOL toggle) { return _i(0x74C180030FDE4B69,toggle); } // 0x74C180030FDE4B69 0x796DE696 b323 - // + // inline Void SetTvPlayerWatchingThisFrame(Any p0) { return _i(0xD1C55B110E4DF534,p0); } // 0xD1C55B110E4DF534 0xD99EC000 b323 - // + // inline Hash GetCurrentTvClipNamehash() { return _i(0x30432A0118736E00); } // 0x30432A0118736E00 b1493 - // + // inline Void EnableMovieSubtitles(BOOL toggle) { return _i(0x873FA65C778AD970,toggle); } // 0x873FA65C778AD970 0xC2DEBA3D b323 - // + // inline BOOL Ui3DsceneIsAvailable() { return _i(0xD3A10FC7FD8D98CD); } // 0xD3A10FC7FD8D98CD 0xE40A0F1A b323 - // All presets can be found in common\data\ui\uiscenes.meta - inline BOOL Ui3DscenePushPreset(String presetName) { return _i(0xF1CEA8A4198D8E9A,presetName); } // 0xF1CEA8A4198D8E9A 0x2E7D9B98 b323 - // It's called after Ui3DsceneIsAvailable and Ui3DscenePushPreset + // All presets can be found in common\data\ui\uiscenes.meta + inline BOOL Ui3DscenePushPreset(const char* presetName) { return _i(0xF1CEA8A4198D8E9A,presetName); } // 0xF1CEA8A4198D8E9A 0x2E7D9B98 b323 + // It's called after Ui3DsceneIsAvailable and Ui3DscenePushPreset // // presetName was always "CELEBRATION_WINNER" // All presets can be found in common\data\ui\uiscenes.meta - inline BOOL Ui3DsceneAssignPedToSlot(String presetName, Ped ped, int slot, float posX, float posY, float posZ) { return _i(0x98C4FE6EC34154CA,presetName, ped, slot, posX, posY, posZ); } // 0x98C4FE6EC34154CA 0x9A0E3BFE b323 - // + inline BOOL Ui3DsceneAssignPedToSlot(const char* presetName, Ped ped, int slot, float posX, float posY, float posZ) { return _i(0x98C4FE6EC34154CA,presetName, ped, slot, posX, posY, posZ); } // 0x98C4FE6EC34154CA 0x9A0E3BFE b323 + // inline Void Ui3DsceneClearPatchedData() { return _i(0x7A42B2E236E71415); } // 0x7A42B2E236E71415 0x431AA036 b323 - // + // inline Void Ui3DsceneMakePushedPresetPersistent(BOOL toggle) { return _i(0x108BE26959A9D9BB,toggle); } // 0x108BE26959A9D9BB 0x24A7A7F6 b323 - // This native enables/disables the gold putting grid display (https://i.imgur.com/TC6cku6.png). + // 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: `TerraingridSetParams` and `TerraingridSetColours`. inline Void TerraingridActivate(BOOL toggle) { return _i(0xA356990E161C9E65,toggle); } // 0xA356990E161C9E65 0xA1CB6C94 b323 - // This native is used along with these two natives: `TerraingridActivate` and `TerraingridSetColours`. + // This native is used along with these two natives: `TerraingridActivate` and `TerraingridSetColours`. // 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 @@ -4684,40 +4684,40 @@ namespace GRAPHICS // // Example with box superimposed on the image to demonstrate: https://i.imgur.com/wdqskxd.jpg inline Void TerraingridSetParams(float x, float y, float z, float forwardX, float forwardY, float forwardZ, float sizeX, float sizeY, float sizeZ, float gridScale, float glowIntensity, float normalHeight, float heightDiff) { return _i(0x1C4FC5752BCD8E48,x, y, z, forwardX, forwardY, forwardZ, sizeX, sizeY, sizeZ, gridScale, glowIntensity, normalHeight, heightDiff); } // 0x1C4FC5752BCD8E48 0x3B637AA7 b323 - // This native is used along with these two natives: `TerraingridActivate` and `TerraingridSetParams`. + // This native is used along with these two natives: `TerraingridActivate` and `TerraingridSetParams`. // 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 inline Void TerraingridSetColours(int lowR, int lowG, int lowB, int lowAlpha, int r, int g, int b, int alpha, int highR, int highG, int highB, int highAlpha) { return _i(0x5CE62918F8D703C7,lowR, lowG, lowB, lowAlpha, r, g, b, alpha, highR, highG, highB, highAlpha); } // 0x5CE62918F8D703C7 0xDF552973 b323 - // duration - is how long to play the effect for in milliseconds. If 0, it plays the default length + // 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 AnimpostfxStop 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 - inline Void AnimpostfxPlay(String effectName, int duration, BOOL looped) { return _i(0x2206BF9A37B7F724,effectName, duration, looped); } // 0x2206BF9A37B7F724 0x1D980479 b323 - // See AnimpostfxPlay + inline Void AnimpostfxPlay(const char* effectName, int duration, BOOL looped) { return _i(0x2206BF9A37B7F724,effectName, duration, looped); } // 0x2206BF9A37B7F724 0x1D980479 b323 + // See AnimpostfxPlay // // Full list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json - inline Void AnimpostfxStop(String effectName) { return _i(0x68E835A1D0DC0E3,effectName); } // 0x68E835A1D0DC0E3 0x06BB5CDA b323 - // See AnimpostfxPlay + inline Void AnimpostfxStop(const char* effectName) { return _i(0x68E835A1D0DC0E3,effectName); } // 0x68E835A1D0DC0E3 0x06BB5CDA b323 + // See AnimpostfxPlay // // Full list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json - inline float AnimpostfxGetCurrentTime(String effectName) { return _i(0xE35B38A27E8E7179,effectName); } // 0xE35B38A27E8E7179 b877 - // Returns whether the specified effect is active. + inline float AnimpostfxGetCurrentTime(const char* effectName) { return _i(0xE35B38A27E8E7179,effectName); } // 0xE35B38A27E8E7179 b877 + // Returns whether the specified effect is active. // See AnimpostfxPlay // // Full list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json - inline BOOL AnimpostfxIsRunning(String effectName) { return _i(0x36AD3E690DA5ACEB,effectName); } // 0x36AD3E690DA5ACEB 0x089D5921 b323 - // Stops ALL currently playing effects. + inline BOOL AnimpostfxIsRunning(const char* effectName) { return _i(0x36AD3E690DA5ACEB,effectName); } // 0x36AD3E690DA5ACEB 0x089D5921 b323 + // Stops ALL currently playing effects. inline Void AnimpostfxStopAll() { return _i(0xB4EDDC19532BFB85); } // 0xB4EDDC19532BFB85 0x4E6D875B b323 - // Stops the effect and sets a value (bool) in its data (+0x199) to false. + // Stops the effect and sets a value (bool) in its data (+0x199) to false. // See AnimpostfxPlay // // Full list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json - inline Void AnimpostfxStopAndFlushRequests(String effectName) { return _i(0xD2209BE128B5418C,effectName); } // 0xD2209BE128B5418C b323 + inline Void AnimpostfxStopAndFlushRequests(const char* effectName) { return _i(0xD2209BE128B5418C,effectName); } // 0xD2209BE128B5418C b323 } namespace HUD { - // Initializes the text entry for the the text next to a loading prompt. All natives for building UI texts can be used here + // 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 @@ -4753,8 +4753,8 @@ namespace HUD // "HUD_QUITTING" = Quiting session // "KILL_STRIP_IDM" = Waiting for to accept // "MP_SPINLOADING" = Loading - inline Void BeginTextCommandBusyspinnerOn(String string) { return _i(0xABA17D7CE615ADBF,string); } // 0xABA17D7CE615ADBF 0xCB7C8994 b323 - // enum eBusySpinnerType + inline Void BeginTextCommandBusyspinnerOn(const char* string) { return _i(0xABA17D7CE615ADBF,string); } // 0xABA17D7CE615ADBF 0xCB7C8994 b323 + // enum eBusySpinnerType // { // BUSY_SPINNER_LEFT, // BUSY_SPINNER_LEFT_2, @@ -4763,65 +4763,65 @@ namespace HUD // BUSY_SPINNER_RIGHT, // }; inline Void EndTextCommandBusyspinnerOn(int busySpinnerType) { return _i(0xBD12F8228410D9B4,busySpinnerType); } // 0xBD12F8228410D9B4 0x903F5EE4 b323 - // Removes the loading prompt at the bottom right of the screen. + // Removes the loading prompt at the bottom right of the screen. inline Void BusyspinnerOff() { return _i(0x10D373323E5B9C0D); } // 0x10D373323E5B9C0D 0x94119534 b323 - // + // inline Void PreloadBusyspinner() { return _i(0xC65AB383CD91DF98); } // 0xC65AB383CD91DF98 0x71077FBD b323 - // + // inline BOOL BusyspinnerIsOn() { return _i(0xD422FCC5F239A915); } // 0xD422FCC5F239A915 0xB8B3A5D0 b323 - // + // inline BOOL BusyspinnerIsDisplaying() { return _i(0xB2A592B04648A9CB); } // 0xB2A592B04648A9CB 0x3AF34DEF b323 - // + // inline Void DisablePausemenuSpinner(BOOL p0) { return _i(0x9245E81072704B8A,p0); } // 0x9245E81072704B8A b323 - // Shows the cursor on screen for one frame. + // Shows the cursor on screen for one frame. inline Void SetMouseCursorThisFrame() { return _i(0xAAE7CE1D63167423); } // 0xAAE7CE1D63167423 b323 - // Changes the mouse cursor's sprite. + // Changes the mouse cursor's sprite. // 1 = Normal // 6 = Left Arrow // 7 = Right Arrow inline Void SetMouseCursorStyle(int spriteId) { return _i(0x8DB8CFFD58B62552,spriteId); } // 0x8DB8CFFD58B62552 b323 - // Shows/hides the frontend cursor on the pause menu or similar menus. + // Shows/hides the frontend cursor on the pause menu or similar menus. // Clicking off and then on the game window will show it again. inline Void SetMouseCursorVisible(BOOL toggle) { return _i(0x98215325A695E78A,toggle); } // 0x98215325A695E78A b323 - // Returns TRUE if mouse is hovering above instructional buttons. Works with all buttons gfx, such as popup_warning, pause_menu_instructional_buttons, instructional_buttons, etc. Note: You have to call TOGGLE_MOUSE_BUTTONS on the scaleform if you want this native to work. + // Returns TRUE if mouse is hovering above instructional buttons. Works with all buttons gfx, such as popup_warning, pause_menu_instructional_buttons, instructional_buttons, etc. Note: You have to call TOGGLE_MOUSE_BUTTONS on the scaleform if you want this native to work. inline BOOL IsMouseRolledOverInstructionalButtons() { return _i(0x3D9ACB1EB139E702); } // 0x3D9ACB1EB139E702 b323 - // + // inline BOOL GetMouseEvent(int scaleformHandle, Any* p1, Any* p2, Any* p3) { return _i(0x632B2940C67F4EA9,scaleformHandle, p1, p2, p3); } // 0x632B2940C67F4EA9 b323 - // + // inline Void ThefeedOnlyShowTooltips(BOOL toggle) { return _i(0x6F1554B0CC2089FA,toggle); } // 0x6F1554B0CC2089FA 0xA7C8594B b323 - // + // inline Void ThefeedSetScriptedMenuHeight(float pos) { return _i(0x55598D21339CB998,pos); } // 0x55598D21339CB998 0x1DA7E41A b323 - // Stops loading screen tips shown by invoking `ThefeedShow` + // Stops loading screen tips shown by invoking `ThefeedShow` inline Void ThefeedHide() { return _i(0x32888337579A5970); } // 0x32888337579A5970 b463 - // Once called each frame hides all above radar notifications. + // Once called each frame hides all above radar notifications. inline Void ThefeedHideThisFrame() { return _i(0x25F87B30C382FCA7); } // 0x25F87B30C382FCA7 0x1E63088A b323 - // Displays loading screen tips, requires `ThefeedAutoPostGametipsOn` to be called beforehand. + // Displays loading screen tips, requires `ThefeedAutoPostGametipsOn` to be called beforehand. inline Void ThefeedShow() { return _i(0x15CFA549788D35EF); } // 0x15CFA549788D35EF b463 - // + // inline Void ThefeedFlushQueue() { return _i(0xA8FDB297A8D25FBA); } // 0xA8FDB297A8D25FBA 0x5205C6F5 b323 - // Removes a notification instantly instead of waiting for it to disappear + // Removes a notification instantly instead of waiting for it to disappear inline Void ThefeedRemoveItem(int notificationId) { return _i(0xBE4390CB40B3E627,notificationId); } // 0xBE4390CB40B3E627 0xECA8ACB9 b323 - // + // inline Void ThefeedForceRenderOn() { return _i(0xA13C11E1B5C06BFC); } // 0xA13C11E1B5C06BFC 0x520FCB6D b323 - // Enables loading screen tips to be be shown (`ThefeedShow`), blocks other kinds of notifications from being displayed (at least from current script). Call `0xADED7F5748ACAFE6` to display those again. + // Enables loading screen tips to be be shown (`ThefeedShow`), blocks other kinds of notifications from being displayed (at least from current script). Call `0xADED7F5748ACAFE6` to display those again. inline Void ThefeedForceRenderOff() { return _i(0x583049884A2EEE3C); } // 0x583049884A2EEE3C 0xC8BAB2F2 b323 - // + // inline Void ThefeedPause() { return _i(0xFDB423997FA30340); } // 0xFDB423997FA30340 0x4D0449C6 b323 - // + // inline Void ThefeedResume() { return _i(0xE1CD1E48E025E661); } // 0xE1CD1E48E025E661 0xD3F40140 b323 - // + // inline BOOL ThefeedIsPaused() { return _i(0xA9CBFD40B3FA3010); } // 0xA9CBFD40B3FA3010 0xC5223796 b323 - // + // inline Void ThefeedReportLogoOn() { return _i(0xD4438C0564490E63); } // 0xD4438C0564490E63 0x709B4BCB b323 - // + // inline Void ThefeedReportLogoOff() { return _i(0xB695E2CD0A2DA9EE); } // 0xB695E2CD0A2DA9EE 0x4A4A40A4 b323 - // Returns the handle for the notification currently displayed on the screen. Name may be a hash collision, but describes the function accurately. + // Returns the handle for the notification currently displayed on the screen. Name may be a hash collision, but describes the function accurately. inline int ThefeedGetLastShownPhoneActivatableFeedId() { return _i(0x82352748437638CA); } // 0x82352748437638CA 0x294405D4 b323 - // Enables loading screen tips to be be shown (`ThefeedShow`), blocks other kinds of notifications from being displayed (at least from current script). Call `ThefeedAutoPostGametipsOff` to display those again. + // Enables loading screen tips to be be shown (`ThefeedShow`), blocks other kinds of notifications from being displayed (at least from current script). Call `ThefeedAutoPostGametipsOff` to display those again. inline Void ThefeedAutoPostGametipsOn() { return _i(0x56C8B608CFD49854); } // 0x56C8B608CFD49854 0xF881AB87 b323 - // Displays "normal" notifications again after calling `ThefeedAutoPostGametipsOn` (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). + // Displays "normal" notifications again after calling `ThefeedAutoPostGametipsOn` (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). inline Void ThefeedAutoPostGametipsOff() { return _i(0xADED7F5748ACAFE6); } // 0xADED7F5748ACAFE6 0x1D6859CA b323 - // From the decompiled scripts: + // From the decompiled scripts: // HUD::THEFEED_SET_BACKGRound_COLOR_FOR_NEXT_POST(6); // HUD::THEFEED_SET_BACKGRound_COLOR_FOR_NEXT_POST(184); // HUD::THEFEED_SET_BACKGRound_COLOR_FOR_NEXT_POST(190); @@ -4833,23 +4833,23 @@ namespace HUD // // Here is a list of some colors that can be used: https://gyazo.com/68bd384455fceb0a85a8729e48216e15 inline Void ThefeedSetBackgroundColorForNextPost(int hudColorIndex) { return _i(0x92F0DA1E27DB96DC,hudColorIndex); } // 0x92F0DA1E27DB96DC 0x07CE2EA4 b323 - // + // inline Void ThefeedSetRgbaParameterForNextMessage(int red, int green, int blue, int alpha) { return _i(0x17430B918701C342,red, green, blue, alpha); } // 0x17430B918701C342 0xCF14D7F2 b323 - // Related to notification color flashing, setting count to 0 invalidates a `ThefeedSetRgbaParameterForNextMessage` call for the target notification. + // Related to notification color flashing, setting count to 0 invalidates a `ThefeedSetRgbaParameterForNextMessage` call for the target notification. inline Void ThefeedSetFlashDurationParameterForNextMessage(int count) { return _i(0x17AD8C9706BDD88A,count); } // 0x17AD8C9706BDD88A 0x24A97AF8 b323 - // + // inline Void ThefeedSetVibrateParameterForNextMessage(BOOL toggle) { return _i(0x4A0C7C9BB10ABB36,toggle); } // 0x4A0C7C9BB10ABB36 0x44018EDB b323 - // + // inline Void ThefeedResetAllParameters() { return _i(0xFDD85225B2DEA55E); } // 0xFDD85225B2DEA55E 0xA4524B23 b323 - // Requires manual management of game stream handles (i.e., 0xBE4390CB40B3E627). + // Requires manual management of game stream handles (i.e., 0xBE4390CB40B3E627). inline Void ThefeedFreezeNextPost() { return _i(0xFDEC055AB549E328); } // 0xFDEC055AB549E328 0xAFA1148B b323 - // + // inline Void ThefeedClearFrozenPost() { return _i(0x80FE4F3AB4E1B62A); } // 0x80FE4F3AB4E1B62A 0x3CD4307C b323 - // + // inline Void ThefeedSetSnapFeedItemPositions(BOOL p0) { return _i(0xBAE4F9B97CD43B30,p0); } // 0xBAE4F9B97CD43B30 b323 - // Used in the native scripts to reference "GetPedheadshotTxdString" and "CHAR_DEFAULT". - inline Void ThefeedUpdateItemTexture(String txdString1, String txnString1, String txdString2, String txnString2) { return _i(0x317EBA71D7543F52,txdString1, txnString1, txdString2, txnString2); } // 0x317EBA71D7543F52 0x6A3F747D b323 - // Declares the entry type of a notification, for example "STRING". + // Used in the native scripts to reference "GetPedheadshotTxdString" and "CHAR_DEFAULT". + inline Void ThefeedUpdateItemTexture(const char* txdString1, const char* txnString1, const char* txdString2, const char* txnString2) { return _i(0x317EBA71D7543F52,txdString1, txnString1, txdString2, txnString2); } // 0x317EBA71D7543F52 0x6A3F747D b323 + // Declares the entry type of a notification, for example "STRING". // // int ShowNotification(char *text) // { @@ -4857,11 +4857,11 @@ namespace HUD // AddTextComponentSubstringPlayerName(text); // return EndTextCommandThefeedPostTicker(1, 1); // } - inline Void BeginTextCommandThefeedPost(String text) { return _i(0x202709F4C58A0424,text); } // 0x202709F4C58A0424 0x574EE85C b323 - // List of picture names: https://pastebin.com/XdpJVbHz + inline Void BeginTextCommandThefeedPost(const char* text) { return _i(0x202709F4C58A0424,text); } // 0x202709F4C58A0424 0x574EE85C b323 + // List of picture names: https://pastebin.com/XdpJVbHz // Example result: https://i.imgur.com/SdEZ22m.png - inline int EndTextCommandThefeedPostStats(String statTitle, int iconEnum, BOOL stepVal, int barValue, BOOL isImportant, String pictureTextureDict, String pictureTextureName) { return _i(0x2B7E9A4EAAA93C89,statTitle, iconEnum, stepVal, barValue, isImportant, pictureTextureDict, pictureTextureName); } // 0x2B7E9A4EAAA93C89 0xED130FA1 b323 - // This function can show pictures of every texture that can be requested by RequestStreamedTextureDict. + inline int EndTextCommandThefeedPostStats(const char* statTitle, int iconEnum, BOOL stepVal, int barValue, BOOL isImportant, const char* pictureTextureDict, const char* pictureTextureName) { return _i(0x2B7E9A4EAAA93C89,statTitle, iconEnum, stepVal, barValue, isImportant, pictureTextureDict, pictureTextureName); } // 0x2B7E9A4EAAA93C89 0xED130FA1 b323 + // This function can show pictures of every texture that can be requested by RequestStreamedTextureDict. // // List of picNames: https://pastebin.com/XdpJVbHz // @@ -4880,23 +4880,23 @@ namespace HUD // // "sender" is the very top header. This can be any old string. // "subject" is the header under the sender. - inline int EndTextCommandThefeedPostMessagetext(String txdName, String textureName, BOOL flash, int iconType, String sender, String subject) { return _i(0x1CCD9A37359072CF,txdName, textureName, flash, iconType, sender, subject); } // 0x1CCD9A37359072CF 0xE7E3C98B b323 - // This function can show pictures of every texture that can be requested by RequestStreamedTextureDict. + inline int EndTextCommandThefeedPostMessagetext(const char* txdName, const char* textureName, BOOL flash, int iconType, const char* sender, const char* subject) { return _i(0x1CCD9A37359072CF,txdName, textureName, flash, iconType, sender, subject); } // 0x1CCD9A37359072CF 0xE7E3C98B b323 + // This function can show pictures of every texture that can be requested by RequestStreamedTextureDict. // // Needs more research. // // Only one type of usage in the scripts: // // HUD::EndTextCommandThefeedPostMessagetext_SUBTITLE_LABEL("CHAR_ACTING_UP", "CHAR_ACTING_UP", 0, 0, "DI_FEED_CHAR", a_0); - inline int EndTextCommandThefeedPostMessagetextSubtitleLabel(String txdName, String textureName, BOOL flash, int iconType, String sender, String subject) { return _i(0xC6F580E4C94926AC,txdName, textureName, flash, iconType, sender, subject); } // 0xC6F580E4C94926AC b323 - // This function can show pictures of every texture that can be requested by RequestStreamedTextureDict. + inline int EndTextCommandThefeedPostMessagetextSubtitleLabel(const char* txdName, const char* textureName, BOOL flash, int iconType, const char* sender, const char* subject) { return _i(0xC6F580E4C94926AC,txdName, textureName, flash, iconType, sender, subject); } // 0xC6F580E4C94926AC b323 + // This function can show pictures of every texture that can be requested by RequestStreamedTextureDict. // // 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::EndTextCommandThefeedPostMessagetext_TU("CHAR_SOCIAL_CLUB", "CHAR_SOCIAL_CLUB", 0, 0, &v_9, "", a_5); - inline int EndTextCommandThefeedPostMessagetextTu(String txdName, String textureName, BOOL flash, int iconType, String sender, String subject, float duration) { return _i(0x1E6611149DB3DB6B,txdName, textureName, flash, iconType, sender, subject, duration); } // 0x1E6611149DB3DB6B 0x0EB382B7 b323 - // This function can show pictures of every texture that can be requested by RequestStreamedTextureDict. + inline int EndTextCommandThefeedPostMessagetextTu(const char* txdName, const char* textureName, BOOL flash, int iconType, const char* sender, const char* subject, float duration) { return _i(0x1E6611149DB3DB6B,txdName, textureName, flash, iconType, sender, subject, duration); } // 0x1E6611149DB3DB6B 0x0EB382B7 b323 + // This function can show pictures of every texture that can be requested by RequestStreamedTextureDict. // // List of picNames https://pastebin.com/XdpJVbHz // @@ -4916,8 +4916,8 @@ namespace HUD // "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.) - inline int EndTextCommandThefeedPostMessagetextWithCrewTag(String txdName, String textureName, BOOL flash, int iconType, String sender, String subject, float duration, String clanTag) { return _i(0x5CBF7BADE20DB93E,txdName, textureName, flash, iconType, sender, subject, duration, clanTag); } // 0x5CBF7BADE20DB93E 0x3E807FE3 b323 - // This function can show pictures of every texture that can be requested by RequestStreamedTextureDict. + inline int EndTextCommandThefeedPostMessagetextWithCrewTag(const char* txdName, const char* textureName, BOOL flash, int iconType, const char* sender, const char* subject, float duration, const char* clanTag) { return _i(0x5CBF7BADE20DB93E,txdName, textureName, flash, iconType, sender, subject, duration, clanTag); } // 0x5CBF7BADE20DB93E 0x3E807FE3 b323 + // This function can show pictures of every texture that can be requested by RequestStreamedTextureDict. // // List of picNames: https://pastebin.com/XdpJVbHz // @@ -4947,49 +4947,49 @@ namespace HUD // _SET_NOTIFICATION_MESSAGE_CLAN_TAG_2("CHAR_SOCIAL_CLUB", "CHAR_SOCIAL_CLUB", 1, 7, text2, Subject, 1.0f, "__EXAMPLE", 7); // return EndTextCommandThefeedPostTicker(1, 1); // } - inline int EndTextCommandThefeedPostMessagetextWithCrewTagAndAdditionalIcon(String txdName, String textureName, BOOL flash, int iconType1, String sender, String subject, float duration, String clanTag, int iconType2, int p9) { return _i(0x531B84E7DA981FB6,txdName, textureName, flash, iconType1, sender, subject, duration, clanTag, iconType2, p9); } // 0x531B84E7DA981FB6 0xDEB491C8 b323 - // + inline int EndTextCommandThefeedPostMessagetextWithCrewTagAndAdditionalIcon(const char* txdName, const char* textureName, BOOL flash, int iconType1, const char* sender, const char* subject, float duration, const char* clanTag, int iconType2, int p9) { return _i(0x531B84E7DA981FB6,txdName, textureName, flash, iconType1, sender, subject, duration, clanTag, iconType2, p9); } // 0x531B84E7DA981FB6 0xDEB491C8 b323 + // inline int EndTextCommandThefeedPostTicker(BOOL blink, BOOL p1) { return _i(0x2ED7843F8F801023,blink, p1); } // 0x2ED7843F8F801023 0x08F7AF78 b323 - // + // inline int EndTextCommandThefeedPostTickerForced(BOOL blink, BOOL p1) { return _i(0x44FA03975424A0EE,blink, p1); } // 0x44FA03975424A0EE 0x57B8D0D4 b323 - // + // inline int EndTextCommandThefeedPostTickerWithTokens(BOOL blink, BOOL p1) { return _i(0x378E809BF61EC840,blink, p1); } // 0x378E809BF61EC840 0x02BCAF9B b323 - // Shows an "award" notification above the minimap, example: https://i.imgur.com/e2DNaKX.png + // Shows an "award" notification above the minimap, example: https://i.imgur.com/e2DNaKX.png // Example: // // HUD::BeginTextCommandThefeedPost("HUNT"); // HUD::EndTextCommandThefeedPostAward("Hunting", "Hunting_Gold_128", 0, 109, "HUD_MED_UNLKED"); - inline int EndTextCommandThefeedPostAward(String textureDict, String textureName, int rpBonus, int colorOverlay, String titleLabel) { return _i(0xAA295B6F28BD587D,textureDict, textureName, rpBonus, colorOverlay, titleLabel); } // 0xAA295B6F28BD587D 0x02DED2B8 b323 - // + inline int EndTextCommandThefeedPostAward(const char* textureDict, const char* textureName, int rpBonus, int colorOverlay, const char* titleLabel) { return _i(0xAA295B6F28BD587D,textureDict, textureName, rpBonus, colorOverlay, titleLabel); } // 0xAA295B6F28BD587D 0x02DED2B8 b323 + // inline int EndTextCommandThefeedPostCrewtag(BOOL p0, BOOL p1, int* p2, int p3, BOOL isLeader, BOOL unk0, int clanDesc, int R, int G, int B) { return _i(0x97C9E4E7024A8F2C,p0, p1, p2, p3, isLeader, unk0, clanDesc, R, G, B); } // 0x97C9E4E7024A8F2C 0xA9CCEF66 b323 - // - inline int EndTextCommandThefeedPostCrewtagWithGameName(BOOL p0, BOOL p1, int* p2, int p3, BOOL isLeader, BOOL unk0, int clanDesc, String playerName, int R, int G, int B) { return _i(0x137BC35589E34E1E,p0, p1, p2, p3, isLeader, unk0, clanDesc, playerName, R, G, B); } // 0x137BC35589E34E1E 0x88B9B909 b323 - // - inline int EndTextCommandThefeedPostUnlock(String gxtLabel1, int p1, String gxtLabel2) { return _i(0x33EE12743CCD6343,gxtLabel1, p1, gxtLabel2); } // 0x33EE12743CCD6343 0xE05E7052 b323 - // - inline int EndTextCommandThefeedPostUnlockTu(String gxtLabel1, int p1, String gxtLabel2, int p3) { return _i(0xC8F3AAF93D0600BF,gxtLabel1, p1, gxtLabel2, p3); } // 0xC8F3AAF93D0600BF 0x4FA43BA4 b323 - // + // + inline int EndTextCommandThefeedPostCrewtagWithGameName(BOOL p0, BOOL p1, int* p2, int p3, BOOL isLeader, BOOL unk0, int clanDesc, const char* playerName, int R, int G, int B) { return _i(0x137BC35589E34E1E,p0, p1, p2, p3, isLeader, unk0, clanDesc, playerName, R, G, B); } // 0x137BC35589E34E1E 0x88B9B909 b323 + // + inline int EndTextCommandThefeedPostUnlock(const char* gxtLabel1, int p1, const char* gxtLabel2) { return _i(0x33EE12743CCD6343,gxtLabel1, p1, gxtLabel2); } // 0x33EE12743CCD6343 0xE05E7052 b323 + // + inline int EndTextCommandThefeedPostUnlockTu(const char* gxtLabel1, int p1, const char* gxtLabel2, int p3) { return _i(0xC8F3AAF93D0600BF,gxtLabel1, p1, gxtLabel2, p3); } // 0xC8F3AAF93D0600BF 0x4FA43BA4 b323 + // inline int EndTextCommandThefeedPostUnlockTuWithColor(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5) { return _i(0x7AE0589093A2E088,p0, p1, p2, p3, p4, p5); } // 0x7AE0589093A2E088 0x8C90D22F b323 - // + // inline int EndTextCommandThefeedPostMpticker(BOOL blink, BOOL p1) { return _i(0xF020C96915705B3A,blink, p1); } // 0xF020C96915705B3A 0x8E319AB8 b323 - // - inline int EndTextCommandThefeedPostCrewRankupWithLiteralFlag(String p0, String p1, String p2, BOOL p3, BOOL p4) { return _i(0x8EFCCF6EC66D85E4,p0, p1, p2, p3, p4); } // 0x8EFCCF6EC66D85E4 b323 - // This function can show pictures of every texture that can be requested by RequestStreamedTextureDict. + // + inline int EndTextCommandThefeedPostCrewRankupWithLiteralFlag(const char* p0, const char* p1, const char* p2, BOOL p3, BOOL p4) { return _i(0x8EFCCF6EC66D85E4,p0, p1, p2, p3, p4); } // 0x8EFCCF6EC66D85E4 b323 + // This function can show pictures of every texture that can be requested by RequestStreamedTextureDict. // // List of picNames: https://pastebin.com/XdpJVbHz // HUD colors and their values: https://pastebin.com/d9aHPbXN // // Shows a deathmatch score above the minimap, example: https://i.imgur.com/YmoMklG.png - inline int EndTextCommandThefeedPostVersusTu(String txdName1, String textureName1, int count1, String txdName2, String textureName2, int count2, int hudColor1, int hudColor2) { return _i(0xB6871B0555B02996,txdName1, textureName1, count1, txdName2, textureName2, count2, hudColor1, hudColor2); } // 0xB6871B0555B02996 0x5E93FBFA b323 - // returns a notification handle, prints out a notification like below: + inline int EndTextCommandThefeedPostVersusTu(const char* txdName1, const char* textureName1, int count1, const char* txdName2, const char* textureName2, int count2, int hudColor1, int hudColor2) { return _i(0xB6871B0555B02996,txdName1, textureName1, count1, txdName2, textureName2, count2, hudColor1, hudColor2); } // 0xB6871B0555B02996 0x5E93FBFA b323 + // 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::EndTextCommandThefeedPostReplay_INPUT(1, 20, "Who you trynna get crazy with, ese? Don't you know I'm LOCO?!"); // - https://imgur.com/lGBPCz3 - inline int EndTextCommandThefeedPostReplay(int type, int image, String text) { return _i(0xD202B92CBF1D816F,type, image, text); } // 0xD202B92CBF1D816F b323 - // returns a notification handle, prints out a notification like below: + inline int EndTextCommandThefeedPostReplay(int type, int image, const char* text) { return _i(0xD202B92CBF1D816F,type, image, text); } // 0xD202B92CBF1D816F b323 + // returns a notification handle, prints out a notification like below: // type range: 0 - 2 // if you set type to 1, button accepts "~INPUT_SOMETHING~" // @@ -5004,15 +5004,15 @@ namespace HUD // l_D1[1/*1*/]=HUD::EndTextCommandThefeedPostReplay_INPUT(1,"~INPUT_REPLAY_START_STOP_RECORDING~",""); // l_D1[2/*1*/]=HUD::EndTextCommandThefeedPostReplay_INPUT(1,"~INPUT_REPLAY_START_STOP_RECORDING_SECONDARY~",""); // - inline int EndTextCommandThefeedPostReplayInput(int type, String button, String text) { return _i(0xDD6CB2CCE7C2735C,type, button, text); } // 0xDD6CB2CCE7C2735C b323 - // void ShowSubtitle(const char *text) + inline int EndTextCommandThefeedPostReplayInput(int type, const char* button, const char* text) { return _i(0xDD6CB2CCE7C2735C,type, button, text); } // 0xDD6CB2CCE7C2735C b323 + // void ShowSubtitle(const char *text) // { // BeginTextCommandPrint("STRING"); // AddTextComponentSubstringPlayerName(text); // EndTextCommandPrint(2000, true); // } - inline Void BeginTextCommandPrint(String GxtEntry) { return _i(0xB87A37EEB7FAA67D,GxtEntry); } // 0xB87A37EEB7FAA67D 0xF42C43C7 b323 - // Draws the subtitle at middle center of the screen. + inline Void BeginTextCommandPrint(const char* GxtEntry) { return _i(0xB87A37EEB7FAA67D,GxtEntry); } // 0xB87A37EEB7FAA67D 0xF42C43C7 b323 + // Draws the subtitle at middle center of the screen. // // int duration = time in milliseconds to show text on screen before disappearing // @@ -5020,50 +5020,50 @@ namespace HUD // // Used to be known as _DRAW_SUBTITLE_TIMED inline Void EndTextCommandPrint(int duration, BOOL drawImmediately) { return _i(0x9D77056A530643F6,duration, drawImmediately); } // 0x9D77056A530643F6 0x38F82261 b323 - // nothin doin. + // nothin doin. // - // BOOL Message(String text) + // BOOL Message(const char* text) // { // BeginTextCommandIsMessageDisplayed("STRING"); // AddTextComponentSubstringPlayerName(text); // return EndTextCommandIsMessageDisplayed(); // } - inline Void BeginTextCommandIsMessageDisplayed(String text) { return _i(0x853648FD1063A213,text); } // 0x853648FD1063A213 0xDD524A11 b323 - // + inline Void BeginTextCommandIsMessageDisplayed(const char* text) { return _i(0x853648FD1063A213,text); } // 0x853648FD1063A213 0xDD524A11 b323 + // inline BOOL EndTextCommandIsMessageDisplayed() { return _i(0x8A9BA1AB3E237613); } // 0x8A9BA1AB3E237613 0x672EFB45 b323 - // The following were found in the decompiled script files: + // 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 - inline Void BeginTextCommandDisplayText(String text) { return _i(0x25FBB336DF1804CB,text); } // 0x25FBB336DF1804CB 0x3E35563E b323 - // 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. + inline Void BeginTextCommandDisplayText(const char* text) { return _i(0x25FBB336DF1804CB,text); } // 0x25FBB336DF1804CB 0x3E35563E b323 + // 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 inline Void EndTextCommandDisplayText(float x, float y, int p2) { return _i(0xCD015E5BB0D96A57,x, y, p2); } // 0xCD015E5BB0D96A57 0x6F8350CE b323 - // - inline Void BeginTextCommandGetScreenWidthOfDisplayText(String text) { return _i(0x54CE8AC98E120CAB,text); } // 0x54CE8AC98E120CAB 0x51E7A037 b323 - // + // + inline Void BeginTextCommandGetScreenWidthOfDisplayText(const char* text) { return _i(0x54CE8AC98E120CAB,text); } // 0x54CE8AC98E120CAB 0x51E7A037 b323 + // inline float EndTextCommandGetScreenWidthOfDisplayText(BOOL p0) { return _i(0x85F061DA64ED2F67,p0); } // 0x85F061DA64ED2F67 0xD12A643A b323 - // int GetLineCount(char *text, float x, float y) + // int GetLineCount(char *text, float x, float y) // { // BeginTextCommandGetNumberOfLinesForString("STRING"); // AddTextComponentSubstringPlayerName(text); // return BeginTextCommandGetNumberOfLinesForString(x, y); // } - inline Void BeginTextCommandGetNumberOfLinesForString(String entry) { return _i(0x521FB041D93DD0E4,entry); } // 0x521FB041D93DD0E4 0x94B82066 b323 - // Determines how many lines the text string will use when drawn on screen. + inline Void BeginTextCommandGetNumberOfLinesForString(const char* entry) { return _i(0x521FB041D93DD0E4,entry); } // 0x521FB041D93DD0E4 0x94B82066 b323 + // Determines how many lines the text string will use when drawn on screen. // Must use 0x521FB041D93DD0E4 for setting up inline int EndTextCommandGetNumberOfLinesForString(float x, float y) { return _i(0x9040DFB09BE75706,x, y); } // 0x9040DFB09BE75706 0xAA318785 b323 - // Used to be known as _SET_TEXT_COMPONENT_FORMAT - inline Void BeginTextCommandDisplayHelp(String inputType) { return _i(0x8509B634FBE7DA11,inputType); } // 0x8509B634FBE7DA11 0xB245FC10 b323 - // shape goes from -1 to 50 (may be more). + // Used to be known as _SET_TEXT_COMPONENT_FORMAT + inline Void BeginTextCommandDisplayHelp(const char* inputType) { return _i(0x8509B634FBE7DA11,inputType); } // 0x8509B634FBE7DA11 0xB245FC10 b323 + // shape goes from -1 to 50 (may be more). // p0 is always 0. // // Example: - // void FloatingHelpText(String text) + // void FloatingHelpText(const char* text) // { // BeginTextCommandDisplayHelp("STRING"); // AddTextComponentSubstringPlayerName(text); @@ -5078,67 +5078,67 @@ namespace HUD // // Used to be known as _DISPLAY_HELP_TEXT_FROM_STRING_LABEL inline Void EndTextCommandDisplayHelp(int p0, BOOL loop, BOOL beep, int shape) { return _i(0x238FFE5C7B0498A6,p0, loop, beep, shape); } // 0x238FFE5C7B0498A6 0xB59B530D b323 - // BOOL IsContextActive(char *ctx) + // BOOL IsContextActive(char *ctx) // { // BeginTextCommandIsThisHelpMessageBeingDisplayed(ctx); // return EndTextCommandIsThisHelpMessageBeingDisplayed(0); // } - inline Void BeginTextCommandIsThisHelpMessageBeingDisplayed(String labelName) { return _i(0xA24DA3A41B718F5,labelName); } // 0xA24DA3A41B718F5 0x00E20F2D b323 - // + inline Void BeginTextCommandIsThisHelpMessageBeingDisplayed(const char* labelName) { return _i(0xA24DA3A41B718F5,labelName); } // 0xA24DA3A41B718F5 0x00E20F2D b323 + // inline BOOL EndTextCommandIsThisHelpMessageBeingDisplayed(int p0) { return _i(0x10BDDBFC529428DD,p0); } // 0x10BDDBFC529428DD 0xF63A13EC b323 - // Starts a text command to change the name of a blip displayed in the pause menu. + // Starts a text command to change the name of a blip displayed in the pause menu. // This should be paired with `EndTextCommandSetBlipName`, once adding all required text components. // Example: // // HUD::BeginTextCommandSetBlipName("STRING"); // HUD::AddTextComponentSubstringPlayerName("Name"); // HUD::EndTextCommandSetBlipName(blip); - inline Void BeginTextCommandSetBlipName(String textLabel) { return _i(0xF9113A30DE5C6670,textLabel); } // 0xF9113A30DE5C6670 0xF4C211F6 b323 - // Finalizes a text command started with BeginTextCommandSetBlipName, setting the name of the specified blip. + inline Void BeginTextCommandSetBlipName(const char* textLabel) { return _i(0xF9113A30DE5C6670,textLabel); } // 0xF9113A30DE5C6670 0xF4C211F6 b323 + // Finalizes a text command started with BeginTextCommandSetBlipName, setting the name of the specified blip. inline Void EndTextCommandSetBlipName(Blip blip) { return _i(0xBC38B49BCB83BC9B,blip); } // 0xBC38B49BCB83BC9B 0xE8E59820 b323 - // - inline Void BeginTextCommandAddDirectlyToPreviousBriefs(String p0) { return _i(0x23D69E0465570028,p0); } // 0x23D69E0465570028 0x0E103475 b323 - // + // + inline Void BeginTextCommandAddDirectlyToPreviousBriefs(const char* p0) { return _i(0x23D69E0465570028,p0); } // 0x23D69E0465570028 0x0E103475 b323 + // inline Void EndTextCommandAddDirectlyToPreviousBriefs(BOOL p0) { return _i(0xCFDBDF5AE59BA0F4,p0); } // 0xCFDBDF5AE59BA0F4 0x2944A6C5 b323 - // clears a print text command with this text - inline Void BeginTextCommandClearPrint(String text) { return _i(0xE124FA80A759019C,text); } // 0xE124FA80A759019C 0x550665AE b323 - // + // clears a print text command with this text + inline Void BeginTextCommandClearPrint(const char* text) { return _i(0xE124FA80A759019C,text); } // 0xE124FA80A759019C 0x550665AE b323 + // inline Void EndTextCommandClearPrint() { return _i(0xFCC75460ABA29378); } // 0xFCC75460ABA29378 0x67785AF2 b323 - // - inline Void BeginTextCommandOverrideButtonText(String gxtEntry) { return _i(0x8F9EE5687F8EECCD,gxtEntry); } // 0x8F9EE5687F8EECCD 0xBF855650 b323 - // + // + inline Void BeginTextCommandOverrideButtonText(const char* gxtEntry) { return _i(0x8F9EE5687F8EECCD,gxtEntry); } // 0x8F9EE5687F8EECCD 0xBF855650 b323 + // inline Void EndTextCommandOverrideButtonText(int p0) { return _i(0xA86911979638106F,p0); } // 0xA86911979638106F 0x6E7FDA1C b323 - // + // inline Void AddTextComponentInteger(int value) { return _i(0x3B504CF259931BC,value); } // 0x3B504CF259931BC 0xFE272A57 b323 - // + // inline Void AddTextComponentFloat(float value, int decimalPlaces) { return _i(0xE7DCB5B874BCD96E,value, decimalPlaces); } // 0xE7DCB5B874BCD96E 0x24D78013 b323 - // - inline Void AddTextComponentSubstringTextLabel(String labelName) { return _i(0xC63CD5D2920ACBE7,labelName); } // 0xC63CD5D2920ACBE7 0xDCE05406 b323 - // It adds the localized text of the specified GXT entry name. Eg. if the argument is GetHashKey("ES_HELP"), adds "Continue". Just uses a text labels hash key + // + inline Void AddTextComponentSubstringTextLabel(const char* labelName) { return _i(0xC63CD5D2920ACBE7,labelName); } // 0xC63CD5D2920ACBE7 0xDCE05406 b323 + // It adds the localized text of the specified GXT entry name. Eg. if the argument is GetHashKey("ES_HELP"), adds "Continue". Just uses a text labels hash key inline Void AddTextComponentSubstringTextLabelHashKey(Hash gxtEntryHash) { return _i(0x17299B63C7683A2B,gxtEntryHash); } // 0x17299B63C7683A2B 0x150E03B6 b323 - // + // inline Void AddTextComponentSubstringBlipName(Blip blip) { return _i(0x80EAD8E2E1D5D52E,blip); } // 0x80EAD8E2E1D5D52E 0x5DE98F0A b323 - // - inline Void AddTextComponentSubstringPlayerName(String text) { return _i(0x6C188BE134E074AA,text); } // 0x6C188BE134E074AA 0x27A244D8 b323 - // Adds a timer (e.g. "00:00:00:000"). The appearance of the timer depends on the flags, which needs more research. + // + inline Void AddTextComponentSubstringPlayerName(const char* text) { return _i(0x6C188BE134E074AA,text); } // 0x6C188BE134E074AA 0x27A244D8 b323 + // Adds a timer (e.g. "00:00:00:000"). The appearance of the timer depends on the flags, which needs more research. inline Void AddTextComponentSubstringTime(int timestamp, int flags) { return _i(0x1115F16B8AB9E8BF,timestamp, flags); } // 0x1115F16B8AB9E8BF 0x135B3CD0 b323 - // + // inline Void AddTextComponentFormattedInteger(int value, BOOL commaSeparated) { return _i(0xE4C749FF9DE9CC4,value, commaSeparated); } // 0xE4C749FF9DE9CC4 0x12929BDF b323 - // p1 was always -1 - inline Void AddTextComponentSubstringPhoneNumber(String p0, int p1) { return _i(0x761B77454205A61D,p0, p1); } // 0x761B77454205A61D 0x65E1D404 b323 - // This native (along with AddTextComponentSubstringKeyboardDisplay and AddTextComponentSubstringPlayerName) do not actually filter anything. They simply add the provided text (as of 944) - inline Void AddTextComponentSubstringWebsite(String website) { return _i(0x94CF4AC034C9C986,website); } // 0x94CF4AC034C9C986 0xC736999E b323 - // - inline Void AddTextComponentSubstringKeyboardDisplay(String string) { return _i(0x5F68520888E69014,string); } // 0x5F68520888E69014 0x0829A799 b323 - // + // p1 was always -1 + inline Void AddTextComponentSubstringPhoneNumber(const char* p0, int p1) { return _i(0x761B77454205A61D,p0, p1); } // 0x761B77454205A61D 0x65E1D404 b323 + // This native (along with AddTextComponentSubstringKeyboardDisplay and AddTextComponentSubstringPlayerName) do not actually filter anything. They simply add the provided text (as of 944) + inline Void AddTextComponentSubstringWebsite(const char* website) { return _i(0x94CF4AC034C9C986,website); } // 0x94CF4AC034C9C986 0xC736999E b323 + // + inline Void AddTextComponentSubstringKeyboardDisplay(const char* string) { return _i(0x5F68520888E69014,string); } // 0x5F68520888E69014 0x0829A799 b323 + // inline Void SetColourOfNextTextComponent(int hudColor) { return _i(0x39BBF623FC803EAC,hudColor); } // 0x39BBF623FC803EAC 0x6F1A1901 b323 - // Returns a substring of a specified length starting at a specified position. + // Returns a substring of a specified length starting at a specified position. // // Example: // // Get "STRING" text from "MY_STRING" // subStr = HUD::GetCharacterFromAudioConversationFilename("MY_STRING", 3, 6); - inline String GetCharacterFromAudioConversationFilename(String text, int position, int length) { return _i(0x169BD9382084C8C0,text, position, length); } // 0x169BD9382084C8C0 0x34A396EE b323 - // Returns a substring of a specified length starting at a specified position. The result is guaranteed not to exceed the specified max length. + inline const char* GetCharacterFromAudioConversationFilename(const char* text, int position, int length) { return _i(0x169BD9382084C8C0,text, position, length); } // 0x169BD9382084C8C0 0x34A396EE b323 + // 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 // @@ -5159,225 +5159,225 @@ namespace HUD // } // return TRUE; // } - inline String GetCharacterFromAudioConversationFilenameWithByteLimit(String text, int position, int length, int maxLength) { return _i(0xB2798643312205C5,text, position, length, maxLength); } // 0xB2798643312205C5 0x0183A66C b323 - // Returns a substring that is between two specified positions. The length of the string will be calculated using (endPosition - startPosition). + inline const char* GetCharacterFromAudioConversationFilenameWithByteLimit(const char* text, int position, int length, int maxLength) { return _i(0xB2798643312205C5,text, position, length, maxLength); } // 0xB2798643312205C5 0x0183A66C b323 + // 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::GetCharacterFromAudioConversationFilename_BYTES("MY_STRING", 3, 9); // // Overflows are possibly replaced with underscores (needs verification) // subStr = HUD::GetCharacterFromAudioConversationFilename_BYTES("MY_STRING", 3, 10); // "STRING_"? - inline String GetCharacterFromAudioConversationFilenameBytes(String text, int startPosition, int endPosition) { return _i(0xCE94AEBA5D82908A,text, startPosition, endPosition); } // 0xCE94AEBA5D82908A 0xFA6373BB b323 - // Gets a localized string literal from a label name. Can be used for output of e.g. VEHICLE::GetLiveryName. To check if a GXT label can be localized with this, HUD::DoesTextLabelExist can be used. - inline String GetFilenameForAudioConversation(String labelName) { return _i(0x7B5280EBA9840C72,labelName); } // 0x7B5280EBA9840C72 0x95C4B5AD b323 - // + inline const char* GetCharacterFromAudioConversationFilenameBytes(const char* text, int startPosition, int endPosition) { return _i(0xCE94AEBA5D82908A,text, startPosition, endPosition); } // 0xCE94AEBA5D82908A 0xFA6373BB b323 + // Gets a localized string literal from a label name. Can be used for output of e.g. VEHICLE::GetLiveryName. To check if a GXT label can be localized with this, HUD::DoesTextLabelExist can be used. + inline const char* GetFilenameForAudioConversation(const char* labelName) { return _i(0x7B5280EBA9840C72,labelName); } // 0x7B5280EBA9840C72 0x95C4B5AD b323 + // inline Void ClearPrints() { return _i(0xCC33FA791322B9D9); } // 0xCC33FA791322B9D9 0x216CB1C5 b323 - // + // inline Void ClearBrief() { return _i(0x9D292F73ADBD9313); } // 0x9D292F73ADBD9313 0x9F75A929 b323 - // + // inline Void ClearAllHelpMessages() { return _i(0x6178F68A87A4D3A0); } // 0x6178F68A87A4D3A0 0x9E5D9198 b323 - // p0: found arguments in the b617d scripts: https://pastebin.com/X5akCN7z - inline Void ClearThisPrint(String p0) { return _i(0xCF708001E1E536DD,p0); } // 0xCF708001E1E536DD 0x06878327 b323 - // + // p0: found arguments in the b617d scripts: https://pastebin.com/X5akCN7z + inline Void ClearThisPrint(const char* p0) { return _i(0xCF708001E1E536DD,p0); } // 0xCF708001E1E536DD 0x06878327 b323 + // inline Void ClearSmallPrints() { return _i(0x2CEA2839313C09AC); } // 0x2CEA2839313C09AC 0xA869A238 b323 - // - inline BOOL DoesTextBlockExist(String gxt) { return _i(0x1C7302E725259789,gxt); } // 0x1C7302E725259789 0x96F74838 b323 - // Request a gxt into the passed slot. - inline Void RequestAdditionalText(String gxt, int slot) { return _i(0x71A78003C8E71424,gxt, slot); } // 0x71A78003C8E71424 0x9FA9175B b323 - // - inline Void RequestAdditionalTextForDlc(String gxt, int slot) { return _i(0x6009F9F1AE90D8A6,gxt, slot); } // 0x6009F9F1AE90D8A6 0xF4D27EBE b323 - // + // + inline BOOL DoesTextBlockExist(const char* gxt) { return _i(0x1C7302E725259789,gxt); } // 0x1C7302E725259789 0x96F74838 b323 + // Request a gxt into the passed slot. + inline Void RequestAdditionalText(const char* gxt, int slot) { return _i(0x71A78003C8E71424,gxt, slot); } // 0x71A78003C8E71424 0x9FA9175B b323 + // + inline Void RequestAdditionalTextForDlc(const char* gxt, int slot) { return _i(0x6009F9F1AE90D8A6,gxt, slot); } // 0x6009F9F1AE90D8A6 0xF4D27EBE b323 + // inline BOOL HasAdditionalTextLoaded(int slot) { return _i(0x2245FE4BED318B8,slot); } // 0x2245FE4BED318B8 0xB0E56045 b323 - // + // inline Void ClearAdditionalText(int p0, BOOL p1) { return _i(0x2A179DF17CCF04CD,p0, p1); } // 0x2A179DF17CCF04CD 0x518141E0 b323 - // + // inline BOOL IsStreamingAdditionalText(int p0) { return _i(0x8B6817B71B85EBF0,p0); } // 0x8B6817B71B85EBF0 0xF079E4EB b323 - // Checks if the specified gxt has loaded into the passed slot. - inline BOOL HasThisAdditionalTextLoaded(String gxt, int slot) { return _i(0xADBF060E2B30C5BC,gxt, slot); } // 0xADBF060E2B30C5BC 0x80A52040 b323 - // + // Checks if the specified gxt has loaded into the passed slot. + inline BOOL HasThisAdditionalTextLoaded(const char* gxt, int slot) { return _i(0xADBF060E2B30C5BC,gxt, slot); } // 0xADBF060E2B30C5BC 0x80A52040 b323 + // inline BOOL IsMessageBeingDisplayed() { return _i(0x7984C03AA5CC2F41); } // 0x7984C03AA5CC2F41 0x6A77FE8D b323 - // Checks if the passed gxt name exists in the game files. - inline BOOL DoesTextLabelExist(String gxt) { return _i(0xAC09CA973C564252,gxt); } // 0xAC09CA973C564252 0x6ECAE560 b323 - // - inline String GetFirstNCharactersOfLiteralString(String string, int length) { return _i(0x98C3CF913D895111,string, length); } // 0x98C3CF913D895111 b505 - // Returns the string length of the string from the gxt string . - inline int GetLengthOfStringWithThisTextLabel(String gxt) { return _i(0x801BD273D3A23F74,gxt); } // 0x801BD273D3A23F74 0xA4CA7BE5 b323 - // Returns the length of the string passed (much like strlen). - inline int GetLengthOfLiteralString(String string) { return _i(0xF030907CCBB8A9FD,string); } // 0xF030907CCBB8A9FD 0x99379D55 b323 - // - inline int GetLengthOfLiteralStringInBytes(String string) { return _i(0x43E4111189E54F0E,string); } // 0x43E4111189E54F0E 0x7DBC0764 b323 - // This functions converts the hash of a street name into a readable string. + // Checks if the passed gxt name exists in the game files. + inline BOOL DoesTextLabelExist(const char* gxt) { return _i(0xAC09CA973C564252,gxt); } // 0xAC09CA973C564252 0x6ECAE560 b323 + // + inline const char* GetFirstNCharactersOfLiteralString(const char* string, int length) { return _i(0x98C3CF913D895111,string, length); } // 0x98C3CF913D895111 b505 + // Returns the string length of the string from the gxt string . + inline int GetLengthOfStringWithThisTextLabel(const char* gxt) { return _i(0x801BD273D3A23F74,gxt); } // 0x801BD273D3A23F74 0xA4CA7BE5 b323 + // Returns the length of the string passed (much like strlen). + inline int GetLengthOfLiteralString(const char* string) { return _i(0xF030907CCBB8A9FD,string); } // 0xF030907CCBB8A9FD 0x99379D55 b323 + // + inline int GetLengthOfLiteralStringInBytes(const char* string) { return _i(0x43E4111189E54F0E,string); } // 0x43E4111189E54F0E 0x7DBC0764 b323 + // This functions converts the hash of a street name into a readable string. // // For how to get the hashes, see PATHFIND::GetStreetNameAtCoord. - inline String GetStreetNameFromHashKey(Hash hash) { return _i(0xD0EF8A959B8A4CB9,hash); } // 0xD0EF8A959B8A4CB9 0x1E8E310C b323 - // + inline const char* GetStreetNameFromHashKey(Hash hash) { return _i(0xD0EF8A959B8A4CB9,hash); } // 0xD0EF8A959B8A4CB9 0x1E8E310C b323 + // inline BOOL IsHudPreferenceSwitchedOn() { return _i(0x1930DFA731813EC4); } // 0x1930DFA731813EC4 0xC3BC1B4F b323 - // + // inline BOOL IsRadarPreferenceSwitchedOn() { return _i(0x9EB6522EA68F22FE); } // 0x9EB6522EA68F22FE 0x14AEAA28 b323 - // + // inline BOOL IsSubtitlePreferenceSwitchedOn() { return _i(0xAD6DACA4BA53E0A4); } // 0xAD6DACA4BA53E0A4 0x63BA19F5 b323 - // If Hud should be displayed + // If Hud should be displayed inline Void DisplayHud(BOOL toggle) { return _i(0xA6294919E56FF02A,toggle); } // 0xA6294919E56FF02A 0xD10E4E31 b323 - // Enables drawing some hud components, such as help labels, this frame, when the player is dead. + // Enables drawing some hud components, such as help labels, this frame, when the player is dead. inline Void DisplayHudWhenNotInStateOfPlayThisFrame() { return _i(0x7669F9E39DC17063); } // 0x7669F9E39DC17063 0xC380AC85 b323 - // + // inline Void DisplayHudWhenPausedThisFrame() { return _i(0x402F9ED62087E898); } // 0x402F9ED62087E898 0xC47AB1B0 b323 - // If Minimap / Radar should be displayed. + // If Minimap / Radar should be displayed. inline Void DisplayRadar(BOOL toggle) { return _i(0xA0EBB943C300E693,toggle); } // 0xA0EBB943C300E693 0x52816BD4 b323 - // Setter for GetFakeSpectatorMode + // Setter for GetFakeSpectatorMode inline Void SetFakeSpectatorMode(BOOL toggle) { return _i(0xCD74233600C4EA6B,toggle); } // 0xCD74233600C4EA6B b505 - // Getter for SetFakeSpectatorMode + // Getter for SetFakeSpectatorMode inline BOOL GetFakeSpectatorMode() { return _i(0xC2D2AD9EAAE265B8); } // 0xC2D2AD9EAAE265B8 b505 - // + // inline BOOL IsHudHidden() { return _i(0xA86478C6958735C5); } // 0xA86478C6958735C5 0x40BADA1D b323 - // + // inline BOOL IsRadarHidden() { return _i(0x157F93B036700462); } // 0x157F93B036700462 0x1AB3B954 b323 - // + // inline BOOL IsMinimapRendering() { return _i(0xAF754F20EB5CD51A); } // 0xAF754F20EB5CD51A 0x9CD18314 b323 - // + // inline Void UseVehicleTargetingReticule(Any p0) { return _i(0xC698D8F099174C7,p0); } // 0xC698D8F099174C7 b1180 - // + // inline Void UseVehicleTargetingReticuleOnVehicles(BOOL enable) { return _i(0x1BC0EA2912708625,enable); } // 0x1BC0EA2912708625 b3095 - // + // inline Void AddValidVehicleHitHash(Any p0) { return _i(0xE4C3B169876D33D7,p0); } // 0xE4C3B169876D33D7 b1290 - // + // inline Void ClearValidVehicleHitHashes() { return _i(0xEB81A3DADD503187); } // 0xEB81A3DADD503187 b1290 - // Enable / disable showing route for the Blip-object. + // Enable / disable showing route for the Blip-object. inline Void SetBlipRoute(Blip blip, BOOL enabled) { return _i(0x4F7D8A9BFB0B43E9,blip, enabled); } // 0x4F7D8A9BFB0B43E9 0x3E160C90 b323 - // + // inline Void ClearAllBlipRoutes() { return _i(0xD12882D3FF82BF11); } // 0xD12882D3FF82BF11 b877 - // + // inline Void SetBlipRouteColour(Blip blip, int colour) { return _i(0x837155CD2F63DA09,blip, colour); } // 0x837155CD2F63DA09 0xDDE7C65C b323 - // + // inline Void SetForceShowGps(BOOL toggle) { return _i(0x2790F4B17D098E26,toggle); } // 0x2790F4B17D098E26 b573 - // + // inline Void SetUseSetDestinationInPauseMap(BOOL toggle) { return _i(0x6CDD58146A436083,toggle); } // 0x6CDD58146A436083 b573 - // + // inline Void SetBlockWantedFlash(BOOL disabled) { return _i(0xD1942374085C8469,disabled); } // 0xD1942374085C8469 b505 - // + // inline Void AddNextMessageToPreviousBriefs(BOOL p0) { return _i(0x60296AF4BA14ABC5,p0); } // 0x60296AF4BA14ABC5 0xB58B25BD b323 - // + // inline Void ForceNextMessageToPreviousBriefsList(int p0) { return _i(0x57D760D55F54E071,p0); } // 0x57D760D55F54E071 0x9854485F b323 - // zoom ranges from 0 to 90f in R* Scripts + // zoom ranges from 0 to 90f in R* Scripts inline Void SetRadarZoomPrecise(float zoom) { return _i(0xBD12C5EEE184C337,zoom); } // 0xBD12C5EEE184C337 0xDCA3F423 b323 - // zoomLevel ranges from 0 to 1400 in R* Scripts + // zoomLevel ranges from 0 to 1400 in R* Scripts inline Void SetRadarZoom(int zoomLevel) { return _i(0x96EF57A0C999BBA,zoomLevel); } // 0x96EF57A0C999BBA 0x2A50D1A6 b323 - // + // inline Void SetRadarZoomToBlip(Blip blip, float zoom) { return _i(0xF98E4B3E56AFC7B1,blip, zoom); } // 0xF98E4B3E56AFC7B1 0x25EC28C0 b323 - // + // inline Void SetRadarZoomToDistance(float zoom) { return _i(0xCB7CC0D58405AD41,zoom); } // 0xCB7CC0D58405AD41 0x09CF1CE5 b323 - // Does nothing (it's a nullsub). + // Does nothing (it's a nullsub). inline Void UpdateRadarZoomToBlip() { return _i(0xD2049635DEB9C375); } // 0xD2049635DEB9C375 0xE8D3A910 b323 - // + // inline Void GetHudColour(int hudColorIndex, int* r, int* g, int* b, int* a) { return _i(0x7C9C91AB74A0360F,hudColorIndex, r, g, b, a); } // 0x7C9C91AB74A0360F 0x63F66A0B b323 - // Sets the color of HUD_COLOUR_SCRIPT_VARIABLE + // Sets the color of HUD_COLOUR_SCRIPT_VARIABLE inline Void SetScriptVariableHudColour(int r, int g, int b, int a) { return _i(0xD68A5FF8A3A89874,r, g, b, a); } // 0xD68A5FF8A3A89874 0x0E41E45C b323 - // Sets the color of HUD_COLOUR_SCRIPT_VARIABLE_2 + // Sets the color of HUD_COLOUR_SCRIPT_VARIABLE_2 inline Void SetSecondScriptVariableHudColour(int r, int g, int b, int a) { return _i(0x16A304E6CB2BFAB9,r, g, b, a); } // 0x16A304E6CB2BFAB9 0x6BE3ACA8 b323 - // makes hudColorIndex2 color into hudColorIndex color + // makes hudColorIndex2 color into hudColorIndex color inline Void ReplaceHudColour(int hudColorIndex, int hudColorIndex2) { return _i(0x1CCC708F0F850613,hudColorIndex, hudColorIndex2); } // 0x1CCC708F0F850613 0x3B216749 b323 - // + // inline Void ReplaceHudColourWithRgba(int hudColorIndex, int r, int g, int b, int a) { return _i(0xF314CF4F0211894E,hudColorIndex, r, g, b, a); } // 0xF314CF4F0211894E 0xF6E7E92B b323 - // + // inline Void SetAbilityBarVisibility(BOOL visible) { return _i(0x1DFEDD15019315A9,visible); } // 0x1DFEDD15019315A9 b1493 - // + // inline Void SetAllowAbilityBar(BOOL toggle) { return _i(0x889329C80FE5963C,toggle); } // 0x889329C80FE5963C b1868 - // + // inline Void FlashAbilityBar(int millisecondsToFlash) { return _i(0x2CFBA0C9E9275CE,millisecondsToFlash); } // 0x2CFBA0C9E9275CE 0x3648960D b323 - // + // inline Void SetAbilityBarValue(float p0, float p1) { return _i(0x9969599CCFF5D85E,p0, p1); } // 0x9969599CCFF5D85E 0x24E53FD8 b323 - // + // inline Void FlashWantedDisplay(BOOL p0) { return _i(0xA18AFB39081B6A1F,p0); } // 0xA18AFB39081B6A1F 0x629F866B b323 - // + // inline Void ForceOffWantedStarFlash(BOOL toggle) { return _i(0xBA8D65C1C65702E5,toggle); } // 0xBA8D65C1C65702E5 0x58612465 b323 - // + // inline Void SetCustomMpHudColor(int hudColorId) { return _i(0x2ACCB195F3CCD9DE,hudColorId); } // 0x2ACCB195F3CCD9DE b2545 - // This gets 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. + // This gets 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. inline float GetRenderedCharacterHeight(float size, int font) { return _i(0xDB88A37483346780,size, font); } // 0xDB88A37483346780 0x3330175B b323 - // Size range : 0F to 1.0F + // 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. inline Void SetTextScale(float scale, float size) { return _i(0x7C837F9A01C34C9,scale, size); } // 0x7C837F9A01C34C9 0xB6E15B23 b323 - // colors you input not same as you think? + // colors you input not same as you think? // A: for some reason its R B G A inline Void SetTextColour(int red, int green, int blue, int alpha) { return _i(0xBE6B23FFA53FB442,red, green, blue, alpha); } // 0xBE6B23FFA53FB442 0xE54DD2C8 b323 - // + // inline Void SetTextCentre(BOOL align) { return _i(0xC02F4DBFB51D988B,align); } // 0xC02F4DBFB51D988B 0xE26D39A1 b323 - // + // inline Void SetTextRightJustify(BOOL toggle) { return _i(0x6B3C4650BC8BEE47,toggle); } // 0x6B3C4650BC8BEE47 0x45B60520 b323 - // Types - + // Types - // 0: Center-Justify // 1: Left-Justify // 2: Right-Justify // // Right-Justify requires SetTextWrap, otherwise it will draw to the far right of the screen inline Void SetTextJustification(int justifyType) { return _i(0x4E096588B13FFECA,justifyType); } // 0x4E096588B13FFECA 0x68CDFA60 b323 - // + // inline Void SetTextLineHeightMult(float lineHeightMult) { return _i(0x9F4624F76E6953D1,lineHeightMult); } // 0x9F4624F76E6953D1 b3095 - // 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. + // 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) inline Void SetTextWrap(float start, float end) { return _i(0x63145D9C883A1A70,start, end); } // 0x63145D9C883A1A70 0x6F60AB54 b323 - // + // inline Void SetTextLeading(int p0) { return _i(0xA50ABC31E3CDFAFF,p0); } // 0xA50ABC31E3CDFAFF 0x98CE21D4 b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void SetTextProportional(BOOL p0) { return _i(0x38C1F517D7FDCF8,p0); } // 0x38C1F517D7FDCF8 0xF49D8A08 b323 - // fonts that mess up your text where made for number values/misc stuff + // fonts that mess up your text where made for number values/misc stuff inline Void SetTextFont(int fontType) { return _i(0x66E0276CC5F6B9DA,fontType); } // 0x66E0276CC5F6B9DA 0x80BC530D b323 - // + // inline Void SetTextDropShadow() { return _i(0x1CA3E9EAC9D93E5E); } // 0x1CA3E9EAC9D93E5E 0xE2A11511 b323 - // distance - shadow distance in pixels, both horizontal and vertical + // distance - shadow distance in pixels, both horizontal and vertical // r, g, b, a - color inline Void SetTextDropshadow(int distance, int r, int g, int b, int a) { return _i(0x465C84BC39F1C351,distance, r, g, b, a); } // 0x465C84BC39F1C351 0xE6587517 b323 - // + // inline Void SetTextOutline() { return _i(0x2513DFB0FB8400FE); } // 0x2513DFB0FB8400FE 0xC753412F b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void SetTextEdge(int p0, int r, int g, int b, int a) { return _i(0x441603240D202FA6,p0, r, g, b, a); } // 0x441603240D202FA6 0x3F1A5DAB b323 - // + // inline Void SetTextRenderId(int renderId) { return _i(0x5F15302936E07111,renderId); } // 0x5F15302936E07111 0xC5C3B7F3 b323 - // This function is hard-coded to always return 1. + // This function is hard-coded to always return 1. inline int GetDefaultScriptRendertargetRenderId() { return _i(0x52F0982D7FD156B6); } // 0x52F0982D7FD156B6 0x8188935F b323 - // - inline BOOL RegisterNamedRendertarget(String name, BOOL p1) { return _i(0x57D9C12635E25CE3,name, p1); } // 0x57D9C12635E25CE3 0xFAE5D6F0 b323 - // - inline BOOL IsNamedRendertargetRegistered(String name) { return _i(0x78DCDC15C9F116B4,name); } // 0x78DCDC15C9F116B4 0x284057F5 b323 - // - inline BOOL ReleaseNamedRendertarget(String name) { return _i(0xE9F6FFE837354DD4,name); } // 0xE9F6FFE837354DD4 0xD3F6C892 b323 - // + // + inline BOOL RegisterNamedRendertarget(const char* name, BOOL p1) { return _i(0x57D9C12635E25CE3,name, p1); } // 0x57D9C12635E25CE3 0xFAE5D6F0 b323 + // + inline BOOL IsNamedRendertargetRegistered(const char* name) { return _i(0x78DCDC15C9F116B4,name); } // 0x78DCDC15C9F116B4 0x284057F5 b323 + // + inline BOOL ReleaseNamedRendertarget(const char* name) { return _i(0xE9F6FFE837354DD4,name); } // 0xE9F6FFE837354DD4 0xD3F6C892 b323 + // inline Void LinkNamedRendertarget(Hash modelHash) { return _i(0xF6C09E276AEB3F2D,modelHash); } // 0xF6C09E276AEB3F2D 0x6844C4B9 b323 - // - inline int GetNamedRendertargetRenderId(String name) { return _i(0x1A6478B61C6BDC3B,name); } // 0x1A6478B61C6BDC3B 0xF9D7A401 b323 - // + // + inline int GetNamedRendertargetRenderId(const char* name) { return _i(0x1A6478B61C6BDC3B,name); } // 0x1A6478B61C6BDC3B 0xF9D7A401 b323 + // inline BOOL IsNamedRendertargetLinked(Hash modelHash) { return _i(0x113750538FA31298,modelHash); } // 0x113750538FA31298 0x8B52601F b323 - // + // inline Void ClearHelp(BOOL toggle) { return _i(0x8DFCED7A656F8802,toggle); } // 0x8DFCED7A656F8802 0xE6D85741 b323 - // + // inline BOOL IsHelpMessageOnScreen() { return _i(0xDAD37F45428801AE); } // 0xDAD37F45428801AE 0x4B3C9CA9 b323 - // + // inline BOOL HasScriptHiddenHelpThisFrame() { return _i(0x214CD562A939246A); } // 0x214CD562A939246A 0x812CBE0E b323 - // + // inline BOOL IsHelpMessageBeingDisplayed() { return _i(0x4D79439A6B55AC67); } // 0x4D79439A6B55AC67 0xA65F262A b323 - // + // inline BOOL IsHelpMessageFadingOut() { return _i(0x327EDEEEAC55C369); } // 0x327EDEEEAC55C369 0x3E50AE92 b323 - // + // inline Void SetHelpMessageStyle(int style, int hudColor, int alpha, int p3, int p4) { return _i(0xB9C362BABECDDC7A,style, hudColor, alpha, p3, p4); } // 0xB9C362BABECDDC7A b463 - // + // inline int GetStandardBlipEnumId() { return _i(0x4A9923385BDB9DAD); } // 0x4A9923385BDB9DAD 0x87871CE0 b323 - // + // inline int GetWaypointBlipEnumId() { return _i(0x186E5D252FA50E7D); } // 0x186E5D252FA50E7D 0xB9827942 b323 - // + // inline int GetNumberOfActiveBlips() { return _i(0x9A3FF3DE163034E8); } // 0x9A3FF3DE163034E8 0x144020FA b323 - // + // inline Blip GetNextBlipInfoId(int blipSprite) { return _i(0x14F96AA50D6FBEA7,blipSprite); } // 0x14F96AA50D6FBEA7 0x9356E92F b323 - // + // inline Blip GetFirstBlipInfoId(int blipSprite) { return _i(0x1BEDE233E6CD2A1F,blipSprite); } // 0x1BEDE233E6CD2A1F 0x64C0273D b323 - // + // inline Blip GetClosestBlipInfoId(int blipSprite) { return _i(0xD484BF71050CA1EE,blipSprite); } // 0xD484BF71050CA1EE b1180 - // + // inline Vector3 GetBlipInfoIdCoord(Blip blip) { return _i(0xFA7C7F0AADF25D09,blip); } // 0xFA7C7F0AADF25D09 0xB7374A66 b323 - // + // inline int GetBlipInfoIdDisplay(Blip blip) { return _i(0x1E314167F701DC3B,blip); } // 0x1E314167F701DC3B 0xD0FC19F4 b323 - // Returns a value based on what the blip is attached to + // Returns a value based on what the blip is attached to // 1 - Vehicle // 2 - Ped // 3 - Object @@ -5386,15 +5386,15 @@ namespace HUD // 6 - Pickup // 7 - Radius inline int GetBlipInfoIdType(Blip blip) { return _i(0xBE9B0959FFD0779B,blip); } // 0xBE9B0959FFD0779B 0x501D7B4E b323 - // + // inline Entity GetBlipInfoIdEntityIndex(Blip blip) { return _i(0x4BA4E2553AFEDC2C,blip); } // 0x4BA4E2553AFEDC2C 0xA068C40B b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline Pickup GetBlipInfoIdPickupIndex(Blip blip) { return _i(0x9B6786E4C03DD382,blip); } // 0x9B6786E4C03DD382 0x86913D37 b323 - // Returns the Blip handle of given Entity. + // Returns the Blip handle of given Entity. inline Blip GetBlipFromEntity(Entity entity) { return _i(0xBC8DBDCA2436F7E8,entity); } // 0xBC8DBDCA2436F7E8 0x005A2A47 b323 - // + // inline Blip AddBlipForRadius(float posX, float posY, float posZ, float radius) { return _i(0x46818D79B1F7499A,posX, posY, posZ, radius); } // 0x46818D79B1F7499A 0x4626756C b323 - // Adds a rectangular blip for the specified coordinates/area. + // Adds a rectangular blip for the specified coordinates/area. // // It is recommended to use SetBlipRotation and SetBlipColour to make the blip not rotate along with the camera. // @@ -5406,26 +5406,26 @@ namespace HUD // // (Native name is _likely_ to actually be AddBlipForArea, but due to the usual reasons this can't be confirmed) inline Blip AddBlipForArea(float x, float y, float z, float width, float height) { return _i(0xCE5D0E5E315DB238,x, y, z, width, height); } // 0xCE5D0E5E315DB238 b463 - // Returns red ( default ) blip attached to entity. + // Returns red ( default ) blip attached to entity. // // Example: // Blip blip; //Put this outside your case or option // blip = HUD::AddBlipForEntity(YourPedOrBodyguardName); // HUD::SetBlipAsFriendly(blip, true); inline Blip AddBlipForEntity(Entity entity) { return _i(0x5CDE92C702A8FCE7,entity); } // 0x5CDE92C702A8FCE7 0x30822554 b323 - // + // inline Blip AddBlipForPickup(Pickup pickup) { return _i(0xBE339365C863BD36,pickup); } // 0xBE339365C863BD36 0x16693C3A b323 - // Creates an orange ( default ) Blip-object. Returns a Blip-object which can then be modified. + // Creates an orange ( default ) Blip-object. Returns a Blip-object which can then be modified. inline Blip AddBlipForCoord(float x, float y, float z) { return _i(0x5A039BB0BCA604B6,x, y, z); } // 0x5A039BB0BCA604B6 0xC6F43D0E b323 - // + // inline Void TriggerSonarBlip(float posX, float posY, float posZ, float radius, int p4) { return _i(0x72DD432F3CDFC0EE,posX, posY, posZ, radius, p4); } // 0x72DD432F3CDFC0EE 0xBF25E7B2 b323 - // + // inline Void AllowSonarBlips(BOOL toggle) { return _i(0x60734CC207C9833C,toggle); } // 0x60734CC207C9833C 0xE7E1E32B b323 - // + // inline Void SetBlipCoords(Blip blip, float posX, float posY, float posZ) { return _i(0xAE2AF67E9D9AF65D,blip, posX, posY, posZ); } // 0xAE2AF67E9D9AF65D 0x680A34D4 b323 - // + // inline Vector3 GetBlipCoords(Blip blip) { return _i(0x586AFE3FF72D996E,blip); } // 0x586AFE3FF72D996E 0xEF6FF47B b323 - // Sets the displayed sprite for a specific blip.. + // 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 // https://pastebin.com/Bpj9Sfft @@ -5433,18 +5433,18 @@ namespace HUD // Blips Images + IDs: // https://gtaxscripting.blogspot.com/2016/05/gta-v-blips-id-and-image.html inline Void SetBlipSprite(Blip blip, int spriteId) { return _i(0xDF735600A4696DAF,blip, spriteId); } // 0xDF735600A4696DAF 0x8DBBB0B9 b323 - // Blips Images + IDs: + // Blips Images + IDs: // gtaxscripting.blogspot.com/2016/05/gta-v-blips-id-and-image.html inline int GetBlipSprite(Blip blip) { return _i(0x1FC877464A04FC4F,blip); } // 0x1FC877464A04FC4F 0x72FF2E73 b323 - // + // inline Void SetCopBlipSprite(int p0, float p1) { return _i(0x9FCB3CBFB3EAD69A,p0, p1); } // 0x9FCB3CBFB3EAD69A b1734 - // + // inline Void SetCopBlipSpriteAsStandard() { return _i(0xB7B873520C84C118); } // 0xB7B873520C84C118 b1734 - // Doesn't work if the label text of gxtEntry is >= 80. - inline Void SetBlipNameFromTextFile(Blip blip, String gxtEntry) { return _i(0xEAA0FFE120D92784,blip, gxtEntry); } // 0xEAA0FFE120D92784 0xAC8A5461 b323 - // + // Doesn't work if the label text of gxtEntry is >= 80. + inline Void SetBlipNameFromTextFile(Blip blip, const char* gxtEntry) { return _i(0xEAA0FFE120D92784,blip, gxtEntry); } // 0xEAA0FFE120D92784 0xAC8A5461 b323 + // inline Void SetBlipNameToPlayerName(Blip blip, Player player) { return _i(0x127DE7B20C60A6A3,blip, player); } // 0x127DE7B20C60A6A3 0x03A0B8F9 b323 - // Sets alpha-channel for blip color. + // Sets alpha-channel for blip color. // // Example: // @@ -5453,71 +5453,71 @@ namespace HUD // HUD::SetBlipAlpha(blip , 64); // inline Void SetBlipAlpha(Blip blip, int alpha) { return _i(0x45FF974EEE1C8734,blip, alpha); } // 0x45FF974EEE1C8734 0xA791FCCD b323 - // + // inline int GetBlipAlpha(Blip blip) { return _i(0x970F608F0EE6C885,blip); } // 0x970F608F0EE6C885 0x297AF6C8 b323 - // + // inline Void SetBlipFade(Blip blip, int opacity, int duration) { return _i(0x2AEE8F8390D2298C,blip, opacity, duration); } // 0x2AEE8F8390D2298C 0xA5999031 b323 - // Returns -1, 0, +1, depending on if the blip is fading out, doing nothing, or fading in respectively. + // Returns -1, 0, +1, depending on if the blip is fading out, doing nothing, or fading in respectively. inline int GetBlipFadeDirection(Blip blip) { return _i(0x2C173AE2BDB9385E,blip); } // 0x2C173AE2BDB9385E b463 - // After some testing, looks like you need to use Ceil() on the rotation (vehicle/ped heading) before using it there. + // After some testing, looks like you need to use Ceil() on the rotation (vehicle/ped heading) before using it there. inline Void SetBlipRotation(Blip blip, int rotation) { return _i(0xF87683CDF73C3F6E,blip, rotation); } // 0xF87683CDF73C3F6E 0x6B8F44FE b323 - // Does not require whole number/integer rotations. + // Does not require whole number/integer rotations. inline Void SetBlipRotationWithFloat(Blip blip, float heading) { return _i(0xA8B6AFDAC320AC87,blip, heading); } // 0xA8B6AFDAC320AC87 b877 - // + // inline int GetBlipRotation(Blip blip) { return _i(0x3E92BA477F9D7F,blip); } // 0x3E92BA477F9D7F b2060 - // Adds up after viewing multiple R* scripts. I believe that the duration is in miliseconds. + // Adds up after viewing multiple R* scripts. I believe that the duration is in miliseconds. inline Void SetBlipFlashTimer(Blip blip, int duration) { return _i(0xD3CD6FD297AE87CC,blip, duration); } // 0xD3CD6FD297AE87CC 0x8D5DF611 b323 - // + // inline Void SetBlipFlashInterval(Blip blip, Any p1) { return _i(0xAA51DB313C010A7E,blip, p1); } // 0xAA51DB313C010A7E 0xEAF67377 b323 - // https://gtaforums.com/topic/864881-all-blip-color-ids-pictured/ + // https://gtaforums.com/topic/864881-all-blip-color-ids-pictured/ inline Void SetBlipColour(Blip blip, int color) { return _i(0x3D7FB09E75D6B7E,blip, color); } // 0x3D7FB09E75D6B7E 0xBB3C5A41 b323 - // Can be used to give blips any RGB colour with SetBlipColour(blip, 84). + // Can be used to give blips any RGB colour with SetBlipColour(blip, 84). inline Void SetBlipSecondaryColour(Blip blip, int r, int g, int b) { return _i(0x14892474891E09EB,blip, r, g, b); } // 0x14892474891E09EB 0xC6384D32 b323 - // + // inline int GetBlipColour(Blip blip) { return _i(0xDF729E8D20CF7327,blip); } // 0xDF729E8D20CF7327 0xDD6A1E54 b323 - // + // inline int GetBlipHudColour(Blip blip) { return _i(0x729B5F1EFBC0AAEE,blip); } // 0x729B5F1EFBC0AAEE 0xE88B4BC2 b323 - // + // inline BOOL IsBlipShortRange(Blip blip) { return _i(0xDA5F8727EB75B926,blip); } // 0xDA5F8727EB75B926 0x1226765A b323 - // + // inline BOOL IsBlipOnMinimap(Blip blip) { return _i(0xE41CA53051197A27,blip); } // 0xE41CA53051197A27 0x258CBA3A b323 - // + // inline BOOL DoesBlipHaveGpsRoute(Blip blip) { return _i(0xDD2238F57B977751,blip); } // 0xDD2238F57B977751 0x3E47F357 b323 - // + // inline Void SetBlipHiddenOnLegend(Blip blip, BOOL toggle) { return _i(0x54318C915D27E4CE,blip, toggle); } // 0x54318C915D27E4CE 0x43996428 b323 - // + // inline Void SetBlipHighDetail(Blip blip, BOOL toggle) { return _i(0xE2590BC29220CEBB,blip, toggle); } // 0xE2590BC29220CEBB 0xD5842BFF b323 - // + // inline Void SetBlipAsMissionCreatorBlip(Blip blip, BOOL toggle) { return _i(0x24AC0137444F9FD5,blip, toggle); } // 0x24AC0137444F9FD5 0x802FB686 b323 - // + // inline BOOL IsMissionCreatorBlip(Blip blip) { return _i(0x26F49BF3381D933D,blip); } // 0x26F49BF3381D933D 0x24ACC4E9 b323 - // + // inline Blip GetNewSelectedMissionCreatorBlip() { return _i(0x5C90988E7C8E1AF4); } // 0x5C90988E7C8E1AF4 0xFFD7476C b323 - // + // inline BOOL IsHoveringOverMissionCreatorBlip() { return _i(0x4167EFE0527D706E); } // 0x4167EFE0527D706E 0xC5EB849A b323 - // + // inline Void ShowStartMissionInstructionalButton(BOOL toggle) { return _i(0xF1A6C18B35BCADE6,toggle); } // 0xF1A6C18B35BCADE6 0xA2CAAB4F b323 - // + // inline Void ShowContactInstructionalButton(BOOL toggle) { return _i(0xC772A904CDE1186F,toggle); } // 0xC772A904CDE1186F b2545 - // + // inline Void ReloadMapMenu() { return _i(0x2916A928514C9827); } // 0x2916A928514C9827 b573 - // + // inline Void SetBlipMarkerLongDistance(Any p0, Any p1) { return _i(0xB552929B85FC27EC,p0, p1); } // 0xB552929B85FC27EC b573 - // + // inline Void SetBlipFlashes(Blip blip, BOOL toggle) { return _i(0xB14552383D39CE3E,blip, toggle); } // 0xB14552383D39CE3E 0xC0047F15 b323 - // + // inline Void SetBlipFlashesAlternate(Blip blip, BOOL toggle) { return _i(0x2E8D9498C56DD0D1,blip, toggle); } // 0x2E8D9498C56DD0D1 0x1A81202B b323 - // + // inline BOOL IsBlipFlashing(Blip blip) { return _i(0xA5E41FD83AD6CEF0,blip); } // 0xA5E41FD83AD6CEF0 0x52E111D7 b323 - // Sets whether or not the specified blip should only be displayed when nearby, or on the minimap. + // Sets whether or not the specified blip should only be displayed when nearby, or on the minimap. inline Void SetBlipAsShortRange(Blip blip, BOOL toggle) { return _i(0xBE8BE4FE60E27B72,blip, toggle); } // 0xBE8BE4FE60E27B72 0x5C67725E b323 - // + // inline Void SetBlipScale(Blip blip, float scale) { return _i(0xD38744167B2FA257,blip, scale); } // 0xD38744167B2FA257 0x1E6EC434 b323 - // See https://imgur.com/a/lLkEsMN + // See https://imgur.com/a/lLkEsMN inline Void SetBlipScale2D(Blip blip, float xScale, float yScale) { return _i(0xCD6524439909C979,blip, xScale, yScale); } // 0xCD6524439909C979 b1734 - // See this topic for more details : gtaforums.com/topic/717612-v-scriptnative-documentation-and-research/page-35?p=1069477935 + // See this topic for more details : gtaforums.com/topic/717612-v-scriptnative-documentation-and-research/page-35?p=1069477935 inline Void SetBlipPriority(Blip blip, int priority) { return _i(0xAE9FC9EF6A9FAC79,blip, priority); } // 0xAE9FC9EF6A9FAC79 0xCE87DA6F b323 - // Display Id behaviours: + // 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) @@ -5532,7 +5532,7 @@ namespace HUD // // Anything higher than 10 seems to be exactly the same as 10. inline Void SetBlipDisplay(Blip blip, int displayId) { return _i(0x9029B2F3DA924928,blip, displayId); } // 0x9029B2F3DA924928 0x2B521F91 b323 - // Example: https://i.imgur.com/skY6vAJ.png + // Example: https://i.imgur.com/skY6vAJ.png // // Index: // 1 = No distance shown in legend @@ -5550,7 +5550,7 @@ namespace HUD // // Category needs to be `7` in order for blip names to show on the expanded minimap when using DisplayPlayerNameTagsOnBlips. inline Void SetBlipCategory(Blip blip, int index) { return _i(0x234CDD44D996FD9A,blip, index); } // 0x234CDD44D996FD9A 0xEF72F533 b323 - // In the C++ SDK, this seems not to work-- the blip isn't removed immediately. I use it for saving cars. + // In the C++ SDK, this seems not to work-- the blip isn't removed immediately. I use it for saving cars. // // E.g.: // @@ -5577,49 +5577,49 @@ namespace HUD // // Remove blip will currently crash your game, just artificially remove the blip by setting the sprite to a id that is 'invisible'. inline Void RemoveBlip(Blip* blip) { return _i(0x86A652570E5F25DD,blip); } // 0x86A652570E5F25DD 0xD8C3C1CD b323 - // false for enemy + // false for enemy // true for friendly inline Void SetBlipAsFriendly(Blip blip, BOOL toggle) { return _i(0x6F6F290102C02AB4,blip, toggle); } // 0x6F6F290102C02AB4 0xF290CFD8 b323 - // + // inline Void PulseBlip(Blip blip) { return _i(0x742D6FD43115AF73,blip); } // 0x742D6FD43115AF73 0x44253855 b323 - // + // inline Void ShowNumberOnBlip(Blip blip, int number) { return _i(0xA3C0B359DCB848B6,blip, number); } // 0xA3C0B359DCB848B6 0x7BFC66C6 b323 - // + // inline Void HideNumberOnBlip(Blip blip) { return _i(0x532CFF637EF80148,blip); } // 0x532CFF637EF80148 0x0B6D610D b323 - // + // inline Void ShowHeightOnBlip(Blip blip, BOOL toggle) { return _i(0x75A16C3DA34F1245,blip, toggle); } // 0x75A16C3DA34F1245 0x1D99F676 b323 - // Adds a green checkmark on top of a blip. + // Adds a green checkmark on top of a blip. inline Void ShowTickOnBlip(Blip blip, BOOL toggle) { return _i(0x74513EA3E505181E,blip, toggle); } // 0x74513EA3E505181E 0x3DCF0092 b323 - // Adds a orange checkmark on top of a given blip handle: https://imgur.com/a/aw5OTMF + // Adds a orange checkmark on top of a given blip handle: https://imgur.com/a/aw5OTMF // _ShowFriendIndicatorOnBlip* - _ShowHeadingIndicatorOnBlip* inline Void ShowGoldTickOnBlip(Blip blip, BOOL toggle) { return _i(0xCAC2031EBF79B1A8,blip, toggle); } // 0xCAC2031EBF79B1A8 b2699 - // + // inline Void ShowForSaleIconOnBlip(Blip blip, BOOL toggle) { return _i(0x19BD6E3C0E16A8FA,blip, toggle); } // 0x19BD6E3C0E16A8FA b2802 - // Adds the GTA: Online player heading indicator to a blip. + // Adds the GTA: Online player heading indicator to a blip. inline Void ShowHeadingIndicatorOnBlip(Blip blip, BOOL toggle) { return _i(0x5FBCA48327B914DF,blip, toggle); } // 0x5FBCA48327B914DF 0xD1C3D71B b323 - // Highlights a blip by a cyan color circle. + // Highlights a blip by a cyan color circle. // // Color can be changed with SetBlipSecondaryColour inline Void ShowOutlineIndicatorOnBlip(Blip blip, BOOL toggle) { return _i(0xB81656BC81FE24D1,blip, toggle); } // 0xB81656BC81FE24D1 0x8DE82C15 b323 - // Highlights a blip by a half cyan circle on the right side of the blip. https://i.imgur.com/FrV9M4e.png + // 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: `ShowCrewIndicatorOnBlip` inline Void ShowFriendIndicatorOnBlip(Blip blip, BOOL toggle) { return _i(0x23C3EB807312F01A,blip, toggle); } // 0x23C3EB807312F01A 0x4C8F02B4 b323 - // 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 `SetBlipSecondaryColour`. + // 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 `SetBlipSecondaryColour`. inline Void ShowCrewIndicatorOnBlip(Blip blip, BOOL toggle) { return _i(0xDCFB5D4DB8BF367E,blip, toggle); } // 0xDCFB5D4DB8BF367E 0xABBE1E45 b323 - // Must be toggled before being queued for animation + // Must be toggled before being queued for animation inline Void SetBlipExtendedHeightThreshold(Blip blip, BOOL toggle) { return _i(0xC4278F70131BAA6D,blip, toggle); } // 0xC4278F70131BAA6D 0x6AA6A1CC b323 - // + // inline Void SetBlipShortHeightThreshold(Any p0, Any p1) { return _i(0x4B5B620C9B59ED34,p0, p1); } // 0x4B5B620C9B59ED34 b678 - // + // inline Void SetBlipUseHeightIndicatorOnEdge(Blip blip, Any p1) { return _i(0x2C9F302398E13141,blip, p1); } // 0x2C9F302398E13141 0xCA95C487 b1103 - // Makes a blip go small when off the minimap. + // Makes a blip go small when off the minimap. inline Void SetBlipAsMinimalOnEdge(Blip blip, BOOL toggle) { return _i(0x2B6D467DAB714E8D,blip, toggle); } // 0x2B6D467DAB714E8D 0xC575F0BC b323 - // Enabling this on a radius blip will make it outline only. See https://cdn.discordapp.com/attachments/553235301632573459/575132227935928330/unknown.png + // Enabling this on a radius blip will make it outline only. See https://cdn.discordapp.com/attachments/553235301632573459/575132227935928330/unknown.png inline Void SetRadiusBlipEdge(Blip blip, BOOL toggle) { return _i(0x25615540D894B814,blip, toggle); } // 0x25615540D894B814 0x40E25DB8 b323 - // + // inline BOOL DoesBlipExist(Blip blip) { return _i(0xA6DB27D19ECBB7DA,blip); } // 0xA6DB27D19ECBB7DA 0xAE92DD96 b323 - // This native removes the current waypoint from the map. + // This native removes the current waypoint from the map. // // Example: // C#: @@ -5628,109 +5628,109 @@ namespace HUD // C++: // HUD::SetWaypointOff(); inline Void SetWaypointOff() { return _i(0xA7E4E2D361C2627F); } // 0xA7E4E2D361C2627F 0xB3496E1B b323 - // + // inline Void DeleteWaypointsFromThisPlayer() { return _i(0xD8E694757BCEA8E9); } // 0xD8E694757BCEA8E9 0x62BABF2C b323 - // + // inline Void RefreshWaypoint() { return _i(0x81FA173F170560D1); } // 0x81FA173F170560D1 0xB395D753 b323 - // + // inline BOOL IsWaypointActive() { return _i(0x1DD1F58F493F1DA5); } // 0x1DD1F58F493F1DA5 0x5E4DF47B b323 - // + // inline Void SetNewWaypoint(float x, float y) { return _i(0xFE43368D2AA4F2FC,x, y); } // 0xFE43368D2AA4F2FC 0x8444E1F0 b323 - // + // inline Void SetBlipBright(Blip blip, BOOL toggle) { return _i(0xB203913733F27884,blip, toggle); } // 0xB203913733F27884 0x72BEE6DF b323 - // As of b2189, the third parameter sets the color of the cone (before b2189 it was ignored). Note that it uses HUD colors, not blip colors. + // As of b2189, the third parameter sets the color of the cone (before b2189 it was ignored). Note that it uses HUD colors, not blip colors. inline Void SetBlipShowCone(Blip blip, BOOL toggle, int hudColorIndex) { return _i(0x13127EC3665E8EE1,blip, toggle, hudColorIndex); } // 0x13127EC3665E8EE1 0xFF545AD8 b323 - // Interesting fact: A hash collision for this is RESET_JETPACK_MODEL_SETTINGS + // Interesting fact: A hash collision for this is RESET_JETPACK_MODEL_SETTINGS inline Void RemoveCopBlipFromPed(Ped ped) { return _i(0xC594B315EDF2D4AF,ped); } // 0xC594B315EDF2D4AF 0x41B0D022 b323 - // + // inline Void SetupFakeConeData(Blip blip, float p1, float p2, float p3, float p4, float p5, float p6, Any p7, int p8) { return _i(0xF83D0FEBE75E62C9,blip, p1, p2, p3, p4, p5, p6, p7, p8); } // 0xF83D0FEBE75E62C9 b1290 - // + // inline Void RemoveFakeConeData(Blip blip) { return _i(0x35A3CD97B2C0A6D2,blip); } // 0x35A3CD97B2C0A6D2 b1290 - // + // inline Void ClearFakeConeArray() { return _i(0x8410C5E0CD847B9D); } // 0x8410C5E0CD847B9D b1290 - // Applies to new eBlipParams _BLIP_CHANGE_46* and _BLIP_CHANGE_47* + // Applies to new eBlipParams _BLIP_CHANGE_46* and _BLIP_CHANGE_47* inline Void SetBlipGpsRouteDisplayDistance(Blip blip, int blipChangeParam46, BOOL blipChangeParam47) { return _i(0x25D984CFB64ED6DE,blip, blipChangeParam46, blipChangeParam47); } // 0x25D984CFB64ED6DE b3095 - // This native is used to colorize certain map components like the army base at the top of the map. + // 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 inline BOOL SetMinimapComponent(int componentId, BOOL toggle, int overrideColor) { return _i(0x75A9A10948D1DEA6,componentId, toggle, overrideColor); } // 0x75A9A10948D1DEA6 0x419DCDC4 b323 - // + // inline Void SetMinimapSonarSweep(BOOL toggle) { return _i(0x6B50FC8749632EC1,toggle); } // 0x6B50FC8749632EC1 b2189 - // + // inline Void ShowAccountPicker() { return _i(0x60E892BA4F5BDCA4); } // 0x60E892BA4F5BDCA4 b323 - // + // inline Blip GetMainPlayerBlipId() { return _i(0xDCD4EC3F419D02FA); } // 0xDCD4EC3F419D02FA 0xAB93F020 b323 - // + // inline Void SetPmWarningscreenActive(BOOL p0) { return _i(0x41350B4FC28E3941,p0); } // 0x41350B4FC28E3941 b323 - // + // inline Void HideLoadingOnFadeThisFrame() { return _i(0x4B0311D3CDC4648F); } // 0x4B0311D3CDC4648F 0x35087963 b323 - // List of interior hashes: https://pastebin.com/1FUyXNqY + // List of interior hashes: https://pastebin.com/1FUyXNqY // Not for every interior zoom > 0 available. inline Void SetRadarAsInteriorThisFrame(Hash interior, float x, float y, int z, int zoom) { return _i(0x59E727A1C9D3E31A,interior, x, y, z, zoom); } // 0x59E727A1C9D3E31A 0x6F2626E1 b323 - // + // inline Void SetInsideVerySmallInterior(BOOL toggle) { return _i(0x504DFE62A1692296,toggle); } // 0x504DFE62A1692296 b1493 - // + // inline Void SetInsideVeryLargeInterior(BOOL toggle) { return _i(0x7EC8ABA5E74B3D7A,toggle); } // 0x7EC8ABA5E74B3D7A b2372 - // + // inline Void SetRadarAsExteriorThisFrame() { return _i(0xE81B7D2A3DAB2D81); } // 0xE81B7D2A3DAB2D81 0x39ABB10E b323 - // Sets the position of the arrow icon representing the player on both the minimap and world map. + // 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. inline Void SetFakePausemapPlayerPositionThisFrame(float x, float y) { return _i(0x77E2DD177910E1CF,x, y); } // 0x77E2DD177910E1CF 0x54E75C7D b323 - // p2 maybe z float? + // p2 maybe z float? inline Void SetFakeGpsPlayerPositionThisFrame(float x, float y, Any p2) { return _i(0xA17784FCA9548D15,x, y, p2); } // 0xA17784FCA9548D15 b877 - // + // inline BOOL IsPausemapInInteriorMode() { return _i(0x9049FE339D5F6F6F); } // 0x9049FE339D5F6F6F 0x199DED14 b323 - // + // inline Void HideMinimapExteriorMapThisFrame() { return _i(0x5FBAE526203990C9); } // 0x5FBAE526203990C9 0x1A4318F7 b323 - // + // inline Void HideMinimapInteriorMapThisFrame() { return _i(0x20FE7FDFEEAD38C0); } // 0x20FE7FDFEEAD38C0 0xCE36E3FE b323 - // Toggles the Cayo Perico map. + // Toggles the Cayo Perico map. inline Void SetUseIslandMap(BOOL toggle) { return _i(0x5E1460624D194A38,toggle); } // 0x5E1460624D194A38 b2189 - // + // inline Void SetPauseExteriorRenderingWhileInInterior() { return _i(0x35CCE12EAECB4A51); } // 0x35CCE12EAECB4A51 b2944 - // When calling this, the current frame will have the players "arrow icon" be focused on the dead center of the radar. + // When calling this, the current frame will have the players "arrow icon" be focused on the dead center of the radar. inline Void DontTiltMinimapThisFrame() { return _i(0x6D14BFDC33B34F55); } // 0x6D14BFDC33B34F55 0x334EFD46 b323 - // + // inline Void DontZoomMinimapWhenRunningThisFrame() { return _i(0x89DA85D949CE57A0); } // 0x89DA85D949CE57A0 b2802 - // + // inline Void DontZoomMinimapWhenSnipingThisFrame() { return _i(0x55F5A5F07134DE60); } // 0x55F5A5F07134DE60 0x7A569F78 b1180 - // + // inline Void SetWidescreenFormat(Any p0) { return _i(0xC3B07BA00A83B0F1,p0); } // 0xC3B07BA00A83B0F1 0xF016E08F b323 - // + // inline Void DisplayAreaName(BOOL toggle) { return _i(0x276B6CE369C33678,toggle); } // 0x276B6CE369C33678 0x489FDD41 b323 - // "DisplayCash(false);" makes the cash amount render on the screen when appropriate + // "DisplayCash(false);" makes the cash amount render on the screen when appropriate // "DisplayCash(true);" disables cash amount rendering inline Void DisplayCash(BOOL toggle) { return _i(0x96DEC8D5430208B7,toggle); } // 0x96DEC8D5430208B7 0x0049DF83 b323 - // Related to displaying cash on the HUD + // Related to displaying cash on the HUD // Always called before HUD::ChangeFakeMpCash in decompiled scripts inline Void UseFakeMpCash(BOOL toggle) { return _i(0x170F541E1CADD1DE,toggle); } // 0x170F541E1CADD1DE 0x6253B9D7 b323 - // Displays cash change notifications on HUD. + // Displays cash change notifications on HUD. inline Void ChangeFakeMpCash(int cash, int bank) { return _i(0x772DF77852C2E30,cash, bank); } // 0x772DF77852C2E30 0xE319F90B b323 - // + // inline Void DisplayAmmoThisFrame(BOOL display) { return _i(0xA5E78BA2B1331C55,display); } // 0xA5E78BA2B1331C55 0x60693CEE b323 - // Displays the crosshair for this frame. + // Displays the crosshair for this frame. inline Void DisplaySniperScopeThisFrame() { return _i(0x73115226F4814E62); } // 0x73115226F4814E62 0xBC6C73CB b323 - // Hides HUD and radar this frame and prohibits switching to other weapons (or accessing the weapon wheel) + // Hides HUD and radar this frame and prohibits switching to other weapons (or accessing the weapon wheel) inline Void HideHudAndRadarThisFrame() { return _i(0x719FF505F097FD20); } // 0x719FF505F097FD20 0xB75D4AD2 b323 - // Controls whether to display 'Cash'/'Bank' next to the money balance HUD in Multiplayer (https://i.imgur.com/MiYUtNl.png) + // Controls whether to display 'Cash'/'Bank' next to the money balance HUD in Multiplayer (https://i.imgur.com/MiYUtNl.png) inline Void AllowDisplayOfMultiplayerCashText(BOOL allow) { return _i(0xE67C6DFD386EA5E7,allow); } // 0xE67C6DFD386EA5E7 0x5476B9FD b323 - // + // inline Void SetMultiplayerWalletCash() { return _i(0xC2D15BEF167E27BC); } // 0xC2D15BEF167E27BC 0xF4F3C796 b323 - // + // inline Void RemoveMultiplayerWalletCash() { return _i(0x95CF81BD06EE1887); } // 0x95CF81BD06EE1887 0x7BFFE82F b323 - // + // inline Void SetMultiplayerBankCash() { return _i(0xDD21B55DF695CD0A); } // 0xDD21B55DF695CD0A 0x2C842D03 b323 - // + // inline Void RemoveMultiplayerBankCash() { return _i(0xC7C6789AA1CFEDD0); } // 0xC7C6789AA1CFEDD0 0x728B4EF4 b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void SetMultiplayerHudCash(int p0, BOOL p1) { return _i(0xFD1D220394BCB824,p0, p1); } // 0xFD1D220394BCB824 0xA8DB435E b323 - // Removes multiplayer cash hud each frame + // Removes multiplayer cash hud each frame inline Void RemoveMultiplayerHudCash() { return _i(0x968F270E39141ECA); } // 0x968F270E39141ECA 0x07BF4A7D b323 - // + // inline Void HideHelpTextThisFrame() { return _i(0xD46923FC481CA285); } // 0xD46923FC481CA285 0xF3807BED b323 - // + // inline BOOL IsImeInProgress() { return _i(0x801879A9B4F4B2FB); } // 0x801879A9B4F4B2FB b372 - // The messages are localized strings. + // The messages are localized strings. // Examples: // "No_bus_money" // "Enter_bus" @@ -5744,34 +5744,34 @@ namespace HUD // // // picture of where on the screen this is displayed? - inline Void DisplayHelpTextThisFrame(String message, BOOL p1) { return _i(0x960C9FF8F616E41C,message, p1); } // 0x960C9FF8F616E41C 0x18E3360A b323 - // Forces the weapon wheel to show/hide. + inline Void DisplayHelpTextThisFrame(const char* message, BOOL p1) { return _i(0x960C9FF8F616E41C,message, p1); } // 0x960C9FF8F616E41C 0x18E3360A b323 + // Forces the weapon wheel to show/hide. inline Void HudForceWeaponWheel(BOOL show) { return _i(0xEB354E5376BC81A7,show); } // 0xEB354E5376BC81A7 0x1EFFB02A b323 - // Displays "blazer_wheels_up" and "blazer_wheels_down" "weapon" icons when switching between jetski and quadbike modes. Works only on vehicles using "VEHICLE_TYPE_AMPHIBIOUS_QUADBIKE" vehicle type. Needs to be called every time prior to switching modes, otherwise the icon will only appear when switching modes once. + // Displays "blazer_wheels_up" and "blazer_wheels_down" "weapon" icons when switching between jetski and quadbike modes. Works only on vehicles using "VEHICLE_TYPE_AMPHIBIOUS_QUADBIKE" vehicle type. Needs to be called every time prior to switching modes, otherwise the icon will only appear when switching modes once. inline Void HudForceSpecialVehicleWeaponWheel() { return _i(0x488043841BBE156F); } // 0x488043841BBE156F b1011 - // Calling this each frame, stops the player from receiving a weapon via the weapon wheel. + // Calling this each frame, stops the player from receiving a weapon via the weapon wheel. inline Void HudSuppressWeaponWheelResultsThisFrame() { return _i(0xAFC4AF510774B47); } // 0xAFC4AF510774B47 0xB26FED2B b323 - // Returns the weapon hash to the selected/highlighted weapon in the wheel + // Returns the weapon hash to the selected/highlighted weapon in the wheel inline Hash HudGetWeaponWheelCurrentlyHighlighted() { return _i(0xA48931185F0536FE); } // 0xA48931185F0536FE 0x22E9F555 b323 - // Set the active slotIndex in the wheel weapon to the slot associated with the provided Weapon hash + // Set the active slotIndex in the wheel weapon to the slot associated with the provided Weapon hash inline Void HudSetWeaponWheelTopSlot(Hash weaponHash) { return _i(0x72C1056D678BB7D8,weaponHash); } // 0x72C1056D678BB7D8 0x83B608A0 b323 - // Returns the weapon hash active in a specific weapon wheel slotList + // Returns the weapon hash active in a specific weapon wheel slotList inline Hash HudGetWeaponWheelTopSlot(int weaponTypeIndex) { return _i(0xA13E93403F26C812,weaponTypeIndex); } // 0xA13E93403F26C812 b323 - // Sets a global that disables many weapon input tasks (shooting, aiming, etc.). Does not work with vehicle weapons, only used in selector.ysc + // Sets a global that disables many weapon input tasks (shooting, aiming, etc.). Does not work with vehicle weapons, only used in selector.ysc inline Void HudShowingCharacterSwitchSelection(BOOL toggle) { return _i(0x14C9FDCC41F81F63,toggle); } // 0x14C9FDCC41F81F63 0xE70D1F43 b323 - // Only the script that originally called SetGpsFlags can set them again. Another script cannot set the flags, until the first script that called it has called ClearGpsFlags. + // Only the script that originally called SetGpsFlags can set them again. Another script cannot set the flags, until the first script that called it has called ClearGpsFlags. // // Doesn't seem like the flags are actually read by the game at all. inline Void SetGpsFlags(int p0, float p1) { return _i(0x5B440763A4C8D15B,p0, p1); } // 0x5B440763A4C8D15B 0x60539BAB b323 - // Clears the GPS flags. Only the script that originally called SetGpsFlags can clear them. + // Clears the GPS flags. Only the script that originally called SetGpsFlags can clear them. // // Doesn't seem like the flags are actually read by the game at all. inline Void ClearGpsFlags() { return _i(0x21986729D6A3A830); } // 0x21986729D6A3A830 0x056AFCE6 b323 - // + // inline Void SetRaceTrackRender(BOOL toggle) { return _i(0x1EAC5F91BCBC5073,toggle); } // 0x1EAC5F91BCBC5073 0xFB9BABF5 b323 - // Does the same as SetRaceTrackRender(false); + // Does the same as SetRaceTrackRender(false); inline Void ClearGpsRaceTrack() { return _i(0x7AA5B4CE533C858B); } // 0x7AA5B4CE533C858B 0x40C59829 b323 - // Starts a new GPS custom-route, allowing you to plot lines on the map. + // 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 @@ -5779,14 +5779,14 @@ namespace HUD // 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. inline Void StartGpsCustomRoute(int hudColor, BOOL displayOnFoot, BOOL followPlayer) { return _i(0xDB34E8D56FC13B08,hudColor, displayOnFoot, followPlayer); } // 0xDB34E8D56FC13B08 0x7F93799B b323 - // + // inline Void AddPointToGpsCustomRoute(float x, float y, float z) { return _i(0x311438A071DD9B1A,x, y, z); } // 0x311438A071DD9B1A 0xEEBDFE55 b323 - // radarThickness: The width of the GPS route on the radar + // radarThickness: The width of the GPS route on the radar // mapThickness: The width of the GPS route on the map inline Void SetGpsCustomRouteRender(BOOL toggle, int radarThickness, int mapThickness) { return _i(0x900086F371220B6F,toggle, radarThickness, mapThickness); } // 0x900086F371220B6F 0xDA0AF00E b323 - // + // inline Void ClearGpsCustomRoute() { return _i(0xE6DE0561D9232A64); } // 0xE6DE0561D9232A64 0xCF2E3E24 b323 - // Starts a new GPS multi-route, allowing you to create custom GPS paths. + // 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. // @@ -5796,78 +5796,78 @@ namespace HUD // 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. inline Void StartGpsMultiRoute(int hudColor, BOOL routeFromPlayer, BOOL displayOnFoot) { return _i(0x3D3D15AF7BCAAF83,hudColor, routeFromPlayer, displayOnFoot); } // 0x3D3D15AF7BCAAF83 0xC3DCBEDB b323 - // + // inline Void AddPointToGpsMultiRoute(float x, float y, float z) { return _i(0xA905192A6781C41B,x, y, z); } // 0xA905192A6781C41B 0xFE485135 b323 - // + // inline Void SetGpsMultiRouteRender(BOOL toggle) { return _i(0x3DDA37128DD1ACA8,toggle); } // 0x3DDA37128DD1ACA8 0xE87CBE4C b323 - // Does the same as SetGpsMultiRouteRender(false); + // Does the same as SetGpsMultiRouteRender(false); inline Void ClearGpsMultiRoute() { return _i(0x67EEDEA1B9BAFD94); } // 0x67EEDEA1B9BAFD94 0x0D9969E4 b323 - // + // inline Void ClearGpsPlayerWaypoint() { return _i(0xFF4FB7C8CDFA3DA7); } // 0xFF4FB7C8CDFA3DA7 0x0B9C7FC2 b323 - // + // inline Void SetGpsFlashes(BOOL toggle) { return _i(0x320D0E0D936A0E9B,toggle); } // 0x320D0E0D936A0E9B 0xE991F733 b323 - // + // inline Void SetPlayerIconColour(int color) { return _i(0x7B21E0BB01E8224A,color); } // 0x7B21E0BB01E8224A b323 - // adds a short flash to the Radar/Minimap + // adds a short flash to the Radar/Minimap // Usage: UI.FlashMinimapDisplay inline Void FlashMinimapDisplay() { return _i(0xF2DD778C22B15BDA); } // 0xF2DD778C22B15BDA 0xB8359952 b323 - // + // inline Void FlashMinimapDisplayWithColor(int hudColorIndex) { return _i(0x6B1DE27EE78E6A19,hudColorIndex); } // 0x6B1DE27EE78E6A19 0x79A6CAF6 b323 - // + // inline Void ToggleStealthRadar(BOOL toggle) { return _i(0x6AFDFB93754950C7,toggle); } // 0x6AFDFB93754950C7 0xC68D47C4 b323 - // + // inline Void SetMinimapInSpectatorMode(BOOL toggle, Ped ped) { return _i(0x1A5CD7752DD28CD3,toggle, ped); } // 0x1A5CD7752DD28CD3 0xD5BFCADB b323 - // - inline Void SetMissionName(BOOL p0, String name) { return _i(0x5F28ECF5FC84772F,p0, name); } // 0x5F28ECF5FC84772F 0x68DCAE10 b323 - // - inline Void SetMissionNameForUgcMission(BOOL p0, String name) { return _i(0xE45087D85F468BC2,p0, name); } // 0xE45087D85F468BC2 0x8D9A1734 b323 - // - inline Void SetDescriptionForUgcMissionEightStrings(BOOL p0, String p1, String p2, String p3, String p4, String p5, String p6, String p7, String p8) { return _i(0x817B86108EB94E51,p0, p1, p2, p3, p4, p5, p6, p7, p8); } // 0x817B86108EB94E51 0xD2161E77 b323 - // + // + inline Void SetMissionName(BOOL p0, const char* name) { return _i(0x5F28ECF5FC84772F,p0, name); } // 0x5F28ECF5FC84772F 0x68DCAE10 b323 + // + inline Void SetMissionNameForUgcMission(BOOL p0, const char* name) { return _i(0xE45087D85F468BC2,p0, name); } // 0xE45087D85F468BC2 0x8D9A1734 b323 + // + inline Void SetDescriptionForUgcMissionEightStrings(BOOL p0, const char* p1, const char* p2, const char* p3, const char* p4, const char* p5, const char* p6, const char* p7, const char* p8) { return _i(0x817B86108EB94E51,p0, p1, p2, p3, p4, p5, p6, p7, p8); } // 0x817B86108EB94E51 0xD2161E77 b323 + // inline Void SetMinimapBlockWaypoint(BOOL toggle) { return _i(0x58FADDED207897DC,toggle); } // 0x58FADDED207897DC 0xA41C3B62 b323 - // Toggles the North Yankton map + // Toggles the North Yankton map inline Void SetMinimapInPrologue(BOOL toggle) { return _i(0x9133955F1A2DA957,toggle); } // 0x9133955F1A2DA957 0x02F5F1D1 b323 - // If true, the entire map will be revealed. + // If true, the entire map will be revealed. // // FOW = Fog of War inline Void SetMinimapHideFow(BOOL toggle) { return _i(0xF8DEE0A5600CBB93,toggle); } // 0xF8DEE0A5600CBB93 0xD8D77733 b323 - // + // inline float GetMinimapFowDiscoveryRatio() { return _i(0xE0130B41D3CF4574); } // 0xE0130B41D3CF4574 0xA4098ACC b323 - // + // inline BOOL GetMinimapFowCoordinateIsRevealed(float x, float y, float z) { return _i(0x6E31B91145873922,x, y, z); } // 0x6E31B91145873922 0x65B705F6 b323 - // + // inline Void SetMinimapFowDoNotUpdate(BOOL p0) { return _i(0x62E849B7EB28E770,p0); } // 0x62E849B7EB28E770 b323 - // Up to eight coordinates may be revealed per frame + // Up to eight coordinates may be revealed per frame inline Void SetMinimapFowRevealCoordinate(float x, float y, float z) { return _i(0x923DBF87DFF735E,x, y, z); } // 0x923DBF87DFF735E 0xE010F081 b323 - // Not much is known so far on what it does _exactly_. + // 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). inline Void SetMinimapGolfCourse(int hole) { return _i(0x71BDB63DBAF8DA59,hole); } // 0x71BDB63DBAF8DA59 0x5133A750 b323 - // + // inline Void SetMinimapGolfCourseOff() { return _i(0x35EDD5B2E3FF01C0); } // 0x35EDD5B2E3FF01C0 0x20FD3E87 b323 - // Locks the minimap to the specified angle in integer degrees. + // 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. inline Void LockMinimapAngle(int angle) { return _i(0x299FAEBB108AE05B,angle); } // 0x299FAEBB108AE05B 0xDEC733E4 b323 - // + // inline Void UnlockMinimapAngle() { return _i(0x8183455E16C42E3A); } // 0x8183455E16C42E3A 0x742043F9 b323 - // Locks the minimap to the specified world position. + // Locks the minimap to the specified world position. inline Void LockMinimapPosition(float x, float y) { return _i(0x1279E861A329E73F,x, y); } // 0x1279E861A329E73F 0xB9632A91 b323 - // + // inline Void UnlockMinimapPosition() { return _i(0x3E93E06DB8EF1F30); } // 0x3E93E06DB8EF1F30 0x5E8E6F54 b323 - // Argument must be 0.0f or above 38.0f, or it will be ignored. + // Argument must be 0.0f or above 38.0f, or it will be ignored. inline Void SetFakeMinimapMaxAltimeterHeight(float altitude, BOOL p1, Any p2) { return _i(0xD201F3FF917A506D,altitude, p1, p2); } // 0xD201F3FF917A506D 0x0308EDF6 b323 - // + // inline Void SetHealthHudDisplayValues(int health, int capacity, BOOL wasAdded) { return _i(0x3F5CC444DCAAA8F2,health, capacity, wasAdded); } // 0x3F5CC444DCAAA8F2 0x7FB6FB2A b323 - // + // inline Void SetMaxHealthHudDisplay(int maximumValue) { return _i(0x975D66A0BC17064C,maximumValue); } // 0x975D66A0BC17064C 0xF07D8CEF b323 - // + // inline Void SetMaxArmourHudDisplay(int maximumValue) { return _i(0x6A320535F5F0248,maximumValue); } // 0x6A320535F5F0248 0x827F14DE b323 - // Toggles the big minimap state like in GTA:Online. + // Toggles the big minimap state like in GTA:Online. inline Void SetBigmapActive(BOOL toggleBigMap, BOOL showFullMap) { return _i(0x231C8F89D0539D8F,toggleBigMap, showFullMap); } // 0x231C8F89D0539D8F 0x08EB83D2 b323 - // Full list of components below + // Full list of components below // // HUD = 0; // HUD_WANTED_STARS = 1; @@ -5894,15 +5894,15 @@ namespace HUD // MAX_HUD_WEAPONS = 22; // MAX_SCRIPTED_HUD_COMPONENTS = 141; inline BOOL IsHudComponentActive(int id) { return _i(0xBC4C9EA5391ECC0D,id); } // 0xBC4C9EA5391ECC0D 0x6214631F b323 - // + // inline BOOL IsScriptedHudComponentActive(int id) { return _i(0xDD100EB17A94FF65,id); } // 0xDD100EB17A94FF65 0x2B86F382 b323 - // + // inline Void HideScriptedHudComponentThisFrame(int id) { return _i(0xE374C498D8BADC14,id); } // 0xE374C498D8BADC14 0x31ABA127 b323 - // + // inline Void ShowScriptedHudComponentThisFrame(int id) { return _i(0x4F38DCA127DAAEA2,id); } // 0x4F38DCA127DAAEA2 b1734 - // + // inline BOOL IsScriptedHudComponentHiddenThisFrame(int id) { return _i(0x9C0403ED9A751C2,id); } // 0x9C0403ED9A751C2 0xE8C8E535 b323 - // This function hides various HUD (Heads-up Display) components. + // 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 @@ -5929,7 +5929,7 @@ namespace HUD // // These integers also work for the `ShowHudComponentThisFrame` native, but instead shows the HUD Component. inline Void HideHudComponentThisFrame(int id) { return _i(0x6806C51AD12B83B8,id); } // 0x6806C51AD12B83B8 0xDB2D0762 b323 - // This function hides various HUD (Heads-up Display) components. + // 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 @@ -5956,51 +5956,51 @@ namespace HUD // // These integers also work for the `HideHudComponentThisFrame` native, but instead hides the HUD Component. inline Void ShowHudComponentThisFrame(int id) { return _i(0xB4DF1FA60C0E664,id); } // 0xB4DF1FA60C0E664 0x95E1546E b323 - // Hides area and vehicle name HUD components for one frame. + // Hides area and vehicle name HUD components for one frame. inline Void HideStreetAndCarNamesThisFrame() { return _i(0xA4DEDE28B1814289); } // 0xA4DEDE28B1814289 0x52746FE1 b323 - // + // inline Void ResetReticuleValues() { return _i(0x12782CE0A636E9F0); } // 0x12782CE0A636E9F0 0xBE27AA3F b323 - // + // inline Void ResetHudComponentValues(int id) { return _i(0x450930E616475D0D,id); } // 0x450930E616475D0D 0xD15B46DA b323 - // + // inline Void SetHudComponentPosition(int id, float x, float y) { return _i(0xAABB1F56E2A17CED,id, x, y); } // 0xAABB1F56E2A17CED 0x2F3A0D15 b323 - // + // inline Vector3 GetHudComponentPosition(int id) { return _i(0x223CA69A8C4417FD,id); } // 0x223CA69A8C4417FD 0x080DCED6 b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void ClearReminderMessage() { return _i(0xB57D8DD645CFA2CF); } // 0xB57D8DD645CFA2CF 0x5BBCC934 b323 - // World to relative screen coords, this world to screen will keep the text on screen. Was named _GetScreenCoordFromWorldCoord, but this conflicts with 0x34E82F05DF2974F5. As that hash actually matches GetScreenCoordFromWorldCoord that one supercedes and this one was renamed to _GET_2D_COORD_FROM_3D_COORD + // World to relative screen coords, this world to screen will keep the text on screen. Was named _GetScreenCoordFromWorldCoord, but this conflicts with 0x34E82F05DF2974F5. As that hash actually matches GetScreenCoordFromWorldCoord that one supercedes and this one was renamed to _GET_2D_COORD_FROM_3D_COORD inline int GetHudScreenPositionFromWorldPosition(float worldX, float worldY, float worldZ, float* screenX, float* screenY) { return _i(0xF9904D11F1ACBEC3,worldX, worldY, worldZ, screenX, screenY); } // 0xF9904D11F1ACBEC3 0xFE9A39F8 b323 - // Shows a menu for reporting UGC content. + // Shows a menu for reporting UGC content. inline Void OpenReportugcMenu() { return _i(0x523A590C1A3CC0D3); } // 0x523A590C1A3CC0D3 0x10DE5150 b323 - // + // inline Void ForceCloseReportugcMenu() { return _i(0xEE4C0E6DBC6F2C6F); } // 0xEE4C0E6DBC6F2C6F 0x67649EE0 b323 - // + // inline BOOL IsReportugcMenuOpen() { return _i(0x9135584D09A3437E); } // 0x9135584D09A3437E 0x9D2C94FA b323 - // + // inline BOOL IsFloatingHelpTextOnScreen(int hudIndex) { return _i(0x2432784ACA090DA4,hudIndex); } // 0x2432784ACA090DA4 0x45472FD5 b323 - // + // inline Void SetFloatingHelpTextScreenPosition(int hudIndex, float x, float y) { return _i(0x7679CC1BCEBE3D4C,hudIndex, x, y); } // 0x7679CC1BCEBE3D4C 0x198F32D7 b323 - // + // inline Void SetFloatingHelpTextWorldPosition(int hudIndex, float x, float y, float z) { return _i(0x784BA7E0ECEB4178,hudIndex, x, y, z); } // 0x784BA7E0ECEB4178 0x93045157 b323 - // + // inline Void SetFloatingHelpTextToEntity(int hudIndex, Entity entity, float offsetX, float offsetY) { return _i(0xB094BC1DB4018240,hudIndex, entity, offsetX, offsetY); } // 0xB094BC1DB4018240 0x18B012B7 b323 - // + // inline Void SetFloatingHelpTextStyle(int hudIndex, int p1, int p2, int p3, int p4, int p5) { return _i(0x788E7FD431BD67F1,hudIndex, p1, p2, p3, p4, p5); } // 0x788E7FD431BD67F1 0x97852A82 b323 - // + // inline Void ClearFloatingHelp(int hudIndex, BOOL p1) { return _i(0x50085246ABD3FEFA,hudIndex, p1); } // 0x50085246ABD3FEFA 0xB181F88F b323 - // clanFlag: takes a number 0-5 - inline Void CreateMpGamerTagWithCrewColor(Player player, String username, BOOL pointedClanTag, BOOL isRockstarClan, String clanTag, int clanFlag, int r, int g, int b) { return _i(0x6DD05E9D83EFA4C9,player, username, pointedClanTag, isRockstarClan, clanTag, clanFlag, r, g, b); } // 0x6DD05E9D83EFA4C9 0xC969F2D0 b323 - // + // clanFlag: takes a number 0-5 + inline Void CreateMpGamerTagWithCrewColor(Player player, const char* username, BOOL pointedClanTag, BOOL isRockstarClan, const char* clanTag, int clanFlag, int r, int g, int b) { return _i(0x6DD05E9D83EFA4C9,player, username, pointedClanTag, isRockstarClan, clanTag, clanFlag, r, g, b); } // 0x6DD05E9D83EFA4C9 0xC969F2D0 b323 + // inline BOOL IsMpGamerTagMovieActive() { return _i(0x6E0EB3EB47C8D7AA); } // 0x6E0EB3EB47C8D7AA 0xEFD2564A b323 - // clanFlag: takes a number 0-5 - inline int CreateFakeMpGamerTag(Ped ped, String username, BOOL pointedClanTag, BOOL isRockstarClan, String clanTag, int clanFlag) { return _i(0xBFEFE3321A3F5015,ped, username, pointedClanTag, isRockstarClan, clanTag, clanFlag); } // 0xBFEFE3321A3F5015 0xF5CD2AA4 b323 - // + // clanFlag: takes a number 0-5 + inline int CreateFakeMpGamerTag(Ped ped, const char* username, BOOL pointedClanTag, BOOL isRockstarClan, const char* clanTag, int clanFlag) { return _i(0xBFEFE3321A3F5015,ped, username, pointedClanTag, isRockstarClan, clanTag, clanFlag); } // 0xBFEFE3321A3F5015 0xF5CD2AA4 b323 + // inline Void RemoveMpGamerTag(int gamerTagId) { return _i(0x31698AA80E0223F8,gamerTagId); } // 0x31698AA80E0223F8 0x3D081FE4 b323 - // + // inline BOOL IsMpGamerTagActive(int gamerTagId) { return _i(0x4E929E7A5796FD26,gamerTagId); } // 0x4E929E7A5796FD26 0x60118951 b323 - // + // inline BOOL IsMpGamerTagFree(int gamerTagId) { return _i(0x595B5178E412E199,gamerTagId); } // 0x595B5178E412E199 0x63959059 b323 - // enum eMpGamerTagComponent + // enum eMpGamerTagComponent // { // MP_TAG_GAMER_NAME, // MP_TAG_CREW_TAG, @@ -6034,42 +6034,42 @@ namespace HUD // MP_TAG_BOMB // }; inline Void SetMpGamerTagVisibility(int gamerTagId, int component, BOOL toggle, Any p3) { return _i(0x63BB75ABEDC1F6A0,gamerTagId, component, toggle, p3); } // 0x63BB75ABEDC1F6A0 0xD41DF479 b323 - // + // inline Void SetAllMpGamerTagsVisibility(int gamerTagId, BOOL toggle) { return _i(0xEE76FF7E6A0166B0,gamerTagId, toggle); } // 0xEE76FF7E6A0166B0 0x767DED29 b323 - // Displays a bunch of icons above the players name, and level, and their name twice + // Displays a bunch of icons above the players name, and level, and their name twice inline Void SetMpGamerTagsShouldUseVehicleHealth(int gamerTagId, BOOL toggle) { return _i(0xA67F9C46D612B6F1,gamerTagId, toggle); } // 0xA67F9C46D612B6F1 0xB01A5434 b323 - // + // inline Void SetMpGamerTagsShouldUsePointsHealth(int gamerTagId, BOOL toggle) { return _i(0xD29EC58C2F6B5014,gamerTagId, toggle); } // 0xD29EC58C2F6B5014 b1365 - // + // inline Void SetMpGamerTagsPointHealth(int gamerTagId, int value, int maximumValue) { return _i(0x1563FE35E9928E67,gamerTagId, value, maximumValue); } // 0x1563FE35E9928E67 b1365 - // Sets a gamer tag's component colour + // Sets a gamer tag's component colour // // gamerTagId is obtained using for example CreateFakeMpGamerTag // Ranges from 0 to 255. 0 is grey health bar, ~50 yellow, 200 purple. inline Void SetMpGamerTagColour(int gamerTagId, int component, int hudColorIndex) { return _i(0x613ED644950626AE,gamerTagId, component, hudColorIndex); } // 0x613ED644950626AE 0x7E3AA40A b323 - // Ranges from 0 to 255. 0 is grey health bar, ~50 yellow, 200 purple. + // 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. inline Void SetMpGamerTagHealthBarColour(int gamerTagId, int hudColorIndex) { return _i(0x3158C77A7E888AB4,gamerTagId, hudColorIndex); } // 0x3158C77A7E888AB4 0x5777EC77 b323 - // Sets flag's sprite transparency. 0-255. + // Sets flag's sprite transparency. 0-255. inline Void SetMpGamerTagAlpha(int gamerTagId, int component, int alpha) { return _i(0xD48FE545CD46F857,gamerTagId, component, alpha); } // 0xD48FE545CD46F857 0xF4418611 b323 - // displays wanted star above head + // displays wanted star above head inline Void SetMpGamerTagWantedLevel(int gamerTagId, int wantedlvl) { return _i(0xCF228E2AA03099C3,gamerTagId, wantedlvl); } // 0xCF228E2AA03099C3 0x0EBB003F b323 - // + // inline Void SetMpGamerTagNumPackages(int gamerTagId, int p1) { return _i(0x9C16459B2324B2CF,gamerTagId, p1); } // 0x9C16459B2324B2CF b877 - // - inline Void SetMpGamerTagName(int gamerTagId, String string) { return _i(0xDEA2B8283BAA3944,gamerTagId, string); } // 0xDEA2B8283BAA3944 0x627A559B b323 - // + // + inline Void SetMpGamerTagName(int gamerTagId, const char* string) { return _i(0xDEA2B8283BAA3944,gamerTagId, string); } // 0xDEA2B8283BAA3944 0x627A559B b323 + // inline BOOL IsUpdatingMpGamerTagNameAndCrewDetails(int gamerTagId) { return _i(0xEB709A36958ABE0D,gamerTagId); } // 0xEB709A36958ABE0D 0xF11414C4 b323 - // - inline Void SetMpGamerTagBigText(int gamerTagId, String string) { return _i(0x7B7723747CCB55B6,gamerTagId, string); } // 0x7B7723747CCB55B6 0x939218AB b323 - // + // + inline Void SetMpGamerTagBigText(int gamerTagId, const char* string) { return _i(0x7B7723747CCB55B6,gamerTagId, string); } // 0x7B7723747CCB55B6 0x939218AB b323 + // inline int GetCurrentWebpageId() { return _i(0x1A358D9128B7A86); } // 0x1A358D9128B7A86 0xAB5B7C18 b323 - // + // inline int GetCurrentWebsiteId() { return _i(0x97D47996FC48CBAD); } // 0x97D47996FC48CBAD 0x42A55B14 b323 - // Returns the ActionScript flagValue. + // Returns the ActionScript flagValue. // ActionScript flags are global flags that scaleforms use // Flags found during testing // 0: Returns 1 if the web_browser keyboard is open, otherwise 0 @@ -6079,20 +6079,20 @@ namespace HUD // // There are 20 flags in total. inline int GetGlobalActionscriptFlag(int flagIndex) { return _i(0xE3B05614DCE1D014,flagIndex); } // 0xE3B05614DCE1D014 0xD217EE7E b323 - // + // inline Void ResetGlobalActionscriptFlag(int flagIndex) { return _i(0xB99C4E4D9499DF29,flagIndex); } // 0xB99C4E4D9499DF29 0x4C4C10CF b323 - // + // inline BOOL IsWarningMessageReadyForControl() { return _i(0xAF42195A42C63BBA); } // 0xAF42195A42C63BBA b323 - // You can only use text entries. No custom text. + // You can only use text entries. No custom text. // // Example: SetWarningMessage("t20", 3, "adder", false, -1, 0, 0, true); // errorCode: shows an error code at the bottom left if nonzero - inline Void SetWarningMessage(String titleMsg, int flags, String promptMsg, BOOL p3, int p4, String p5, String p6, BOOL showBackground, int errorCode) { return _i(0x7B1776B3B53F8D74,titleMsg, flags, promptMsg, p3, p4, p5, p6, showBackground, errorCode); } // 0x7B1776B3B53F8D74 0xBE699BDE b323 - // Shows a warning message on screen with a header. + inline Void SetWarningMessage(const char* titleMsg, int flags, const char* promptMsg, BOOL p3, int p4, const char* p5, const char* p6, BOOL showBackground, int errorCode) { return _i(0x7B1776B3B53F8D74,titleMsg, flags, promptMsg, p3, p4, p5, p6, showBackground, errorCode); } // 0x7B1776B3B53F8D74 0xBE699BDE b323 + // 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 - inline Void SetWarningMessageWithHeader(String entryHeader, String entryLine1, int instructionalKey, String entryLine2, BOOL p4, Any p5, Any* showBackground, Any* p7, BOOL p8, Any p9) { return _i(0xDC38CC1E35B6A5D7,entryHeader, entryLine1, instructionalKey, entryLine2, p4, p5, showBackground, p7, p8, p9); } // 0xDC38CC1E35B6A5D7 0x2DB9EAB5 b323 - // You can use this native for custom input, without having to use any scaleform-related natives. + inline Void SetWarningMessageWithHeader(const char* entryHeader, const char* entryLine1, int instructionalKey, const char* entryLine2, BOOL p4, Any p5, Any* showBackground, Any* p7, BOOL p8, Any p9) { return _i(0xDC38CC1E35B6A5D7,entryHeader, entryLine1, instructionalKey, entryLine2, p4, p5, showBackground, p7, p8, p9); } // 0xDC38CC1E35B6A5D7 0x2DB9EAB5 b323 + // You can use this native for custom input, without having to use any scaleform-related natives. // The native must be called on tick. // The entryHeader must be a valid label. // For Single lines use JL_INVITE_N as entryLine1, JL_INVITE_ND for multiple. @@ -6106,10 +6106,10 @@ namespace HUD // SetWarningMessage_WITH_HEADER_AND_SUBSTRING_FLAGS("ALERT", "JL_INVITE_ND", 66, "", true, -1, -1, "Testing line 1", "Testing line 2", true, 0); // Screenshot: // https://imgur.com/a/IYA7vJ8 - inline Void SetWarningMessageWithHeaderAndSubstringFlags(String entryHeader, String entryLine1, int instructionalKey, String entryLine2, BOOL p4, Any p5, Any additionalIntInfo, String additionalTextInfoLine1, String additionalTextInfoLine2, BOOL showBackground, int errorCode) { return _i(0x701919482C74B5AB,entryHeader, entryLine1, instructionalKey, entryLine2, p4, p5, additionalIntInfo, additionalTextInfoLine1, additionalTextInfoLine2, showBackground, errorCode); } // 0x701919482C74B5AB 0x749929D3 b323 - // - inline Void SetWarningMessageWithHeaderExtended(String entryHeader, String entryLine1, int flags, String entryLine2, BOOL p4, Any p5, Any* p6, Any* p7, BOOL showBg, Any p9, Any p10) { return _i(0x38B55259C2E078ED,entryHeader, entryLine1, flags, entryLine2, p4, p5, p6, p7, showBg, p9, p10); } // 0x38B55259C2E078ED b1493 - // labelTitle: Label of the alert's title. + inline Void SetWarningMessageWithHeaderAndSubstringFlags(const char* entryHeader, const char* entryLine1, int instructionalKey, const char* entryLine2, BOOL p4, Any p5, Any additionalIntInfo, const char* additionalTextInfoLine1, const char* additionalTextInfoLine2, BOOL showBackground, int errorCode) { return _i(0x701919482C74B5AB,entryHeader, entryLine1, instructionalKey, entryLine2, p4, p5, additionalIntInfo, additionalTextInfoLine1, additionalTextInfoLine2, showBackground, errorCode); } // 0x701919482C74B5AB 0x749929D3 b323 + // + inline Void SetWarningMessageWithHeaderExtended(const char* entryHeader, const char* entryLine1, int flags, const char* entryLine2, BOOL p4, Any p5, Any* p6, Any* p7, BOOL showBg, Any p9, Any p10) { return _i(0x38B55259C2E078ED,entryHeader, entryLine1, flags, entryLine2, p4, p5, p6, p7, showBg, p9, p10); } // 0x38B55259C2E078ED b1493 + // 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. @@ -6167,45 +6167,45 @@ namespace HUD // } // // Example: https://i.imgur.com/TvmNF4k.png - inline Void SetWarningMessageWithHeaderAndSubstringFlagsExtended(String labelTitle, String labelMessage, int p2, int p3, String labelMessage2, BOOL p5, int p6, int p7, String p8, String p9, BOOL background, int errorCode) { return _i(0x15803FEC3B9A872B,labelTitle, labelMessage, p2, p3, labelMessage2, p5, p6, p7, p8, p9, background, errorCode); } // 0x15803FEC3B9A872B b573 - // Has to do with the confirmation overlay (E.g. confirm exit) + inline Void SetWarningMessageWithHeaderAndSubstringFlagsExtended(const char* labelTitle, const char* labelMessage, int p2, int p3, const char* labelMessage2, BOOL p5, int p6, int p7, const char* p8, const char* p9, BOOL background, int errorCode) { return _i(0x15803FEC3B9A872B,labelTitle, labelMessage, p2, p3, labelMessage2, p5, p6, p7, p8, p9, background, errorCode); } // 0x15803FEC3B9A872B b573 + // Has to do with the confirmation overlay (E.g. confirm exit) inline Hash GetWarningScreenMessageHash() { return _i(0x81DF9ABA6C83DFF9); } // 0x81DF9ABA6C83DFF9 b1290 - // Some sort of list displayed in a warning message. Yet unknown how to prevent repeating. + // 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 - inline BOOL SetWarningMessageOptionItems(int index, String name, int cash, int rp, int lvl, int colour) { return _i(0xC5A80A9E096D529,index, name, cash, rp, lvl, colour); } // 0xC5A80A9E096D529 b323 - // + inline BOOL SetWarningMessageOptionItems(int index, const char* name, int cash, int rp, int lvl, int colour) { return _i(0xC5A80A9E096D529,index, name, cash, rp, lvl, colour); } // 0xC5A80A9E096D529 b323 + // inline BOOL SetWarningMessageOptionHighlight(Any p0) { return _i(0xDAF87174BE7454FF,p0); } // 0xDAF87174BE7454FF b323 - // + // inline Void RemoveWarningMessageOptionItems() { return _i(0x6EF54AB721DC6242); } // 0x6EF54AB721DC6242 b323 - // + // inline BOOL IsWarningMessageActive() { return _i(0xE18B138FABC53103); } // 0xE18B138FABC53103 0x94C834AD b323 - // + // inline Void ClearDynamicPauseMenuErrorMessage() { return _i(0x7792424AA0EAC32E); } // 0x7792424AA0EAC32E 0x2F9A309C b323 - // If toggle is true, the map is shown in full screen + // If toggle is true, the map is shown in full screen // If toggle is false, the map is shown in normal mode inline Void CustomMinimapSetActive(BOOL toggle) { return _i(0x5354C5BA2EA868A4,toggle); } // 0x5354C5BA2EA868A4 0xE4FD20D8 b323 - // Sets the sprite of the next BLIP_GALLERY blip, values used in the native scripts: 143 (ObjectiveBlue), 144 (ObjectiveGreen), 145 (ObjectiveRed), 146 (ObjectiveYellow). + // Sets the sprite of the next BLIP_GALLERY blip, values used in the native scripts: 143 (ObjectiveBlue), 144 (ObjectiveGreen), 145 (ObjectiveRed), 146 (ObjectiveYellow). inline Void CustomMinimapSetBlipObject(int spriteId) { return _i(0x1EAE6DD17B7A5EFA,spriteId); } // 0x1EAE6DD17B7A5EFA 0x13E7A5A9 b323 - // Add a BLIP_GALLERY at the specific coordinate. Used in fm_maintain_transition_players to display race track points. + // Add a BLIP_GALLERY at the specific coordinate. Used in fm_maintain_transition_players to display race track points. inline int CustomMinimapCreateBlip(float x, float y, float z) { return _i(0x551DF99658DB6EE8,x, y, z); } // 0x551DF99658DB6EE8 0x786CA0A2 b323 - // + // inline Void CustomMinimapClearBlips() { return _i(0x2708FC083123F9FF); } // 0x2708FC083123F9FF 0xCBEC9369 b323 - // Doesn't actually return anything. + // Doesn't actually return anything. inline BOOL ForceSonarBlipsThisFrame() { return _i(0x1121BFA1A1A522A8); } // 0x1121BFA1A1A522A8 0x3F4AFB13 b323 - // + // inline Blip GetNorthBlidIndex() { return _i(0x3F0CF9CB7E589B88); } // 0x3F0CF9CB7E589B88 b463 - // Toggles whether or not name labels are shown on the expanded minimap next to player blips, like in GTA:O. + // 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 SetBlipCategory with index 7 for this to work on the desired blip. inline Void DisplayPlayerNameTagsOnBlips(BOOL toggle) { return _i(0x82CEDC33687E1F50,toggle); } // 0x82CEDC33687E1F50 0x2F28F0A6 b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void DrawFrontendBackgroundThisFrame() { return _i(0x211C4EF450086857); } // 0x211C4EF450086857 0x801D0D86 b323 - // + // inline Void DrawHudOverFadeThisFrame() { return _i(0xBF4F34A85CA2970C); } // 0xBF4F34A85CA2970C 0x317775DF b323 - // Does stuff like this: + // Does stuff like this: // gyazo.com/7fcb78ea3520e3dbc5b2c0c0f3712617 // // Example: @@ -6247,7 +6247,7 @@ namespace HUD // - FE_MENU_VERSION_LANDING_MENU // - FE_MENU_VERSION_LANDING_KEYMAPPING_MENU inline Void ActivateFrontendMenu(Hash menuhash, BOOL togglePause, int component) { return _i(0xEF01D36B9C9D0C7B,menuhash, togglePause, component); } // 0xEF01D36B9C9D0C7B 0x01D83872 b323 - // Before using this native click the native above and look at the decription. + // Before using this native click the native above and look at the decription. // // Example: // int GetHash = Function.Call(Hash.GetHashKey, "fe_menu_version_corona_lobby"); @@ -6259,23 +6259,23 @@ namespace HUD // p1 = Hash of Menu // p2 = Unknown but always works with -1. inline Void RestartFrontendMenu(Hash menuHash, int p1) { return _i(0x10706DC6AD2D49C0,menuHash, p1); } // 0x10706DC6AD2D49C0 0xB07DAF98 b323 - // if (HUD::GetCurrentFrontendMenuVersion() == joaat("fe_menu_version_empty_no_background")) + // if (HUD::GetCurrentFrontendMenuVersion() == joaat("fe_menu_version_empty_no_background")) inline Hash GetCurrentFrontendMenuVersion() { return _i(0x2309595AD6145265); } // 0x2309595AD6145265 0x33D6868F b323 - // + // inline Void SetPauseMenuActive(BOOL toggle) { return _i(0xDF47FC56C71569CF,toggle); } // 0xDF47FC56C71569CF 0x1DCD878E b323 - // + // inline Void DisableFrontendThisFrame() { return _i(0x6D3465A73092F0E6); } // 0x6D3465A73092F0E6 0xD86A029E b323 - // + // inline Void SuppressFrontendRenderingThisFrame() { return _i(0xBA751764F0821256); } // 0xBA751764F0821256 0x7F349900 b323 - // Allows opening the pause menu this frame, when the player is dead. + // Allows opening the pause menu this frame, when the player is dead. inline Void AllowPauseWhenNotInStateOfPlayThisFrame() { return _i(0xCC3FDDED67BCFC63); } // 0xCC3FDDED67BCFC63 0x630CD8EE b323 - // + // inline Void SetFrontendActive(BOOL active) { return _i(0x745711A75AB09277,active); } // 0x745711A75AB09277 0x81E1AD32 b323 - // + // inline BOOL IsPauseMenuActive() { return _i(0xB0034A223497FFCB); } // 0xB0034A223497FFCB 0xD3600591 b323 - // + // inline BOOL IsStorePendingNetworkShutdownToOpen() { return _i(0x2F057596F2BD0061); } // 0x2F057596F2BD0061 0xC85C4487 b323 - // Returns: + // Returns: // // 0 // 5 @@ -6287,69 +6287,69 @@ namespace HUD // 35 // inline int GetPauseMenuState() { return _i(0x272ACD84970869C5); } // 0x272ACD84970869C5 0x92F50134 b323 - // + // inline Vector3 GetPauseMenuPosition() { return _i(0x5BFF36D6ED83E0AE); } // 0x5BFF36D6ED83E0AE b323 - // + // inline BOOL IsPauseMenuRestarting() { return _i(0x1C491717107431C7); } // 0x1C491717107431C7 0x3C4CF4D9 b323 - // Not present in retail version of the game, actual definiton seems to be - // _LOG_DEBUG_INFO(String category, String debugText); - inline Void ForceScriptedGfxWhenFrontendActive(String p0) { return _i(0x2162C446DFDF38FD,p0); } // 0x2162C446DFDF38FD 0x2DFD35C7 b323 - // + // Not present in retail version of the game, actual definiton seems to be + // _LOG_DEBUG_INFO(const char* category, const char* debugText); + inline Void ForceScriptedGfxWhenFrontendActive(const char* p0) { return _i(0x2162C446DFDF38FD,p0); } // 0x2162C446DFDF38FD 0x2DFD35C7 b323 + // inline Void PauseMenuceptionGoDeeper(int page) { return _i(0x77F16B447824DA6C,page); } // 0x77F16B447824DA6C 0x0A89336C b323 - // + // inline Void PauseMenuceptionTheKick() { return _i(0xCDCA26E80FAECB8F); } // 0xCDCA26E80FAECB8F 0xC84BE309 b323 - // + // inline Void PauseToggleFullscreenMap(Any p0) { return _i(0x2DE6C5E2E996F178,p0); } // 0x2DE6C5E2E996F178 b372 - // Activates the specified frontend menu context. + // 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. inline Void PauseMenuActivateContext(Hash contextHash) { return _i(0xDD564BDD0472C936,contextHash); } // 0xDD564BDD0472C936 0x9FE8FD5E b323 - // + // inline Void PauseMenuDeactivateContext(Hash contextHash) { return _i(0x444D8CF241EC25C5,contextHash); } // 0x444D8CF241EC25C5 0x0029046E b323 - // + // inline BOOL PauseMenuIsContextActive(Hash contextHash) { return _i(0x84698AB38D0C6636,contextHash); } // 0x84698AB38D0C6636 0xC51BC42F b323 - // + // inline BOOL PauseMenuIsContextMenuActive() { return _i(0x2A25ADC48F87841F); } // 0x2A25ADC48F87841F 0x016D7AF9 b323 - // + // inline int PauseMenuGetHairColourIndex() { return _i(0xDE03620F8703A9DF); } // 0xDE03620F8703A9DF b323 - // + // inline int PauseMenuGetMouseHoverIndex() { return _i(0x359AF31A4B52F5ED); } // 0x359AF31A4B52F5ED b323 - // + // inline int PauseMenuGetMouseHoverUniqueId() { return _i(0x13C4B962653A5280); } // 0x13C4B962653A5280 b323 - // + // inline BOOL PauseMenuGetMouseClickEvent(Any* p0, Any* p1, Any* p2) { return _i(0xC8E1071177A23BE5,p0, p1, p2); } // 0xC8E1071177A23BE5 b323 - // + // inline Void PauseMenuRedrawInstructionalButtons(int p0) { return _i(0x4895BDEA16E7C080,p0); } // 0x4895BDEA16E7C080 0x15B24768 b323 - // + // inline Void PauseMenuSetBusySpinner(BOOL p0, int position, int spinnerIndex) { return _i(0xC78E239AC5B2DDB9,p0, position, spinnerIndex); } // 0xC78E239AC5B2DDB9 0x6C67131A b323 - // + // inline Void PauseMenuSetWarnOnTabChange(BOOL p0) { return _i(0xF06EBB91A81E09E3,p0); } // 0xF06EBB91A81E09E3 0x11D09737 b323 - // + // inline BOOL IsFrontendReadyForControl() { return _i(0x3BAB9A4E4F2FF5C7); } // 0x3BAB9A4E4F2FF5C7 0xD3BF3ABD b323 - // 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. + // 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`. inline Void TakeControlOfFrontend() { return _i(0xEC9264727EEC0F28); } // 0xEC9264727EEC0F28 0xC06B763D b323 - // Enables frontend (works in custom frontends, not sure about regular pause menu) navigation keys on keyboard if they were disabled using the native below. + // 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` inline Void ReleaseControlOfFrontend() { return _i(0x14621BB1DF14E2B2); } // 0x14621BB1DF14E2B2 0xB9392CE7 b323 - // + // inline BOOL CodeWantsScriptToTakeControl() { return _i(0x66E7CB63C97B7D20); } // 0x66E7CB63C97B7D20 0x92DAFA78 b323 - // + // inline int GetScreenCodeWantsScriptToControl() { return _i(0x593FEAE1F73392D4); } // 0x593FEAE1F73392D4 0x22CA9F2A b323 - // + // inline BOOL IsNavigatingMenuContent() { return _i(0x4E3CD0EF8A489541); } // 0x4E3CD0EF8A489541 0xDA7951A2 b323 - // + // inline BOOL HasMenuTriggerEventOccurred() { return _i(0xF284AC67940C6812); } // 0xF284AC67940C6812 0x7D95AFFF b323 - // + // inline BOOL HasMenuLayoutChangedEventOccurred() { return _i(0x2E22FEFA0100275E); } // 0x2E22FEFA0100275E 0x96863460 b323 - // + // inline Void SetSavegameListUniqueId(Any p0) { return _i(0xCF54F20DE43879C,p0); } // 0xCF54F20DE43879C b323 - // + // inline Void GetMenuTriggerEventDetails(int* lastItemMenuId, int* selectedItemUniqueId) { return _i(0x36C1451A88A09630,lastItemMenuId, selectedItemUniqueId); } // 0x36C1451A88A09630 0x8543AAC8 b323 - // lastItemMenuId: this is the menuID of the last selected item minus 1000 (lastItem.menuID - 1000) + // 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 // @@ -6368,27 +6368,27 @@ namespace HUD // selectedItemMenuId = -1 // selectedItemUniqueId updates as normal inline Void GetMenuLayoutChangedEventDetails(int* lastItemMenuId, int* selectedItemMenuId, int* selectedItemUniqueId) { return _i(0x7E17BE53E1AAABAF,lastItemMenuId, selectedItemMenuId, selectedItemUniqueId); } // 0x7E17BE53E1AAABAF 0x6025AA2F b323 - // + // inline BOOL GetPmPlayerCrewColor(int* r, int* g, int* b) { return _i(0xA238192F33110615,r, g, b); } // 0xA238192F33110615 0x46794EB2 b323 - // + // inline BOOL GetMenuPedIntStat(Any p0, Any* p1) { return _i(0xEF4CED81CEBEDC6D,p0, p1); } // 0xEF4CED81CEBEDC6D 0x4370999E b323 - // + // inline BOOL GetCharacterMenuPedIntStat(Any p0, Any* p1, Any p2) { return _i(0xCA6B2F7CE32AB653,p0, p1, p2); } // 0xCA6B2F7CE32AB653 b323 - // + // inline BOOL GetMenuPedMaskedIntStat(Hash statHash, int* outValue, int mask, BOOL p3) { return _i(0x90A6526CF0381030,statHash, outValue, mask, p3); } // 0x90A6526CF0381030 0xD6CC4766 b323 - // + // inline BOOL GetCharacterMenuPedMaskedIntStat(Hash statHash, Any* outValue, int p2, int mask, BOOL p4) { return _i(0x24A49BEAF468DC90,statHash, outValue, p2, mask, p4); } // 0x24A49BEAF468DC90 b323 - // + // inline BOOL GetMenuPedFloatStat(Hash statHash, float* outValue) { return _i(0x5FBD7095FE7AE57F,statHash, outValue); } // 0x5FBD7095FE7AE57F 0x51972B04 b323 - // + // inline BOOL GetCharacterMenuPedFloatStat(float statHash, float* outValue, BOOL p2) { return _i(0x8F08017F9D7C47BD,statHash, outValue, p2); } // 0x8F08017F9D7C47BD b323 - // p0 was always 0xAE2602A3. + // p0 was always 0xAE2602A3. inline BOOL GetMenuPedBoolStat(Hash statHash, BOOL* outValue) { return _i(0x52991E59076E4E4,statHash, outValue); } // 0x52991E59076E4E4 0xD43BB56D b323 - // + // inline Void ClearPedInPauseMenu() { return _i(0x5E62BE5DC58E9E06); } // 0x5E62BE5DC58E9E06 0x28058ACF b323 - // p1 is either 1 or 2 in the PC scripts. + // p1 is either 1 or 2 in the PC scripts. inline Void GivePedToPauseMenu(Ped ped, int p1) { return _i(0xAC0BFBDC3BE00E14,ped, p1); } // 0xAC0BFBDC3BE00E14 0x2AD2C9CE b323 - // Toggles the light state for the pause menu ped in frontend menus. + // Toggles the light state for the pause menu ped in frontend menus. // // This is used by R* in combination with `SetPauseMenuPedSleepState` to toggle the "offline" or "online" state in the "friends" tab of the pause menu in GTA Online. // @@ -6397,92 +6397,92 @@ namespace HUD // 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 inline Void SetPauseMenuPedLighting(BOOL state) { return _i(0x3CA6050692BC61B0,state); } // 0x3CA6050692BC61B0 0x127310EB b323 - // Toggles the pause menu ped sleep state for frontend menus. + // 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. inline Void SetPauseMenuPedSleepState(BOOL state) { return _i(0xECF128344E9FF9F1,state); } // 0xECF128344E9FF9F1 0x8F45D327 b323 - // + // inline Void OpenOnlinePoliciesMenu() { return _i(0x805D7CBB36FD6C4C); } // 0x805D7CBB36FD6C4C 0x19FCBBB2 b323 - // + // inline BOOL AreOnlinePoliciesUpToDate() { return _i(0xF13FE2A80C05C561); } // 0xF13FE2A80C05C561 0x850690FF b323 - // Returns the same as IsSocialClubActive + // Returns the same as IsSocialClubActive inline BOOL IsOnlinePoliciesMenuActive() { return _i(0x6F72CD94F7B5B68C); } // 0x6F72CD94F7B5B68C 0x9D4934F4 b323 - // Uses the `SOCIAL_CLUB2` scaleform. + // Uses the `SOCIAL_CLUB2` scaleform. // menu: GALLERY, MISSIONS, CREWS, MIGRATE, PLAYLISTS, JOBS inline Void OpenSocialClubMenu(Hash menu) { return _i(0x75D3691713C3B05A,menu); } // 0x75D3691713C3B05A 0x57218529 b323 - // + // inline Void CloseSocialClubMenu() { return _i(0xD2B32BE3FC1626C6); } // 0xD2B32BE3FC1626C6 0x5F86AA39 b323 - // HUD::SetSocialClubTour("Gallery"); + // HUD::SetSocialClubTour("Gallery"); // HUD::SetSocialClubTour("Missions"); // HUD::SetSocialClubTour("General"); // HUD::SetSocialClubTour("Playlists"); - inline Void SetSocialClubTour(String name) { return _i(0x9E778248D6685FE0,name); } // 0x9E778248D6685FE0 0x7AD67C95 b323 - // + inline Void SetSocialClubTour(const char* name) { return _i(0x9E778248D6685FE0,name); } // 0x9E778248D6685FE0 0x7AD67C95 b323 + // inline BOOL IsSocialClubActive() { return _i(0xC406BE343FC4B9AF); } // 0xC406BE343FC4B9AF 0xD4DA14EF b323 - // + // inline Void SetTextInputBoxEnabled(BOOL p0) { return _i(0x1185A8087587322C,p0); } // 0x1185A8087587322C b323 - // + // inline Void ForceCloseTextInputBox() { return _i(0x8817605C2BA76200); } // 0x8817605C2BA76200 b323 - // + // inline Void SetAllowCommaOnTextInput(Any p0) { return _i(0x577599CCED639CA2,p0); } // 0x577599CCED639CA2 b505 - // + // inline Void OverrideMpTextChatTeamString(Hash gxtEntryHash) { return _i(0x6A1738B4323FE2D9,gxtEntryHash); } // 0x6A1738B4323FE2D9 b573 - // Returns whether or not the text chat (MULTIPLAYER_CHAT Scaleform component) is active. + // Returns whether or not the text chat (MULTIPLAYER_CHAT Scaleform component) is active. inline BOOL IsMpTextChatTyping() { return _i(0xB118AF58B5F332A1); } // 0xB118AF58B5F332A1 b323 - // + // inline Void CloseMpTextChat() { return _i(0x1AC8F4AD40E22127); } // 0x1AC8F4AD40E22127 b323 - // + // inline Void MpTextChatIsTeamJob(Any p0) { return _i(0x7C226D5346D4D10A,p0); } // 0x7C226D5346D4D10A b372 - // + // inline Void OverrideMpTextChatColor(int p0, int hudColor) { return _i(0xF47E567B3630DD12,p0, hudColor); } // 0xF47E567B3630DD12 b678 - // Hides the chat history, closes the input box and makes it unable to be opened unless called again with FALSE. + // Hides the chat history, closes the input box and makes it unable to be opened unless called again with FALSE. inline Void MpTextChatDisable(BOOL toggle) { return _i(0x1DB21A44B09E8BA3,toggle); } // 0x1DB21A44B09E8BA3 b323 - // + // inline Void FlagPlayerContextInTournament(BOOL toggle) { return _i(0xCEF214315D276FD1,toggle); } // 0xCEF214315D276FD1 0xFF06772A b323 - // 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. + // 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. inline Void SetPedHasAiBlip(Ped ped, BOOL hasCone) { return _i(0xD30C50DF888D58B5,ped, hasCone); } // 0xD30C50DF888D58B5 0x96C4C4DD b323 - // color: see SetBlipColour + // color: see SetBlipColour inline Void SetPedHasAiBlipWithColour(Ped ped, BOOL hasCone, int color) { return _i(0xB13DCB4C6FAAD238,ped, hasCone, color); } // 0xB13DCB4C6FAAD238 b505 - // + // inline BOOL DoesPedHaveAiBlip(Ped ped) { return _i(0x15B8ECF844EE67ED,ped); } // 0x15B8ECF844EE67ED 0x3BE1257F b323 - // + // inline Void SetPedAiBlipGangId(Ped ped, int gangId) { return _i(0xE52B8E7F85D39A08,ped, gangId); } // 0xE52B8E7F85D39A08 0xD8E31B1A b323 - // + // inline Void SetPedAiBlipHasCone(Ped ped, BOOL toggle) { return _i(0x3EED80DFF7325CAA,ped, toggle); } // 0x3EED80DFF7325CAA 0x872C2CFB b323 - // + // inline Void SetPedAiBlipForcedOn(Ped ped, BOOL toggle) { return _i(0xC4BBF625CA98C4E,ped, toggle); } // 0xC4BBF625CA98C4E 0xFFDF46F0 b323 - // + // inline Void SetPedAiBlipNoticeRange(Ped ped, float range) { return _i(0x97C65887D4B37FA9,ped, range); } // 0x97C65887D4B37FA9 0xF9DC2AF7 b323 - // + // inline Void SetPedAiBlipSprite(Ped ped, int spriteId) { return _i(0xFCFACD0DB9D7A57D,ped, spriteId); } // 0xFCFACD0DB9D7A57D b877 - // + // inline Blip GetAiPedPedBlipIndex(Ped ped) { return _i(0x7CD934010E115C2C,ped); } // 0x7CD934010E115C2C 0x06349065 b323 - // Returns the current AI BLIP for the specified ped + // Returns the current AI BLIP for the specified ped inline Blip GetAiPedVehicleBlipIndex(Ped ped) { return _i(0x56176892826A4FE8,ped); } // 0x56176892826A4FE8 0xCA52CF43 b323 - // + // inline BOOL HasDirectorModeBeenLaunchedByCode() { return _i(0xA277800A9EAE340E); } // 0xA277800A9EAE340E b323 - // + // inline Void SetDirectorModeLaunchedByScript() { return _i(0x2632482FD6B9AB87); } // 0x2632482FD6B9AB87 b323 - // If toggle is true, hides special ability bar / character name in the pause menu + // 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 inline Void SetPlayerIsInDirectorMode(BOOL toggle) { return _i(0x808519373FD336A3,toggle); } // 0x808519373FD336A3 b323 - // + // inline Void SetDirectorModeAvailable(BOOL toggle) { return _i(0x4655F9D075D0AE5,toggle); } // 0x4655F9D075D0AE5 b323 - // + // inline Void HideHudmarkersThisFrame() { return _i(0x243296A510B562B6); } // 0x243296A510B562B6 b2060 } namespace INTERIOR { - // + // inline float GetInteriorHeading(Interior interior) { return _i(0xF49B58631D9E22D9,interior); } // 0xF49B58631D9E22D9 b1493 - // + // inline Void GetInteriorLocationAndNamehash(Interior interior, Vector3* position, Hash* nameHash) { return _i(0x252BDC06B73FA6EA,interior, position, nameHash); } // 0x252BDC06B73FA6EA 0x75885CB3 b1290 - // Returns the group ID of the specified interior. + // Returns the group ID of the specified interior. // 0 = default // 1 = subway station, subway tracks, sewers // 3 = train tunnel under mirror park @@ -6498,159 +6498,159 @@ namespace INTERIOR // 20 = union depository parking garage // 21 = fib parking garage inline int GetInteriorGroupId(Interior interior) { return _i(0xE4A84ABF135EF91A,interior); } // 0xE4A84ABF135EF91A 0x09D6376F b323 - // + // inline Vector3 GetOffsetFromInteriorInWorldCoords(Interior interior, float x, float y, float z) { return _i(0x9E3B3E6D66F6E22F,interior, x, y, z); } // 0x9E3B3E6D66F6E22F 0x7D8F26A1 b323 - // + // inline BOOL IsInteriorScene() { return _i(0xBC72B5D7A1CBD54D); } // 0xBC72B5D7A1CBD54D 0x55226C13 b323 - // + // inline BOOL IsValidInterior(Interior interior) { return _i(0x26B0E73D7EAAF4D3,interior); } // 0x26B0E73D7EAAF4D3 0x39C0B635 b323 - // + // inline Void ClearRoomForEntity(Entity entity) { return _i(0xB365FC0C4E27FFA7,entity); } // 0xB365FC0C4E27FFA7 0x7DDADB92 b323 - // + // inline Void ForceRoomForEntity(Entity entity, Interior interior, Hash roomHashKey) { return _i(0x52923C4710DD9907,entity, interior, roomHashKey); } // 0x52923C4710DD9907 0x10BD4435 b323 - // 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. + // 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. inline Hash GetRoomKeyFromEntity(Entity entity) { return _i(0x47C2A06D4F5F424B,entity); } // 0x47C2A06D4F5F424B 0xE4ACF8C3 b323 - // Seems to do the exact same as INTERIOR::GetRoomKeyFromEntity + // Seems to do the exact same as INTERIOR::GetRoomKeyFromEntity inline Hash GetKeyForEntityInRoom(Entity entity) { return _i(0x399685DB942336BC,entity); } // 0x399685DB942336BC 0x91EA80EF b323 - // Returns the handle of the interior that the entity is in. Returns 0 if outside. + // Returns the handle of the interior that the entity is in. Returns 0 if outside. inline Interior GetInteriorFromEntity(Entity entity) { return _i(0x2107BA504071A6BB,entity); } // 0x2107BA504071A6BB 0x5C644614 b323 - // + // inline Void RetainEntityInInterior(Entity entity, Interior interior) { return _i(0x82EBB79E258FA2B7,entity, interior); } // 0x82EBB79E258FA2B7 0xE645E162 b323 - // Immediately removes entity from an interior. Like sets entity to `limbo` room. + // Immediately removes entity from an interior. Like sets entity to `limbo` room. inline Void ClearInteriorStateOfEntity(Entity entity) { return _i(0x85D5422B2039A70D,entity); } // 0x85D5422B2039A70D b2189 - // + // inline Void ForceActivatingTrackingOnEntity(Any p0, Any p1) { return _i(0x38C1CB1CB119A016,p0, p1); } // 0x38C1CB1CB119A016 b1493 - // + // inline Void ForceRoomForGameViewport(int interiorID, Hash roomHashKey) { return _i(0x920D853F3E17F1DA,interiorID, roomHashKey); } // 0x920D853F3E17F1DA 0xD79803B5 b323 - // Example of use (carmod_shop) + // Example of use (carmod_shop) // INTERIOR::SetRoomForGameViewportByName("V_CarModRoom"); - inline Void SetRoomForGameViewportByName(String roomName) { return _i(0xAF348AFCB575A441,roomName); } // 0xAF348AFCB575A441 0x1F6B4B13 b323 - // Usage: INTERIOR::SetRoomForGameViewportByKey(INTERIOR::GetKeyForEntityInRoom(PLAYER::PlayerPedId())); + inline Void SetRoomForGameViewportByName(const char* roomName) { return _i(0xAF348AFCB575A441,roomName); } // 0xAF348AFCB575A441 0x1F6B4B13 b323 + // Usage: INTERIOR::SetRoomForGameViewportByKey(INTERIOR::GetKeyForEntityInRoom(PLAYER::PlayerPedId())); inline Void SetRoomForGameViewportByKey(Hash roomHashKey) { return _i(0x405DC2AEF6AF95B9,roomHashKey); } // 0x405DC2AEF6AF95B9 0x0E9529CC b323 - // + // inline Hash GetRoomKeyForGameViewport() { return _i(0xA6575914D2A0B450); } // 0xA6575914D2A0B450 0x4FF3D3F5 b323 - // + // inline Void ClearRoomForGameViewport() { return _i(0x23B59D8912F94246); } // 0x23B59D8912F94246 0x617DC75D b323 - // Returns the current interior id from gameplay camera + // Returns the current interior id from gameplay camera inline Interior GetInteriorFromPrimaryView() { return _i(0xE7D267EC6CA966C3); } // 0xE7D267EC6CA966C3 0xA83C3D15 b1604 - // Returns interior ID from specified coordinates. If coordinates are outside, then it returns 0. + // 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.GetInteriorAtCoords, X, Y, Z) inline Interior GetInteriorAtCoords(float x, float y, float z) { return _i(0xB0F7F8663821D9C3,x, y, z); } // 0xB0F7F8663821D9C3 0xA17FBF37 b323 - // - inline Void AddPickupToInteriorRoomByName(Pickup pickup, String roomName) { return _i(0x3F6167F351168730,pickup, roomName); } // 0x3F6167F351168730 0xA2A73564 b323 - // + // + inline Void AddPickupToInteriorRoomByName(Pickup pickup, const char* roomName) { return _i(0x3F6167F351168730,pickup, roomName); } // 0x3F6167F351168730 0xA2A73564 b323 + // inline Void PinInteriorInMemory(Interior interior) { return _i(0x2CA429C029CCF247,interior); } // 0x2CA429C029CCF247 0x3ADA414E b323 - // Does something similar to INTERIOR::DisableInterior. + // Does something similar to INTERIOR::DisableInterior. // // You don't fall through the floor but everything is invisible inside and looks the same as when INTERIOR::DisableInterior is used. Peds behaves normally inside. inline Void UnpinInterior(Interior interior) { return _i(0x261CCE7EED010641,interior); } // 0x261CCE7EED010641 0xFCFF792A b323 - // + // inline BOOL IsInteriorReady(Interior interior) { return _i(0x6726BDCCC1932F0E,interior); } // 0x6726BDCCC1932F0E 0xE1EF6450 b323 - // Only used once in the entire game scripts. + // Only used once in the entire game scripts. // Does not actually return anything. inline BOOL SetInteriorInUse(Interior interior) { return _i(0x4C2330E61D3DEB56,interior); } // 0x4C2330E61D3DEB56 b323 - // 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. + // 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::UnpinInterior(INTERIOR::GetInteriorAtCoords_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 GetInteriorAtCoords instead and get the same result, without even having to specify the interior type. - inline Interior GetInteriorAtCoordsWithType(float x, float y, float z, String interiorType) { return _i(0x5B7A89BD78797FC,x, y, z, interiorType); } // 0x5B7A89BD78797FC 0x96525B06 b323 - // Hashed version of GetInteriorAtCoords_WITH_TYPE + inline Interior GetInteriorAtCoordsWithType(float x, float y, float z, const char* interiorType) { return _i(0x5B7A89BD78797FC,x, y, z, interiorType); } // 0x5B7A89BD78797FC 0x96525B06 b323 + // Hashed version of GetInteriorAtCoords_WITH_TYPE inline Interior GetInteriorAtCoordsWithTypehash(float x, float y, float z, Hash typeHash) { return _i(0xF0F77ADB9F67E79D,x, y, z, typeHash); } // 0xF0F77ADB9F67E79D 0x11718507 b323 - // + // inline Void ActivateInteriorGroupsUsingCamera() { return _i(0x483ACA1176CA93F1); } // 0x483ACA1176CA93F1 b1103 - // Returns true if the collision at the specified coords is marked as being outside (false if there's an interior) + // Returns true if the collision at the specified coords is marked as being outside (false if there's an interior) inline BOOL IsCollisionMarkedOutside(float x, float y, float z) { return _i(0xEEA5AC2EDA7C33E8,x, y, z); } // 0xEEA5AC2EDA7C33E8 0x7762249C b323 - // + // inline Interior GetInteriorFromCollision(float x, float y, float z) { return _i(0xEC4CF9FCB29A4424,x, y, z); } // 0xEC4CF9FCB29A4424 0x7ED33DC1 b323 - // + // inline Void EnableStadiumProbesThisFrame(BOOL toggle) { return _i(0x7ECDF98587E92DEC,toggle); } // 0x7ECDF98587E92DEC b1604 - // More info: http://gtaforums.com/topic/836367-adding-props-to-interiors/ + // 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 - inline Void ActivateInteriorEntitySet(Interior interior, String entitySetName) { return _i(0x55E86AF2712B36A1,interior, entitySetName); } // 0x55E86AF2712B36A1 0xC80A5DDF b323 - // Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json - inline Void DeactivateInteriorEntitySet(Interior interior, String entitySetName) { return _i(0x420BD37289EEE162,interior, entitySetName); } // 0x420BD37289EEE162 0xDBA768A1 b323 - // Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json - inline BOOL IsInteriorEntitySetActive(Interior interior, String entitySetName) { return _i(0x35F7DD45E8C0A16D,interior, entitySetName); } // 0x35F7DD45E8C0A16D 0x39A3CC6F b323 - // Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json - inline Void SetInteriorEntitySetTintIndex(Interior interior, String entitySetName, int color) { return _i(0xC1F1920BAF281317,interior, entitySetName, color); } // 0xC1F1920BAF281317 b877 - // + inline Void ActivateInteriorEntitySet(Interior interior, const char* entitySetName) { return _i(0x55E86AF2712B36A1,interior, entitySetName); } // 0x55E86AF2712B36A1 0xC80A5DDF b323 + // Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json + inline Void DeactivateInteriorEntitySet(Interior interior, const char* entitySetName) { return _i(0x420BD37289EEE162,interior, entitySetName); } // 0x420BD37289EEE162 0xDBA768A1 b323 + // Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json + inline BOOL IsInteriorEntitySetActive(Interior interior, const char* entitySetName) { return _i(0x35F7DD45E8C0A16D,interior, entitySetName); } // 0x35F7DD45E8C0A16D 0x39A3CC6F b323 + // Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json + inline Void SetInteriorEntitySetTintIndex(Interior interior, const char* entitySetName, int color) { return _i(0xC1F1920BAF281317,interior, entitySetName, color); } // 0xC1F1920BAF281317 b877 + // inline Void RefreshInterior(Interior interior) { return _i(0x41F37C3427C75AE0,interior); } // 0x41F37C3427C75AE0 0x9A29ACE6 b323 - // This is the native that is used to hide the exterior of GTA Online apartment buildings when you are inside an apartment. + // 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/ inline Void EnableExteriorCullModelThisFrame(Hash mapObjectHash) { return _i(0xA97F257D0151A6AB,mapObjectHash); } // 0xA97F257D0151A6AB 0x1F375B4C b323 - // + // inline Void EnableShadowCullModelThisFrame(Hash mapObjectHash) { return _i(0x50C375537449F369,mapObjectHash); } // 0x50C375537449F369 b757 - // Example: + // Example: // This removes the interior from the strip club and when trying to walk inside the player just falls: // // INTERIOR::DisableInterior(118018, true); inline Void DisableInterior(Interior interior, BOOL toggle) { return _i(0x6170941419D7D8EC,interior, toggle); } // 0x6170941419D7D8EC 0x093ADEA5 b323 - // + // inline BOOL IsInteriorDisabled(Interior interior) { return _i(0xBC5115A5A939DD15,interior); } // 0xBC5115A5A939DD15 0x81F34C71 b323 - // Does something similar to INTERIOR::DisableInterior + // Does something similar to INTERIOR::DisableInterior inline Void CapInterior(Interior interior, BOOL toggle) { return _i(0xD9175F941610DB54,interior, toggle); } // 0xD9175F941610DB54 0x34E735A6 b323 - // + // inline BOOL IsInteriorCapped(Interior interior) { return _i(0x92BAC8ACF88CEC26,interior); } // 0x92BAC8ACF88CEC26 0x18B17C80 b323 - // + // inline Void DisableMetroSystem(BOOL toggle) { return _i(0x9E6542F0CE8E70A3,toggle); } // 0x9E6542F0CE8E70A3 0x5EF9C5C2 b323 - // Jenkins hash _might_ be 0xFC227584. + // Jenkins hash _might_ be 0xFC227584. inline Void SetIsExteriorOnly(Entity entity, BOOL toggle) { return _i(0x7241CCB7D020DB69,entity, toggle); } // 0x7241CCB7D020DB69 b791 } namespace ITEMSET { - // + // inline ScrHandle CreateItemset(BOOL p0) { return _i(0x35AD299F50D91B24,p0); } // 0x35AD299F50D91B24 0x0A113B2C b323 - // + // inline Void DestroyItemset(ScrHandle itemset) { return _i(0xDE18220B1C183EDA,itemset); } // 0xDE18220B1C183EDA 0x83CE1A4C b323 - // + // inline BOOL IsItemsetValid(ScrHandle itemset) { return _i(0xB1B1EA596344DFAB,itemset); } // 0xB1B1EA596344DFAB 0xD201FC29 b323 - // + // inline BOOL AddToItemset(ScrHandle item, ScrHandle itemset) { return _i(0xE3945201F14637DD,item, itemset); } // 0xE3945201F14637DD 0x6B0FE61B b323 - // + // inline Void RemoveFromItemset(ScrHandle item, ScrHandle itemset) { return _i(0x25E68244B0177686,item, itemset); } // 0x25E68244B0177686 0xA9565228 b323 - // + // inline int GetItemsetSize(ScrHandle itemset) { return _i(0xD9127E83ABF7C631,itemset); } // 0xD9127E83ABF7C631 0x2B31F41A b323 - // + // inline ScrHandle GetIndexedItemInItemset(int index, ScrHandle itemset) { return _i(0x7A197E2521EE2BAB,index, itemset); } // 0x7A197E2521EE2BAB 0x3F712874 b323 - // + // inline BOOL IsInItemset(ScrHandle item, ScrHandle itemset) { return _i(0x2D0FC594D1E9C107,item, itemset); } // 0x2D0FC594D1E9C107 0x0D4B9730 b323 - // + // inline Void CleanItemset(ScrHandle itemset) { return _i(0x41BC0D722FC04221,itemset); } // 0x41BC0D722FC04221 0x919A4858 b323 } namespace LOADINGSCREEN { - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline BOOL LobbyAutoMultiplayerMenu() { return _i(0xF2CA003F167E21D2); } // 0xF2CA003F167E21D2 0x106C8317 b323 - // + // inline BOOL LobbyAutoMultiplayerFreemode() { return _i(0xEF7D17BC6C85264C); } // 0xEF7D17BC6C85264C 0xD87F3A9E b323 - // + // inline Void LobbySetAutoMultiplayer(BOOL toggle) { return _i(0xB0C56BD3D808D863,toggle); } // 0xB0C56BD3D808D863 0xC0B971EA b323 - // + // inline BOOL LobbyAutoMultiplayerEvent() { return _i(0x8AA464D4E0F6ACCD); } // 0x8AA464D4E0F6ACCD 0x94BCAC7C b323 - // + // inline Void LobbySetAutoMultiplayerEvent(BOOL toggle) { return _i(0xFC309E94546FCDB5,toggle); } // 0xFC309E94546FCDB5 0x7D90EEE5 b323 - // + // inline BOOL LobbyAutoMultiplayerRandomJob() { return _i(0xC6DC823253FBB366); } // 0xC6DC823253FBB366 0x734CFEDA b323 - // + // inline Void LobbySetAutoMpRandomJob(BOOL toggle) { return _i(0xC7E7181C09F33B69,toggle); } // 0xC7E7181C09F33B69 0x8C227332 b323 - // + // inline Void ShutdownSessionClearsAutoMultiplayer(BOOL toggle) { return _i(0xFA1E0E893D915215,toggle); } // 0xFA1E0E893D915215 0x5C350D78 b323 } namespace LOCALIZATION { - // Same return values as GetCurrentLanguage + // Same return values as GetCurrentLanguage inline int LocalizationGetSystemLanguage() { return _i(0x497420E022796B3F); } // 0x497420E022796B3F b877 - // 0 = american (en-US) + // 0 = american (en-US) // 1 = french (fr-FR) // 2 = german (de-DE) // 3 = italian (it-IT) @@ -6664,80 +6664,80 @@ namespace LOCALIZATION // 11 = mexican (es-MX) // 12 = chinesesimp (zh-CN) inline int GetCurrentLanguage() { return _i(0x2BDD44CC428A7EAE); } // 0x2BDD44CC428A7EAE 0x761BE00B b323 - // Possible return values: 0, 1, 2 + // Possible return values: 0, 1, 2 inline int LocalizationGetSystemDateType() { return _i(0xA8AE43AEC1A61314); } // 0xA8AE43AEC1A61314 b323 } namespace MISC { - // + // inline int GetAllocatedStackSize() { return _i(0x8B3CA62B1EF19B62); } // 0x8B3CA62B1EF19B62 0x4E9CA30A b323 - // + // inline int GetNumberOfFreeStacksOfThisSize(int stackSize) { return _i(0xFEAD16FC8F9DFC0F,stackSize); } // 0xFEAD16FC8F9DFC0F 0x11A178B8 b323 - // + // inline Void SetRandomSeed(int seed) { return _i(0x444D98F98C11F3EC,seed); } // 0x444D98F98C11F3EC 0xDB3FEB5C b323 - // Maximum value is 1. + // 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 inline Void SetTimeScale(float timeScale) { return _i(0x1D408577D440E81E,timeScale); } // 0x1D408577D440E81E 0xA7F84694 b323 - // If true, the player can't save the game. + // 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 inline Void SetMissionFlag(BOOL toggle) { return _i(0xC4301E5121A0ED73,toggle); } // 0xC4301E5121A0ED73 0x57592D52 b323 - // + // inline BOOL GetMissionFlag() { return _i(0xA33CDCCDA663159E); } // 0xA33CDCCDA663159E 0x95115F97 b323 - // If the parameter is true, sets the random event flag to true, if the parameter is false, the function does nothing at all. + // 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. inline Void SetRandomEventFlag(BOOL toggle) { return _i(0x971927086CFD2158,toggle); } // 0x971927086CFD2158 0xA77F31E8 b323 - // + // inline BOOL GetRandomEventFlag() { return _i(0xD2D57F1D764117B1); } // 0xD2D57F1D764117B1 0x794CC92C b323 - // Returns pointer to an empty string. - inline String GetContentToLoad() { return _i(0x24DA7D7667FD7B09); } // 0x24DA7D7667FD7B09 b323 - // Does nothing (it's a nullsub). Seems to be PS4 specific. - inline Void ActivityFeedCreate(String p0, String p1) { return _i(0x4DCDF92BF64236CD,p0, p1); } // 0x4DCDF92BF64236CD b323 - // Does nothing (it's a nullsub). Seems to be PS4 specific. - inline Void ActivityFeedAddSubstringToCaption(String p0) { return _i(0x31125FD509D9043F,p0); } // 0x31125FD509D9043F b323 - // Does nothing (it's a nullsub). Seems to be PS4 specific. - inline Void ActivityFeedAddLiteralSubstringToCaption(String p0) { return _i(0xEBD3205A207939ED,p0); } // 0xEBD3205A207939ED b323 - // Does nothing (it's a nullsub). Seems to be PS4 specific. + // Returns pointer to an empty string. + inline const char* GetContentToLoad() { return _i(0x24DA7D7667FD7B09); } // 0x24DA7D7667FD7B09 b323 + // Does nothing (it's a nullsub). Seems to be PS4 specific. + inline Void ActivityFeedCreate(const char* p0, const char* p1) { return _i(0x4DCDF92BF64236CD,p0, p1); } // 0x4DCDF92BF64236CD b323 + // Does nothing (it's a nullsub). Seems to be PS4 specific. + inline Void ActivityFeedAddSubstringToCaption(const char* p0) { return _i(0x31125FD509D9043F,p0); } // 0x31125FD509D9043F b323 + // Does nothing (it's a nullsub). Seems to be PS4 specific. + inline Void ActivityFeedAddLiteralSubstringToCaption(const char* p0) { return _i(0xEBD3205A207939ED,p0); } // 0xEBD3205A207939ED b323 + // Does nothing (it's a nullsub). Seems to be PS4 specific. inline Void ActivityFeedAddIntToCaption(Any p0) { return _i(0x97E7E2C04245115B,p0); } // 0x97E7E2C04245115B b323 - // Does nothing (it's a nullsub). Seems to be PS4 specific. - inline Void ActivityFeedLargeImageUrl(String p0) { return _i(0x916CA67D26FD1E37,p0); } // 0x916CA67D26FD1E37 b2060 - // Does nothing (it's a nullsub). Seems to be PS4 specific. - inline Void ActivityFeedActionStartWithCommandLine(String p0, String p1) { return _i(0xEB078CA2B5E82ADD,p0, p1); } // 0xEB078CA2B5E82ADD b323 - // Does nothing (it's a nullsub). Seems to be PS4 specific. - inline Void ActivityFeedActionStartWithCommandLineAdd(String p0) { return _i(0x703CC7F60CBB2B57,p0); } // 0x703CC7F60CBB2B57 b323 - // Does nothing (it's a nullsub). Seems to be PS4 specific. + // Does nothing (it's a nullsub). Seems to be PS4 specific. + inline Void ActivityFeedLargeImageUrl(const char* p0) { return _i(0x916CA67D26FD1E37,p0); } // 0x916CA67D26FD1E37 b2060 + // Does nothing (it's a nullsub). Seems to be PS4 specific. + inline Void ActivityFeedActionStartWithCommandLine(const char* p0, const char* p1) { return _i(0xEB078CA2B5E82ADD,p0, p1); } // 0xEB078CA2B5E82ADD b323 + // Does nothing (it's a nullsub). Seems to be PS4 specific. + inline Void ActivityFeedActionStartWithCommandLineAdd(const char* p0) { return _i(0x703CC7F60CBB2B57,p0); } // 0x703CC7F60CBB2B57 b323 + // Does nothing (it's a nullsub). Seems to be PS4 specific. inline Void ActivityFeedPost() { return _i(0x8951EB9C6906D3C8); } // 0x8951EB9C6906D3C8 b323 - // Does nothing (it's a nullsub). Seems to be PS4 specific. + // Does nothing (it's a nullsub). Seems to be PS4 specific. // // Used only once in the scripts (ingamehud) with p0 = "AF_GAMEMODE" - inline Void ActivityFeedOnlinePlayedWithPost(String p0) { return _i(0xBA4B8D83BDC75551,p0); } // 0xBA4B8D83BDC75551 b323 - // Hardcoded to return false. + inline Void ActivityFeedOnlinePlayedWithPost(const char* p0) { return _i(0xBA4B8D83BDC75551,p0); } // 0xBA4B8D83BDC75551 b323 + // Hardcoded to return false. inline BOOL HasResumedFromSuspend() { return _i(0xE8B9C0EC9E183F35); } // 0xE8B9C0EC9E183F35 b323 - // Sets GtaThread+0x14A + // Sets GtaThread+0x14A inline Void SetScriptHighPrio(BOOL toggle) { return _i(0x65D2EBB47E1CEC21,toggle); } // 0x65D2EBB47E1CEC21 b323 - // Sets bit 3 in GtaThread+0x150 + // Sets bit 3 in GtaThread+0x150 inline Void SetThisIsATriggerScript(BOOL toggle) { return _i(0x6F2135B6129620C1,toggle); } // 0x6F2135B6129620C1 0x8B2DE971 b323 - // - inline Void InformCodeOfContentIdOfCurrentUgcMission(String p0) { return _i(0x8D74E26F54B4E5C3,p0); } // 0x8D74E26F54B4E5C3 0xE77199F7 b323 - // + // + inline Void InformCodeOfContentIdOfCurrentUgcMission(const char* p0) { return _i(0x8D74E26F54B4E5C3,p0); } // 0x8D74E26F54B4E5C3 0xE77199F7 b323 + // inline BOOL GetBaseElementLocationFromMetadataBlock(Any* p0, Any* p1, Any p2, BOOL p3) { return _i(0xB335F761606DB47C,p0, p1, p2, p3); } // 0xB335F761606DB47C b323 - // Returns current weather name hash + // Returns current weather name hash inline Hash GetPrevWeatherTypeHashName() { return _i(0x564B884A05EC45A3); } // 0x564B884A05EC45A3 0xA8171E9E b323 - // Returns weather name hash + // Returns weather name hash inline Hash GetNextWeatherTypeHashName() { return _i(0x711327CD09C8F162); } // 0x711327CD09C8F162 0x353E8056 b323 - // - inline BOOL IsPrevWeatherType(String weatherType) { return _i(0x44F28F86433B10A9,weatherType); } // 0x44F28F86433B10A9 0x250ADA61 b323 - // - inline BOOL IsNextWeatherType(String weatherType) { return _i(0x2FAA3A30BEC0F25D,weatherType); } // 0x2FAA3A30BEC0F25D 0x99CB167F b323 - // The following weatherTypes are used in the scripts: + // + inline BOOL IsPrevWeatherType(const char* weatherType) { return _i(0x44F28F86433B10A9,weatherType); } // 0x44F28F86433B10A9 0x250ADA61 b323 + // + inline BOOL IsNextWeatherType(const char* weatherType) { return _i(0x2FAA3A30BEC0F25D,weatherType); } // 0x2FAA3A30BEC0F25D 0x99CB167F b323 + // The following weatherTypes are used in the scripts: // "CLEAR" // "EXTRASUNNY" // "CLOUDS" @@ -6753,8 +6753,8 @@ namespace MISC // "BLIZZARD" // "HALLOWEEN" // "NEUTRAL" - inline Void SetWeatherTypePersist(String weatherType) { return _i(0x704983DF373B198F,weatherType); } // 0x704983DF373B198F 0xC6C04C75 b323 - // The following weatherTypes are used in the scripts: + inline Void SetWeatherTypePersist(const char* weatherType) { return _i(0x704983DF373B198F,weatherType); } // 0x704983DF373B198F 0xC6C04C75 b323 + // The following weatherTypes are used in the scripts: // "CLEAR" // "EXTRASUNNY" // "CLOUDS" @@ -6770,8 +6770,8 @@ namespace MISC // "BLIZZARD" // "HALLOWEEN" // "NEUTRAL" - inline Void SetWeatherTypeNowPersist(String weatherType) { return _i(0xED712CA327900C8A,weatherType); } // 0xED712CA327900C8A 0xC869FE97 b323 - // The following weatherTypes are used in the scripts: + inline Void SetWeatherTypeNowPersist(const char* weatherType) { return _i(0xED712CA327900C8A,weatherType); } // 0xED712CA327900C8A 0xC869FE97 b323 + // The following weatherTypes are used in the scripts: // "CLEAR" // "EXTRASUNNY" // "CLOUDS" @@ -6787,18 +6787,18 @@ namespace MISC // "BLIZZARD" // "HALLOWEEN" // "NEUTRAL" - inline Void SetWeatherTypeNow(String weatherType) { return _i(0x29B487C359E19889,weatherType); } // 0x29B487C359E19889 0x361E9EAC b323 - // - inline Void SetWeatherTypeOvertimePersist(String weatherType, float time) { return _i(0xFB5045B7C42B75BF,weatherType, time); } // 0xFB5045B7C42B75BF 0x386F0D25 b323 - // + inline Void SetWeatherTypeNow(const char* weatherType) { return _i(0x29B487C359E19889,weatherType); } // 0x29B487C359E19889 0x361E9EAC b323 + // + inline Void SetWeatherTypeOvertimePersist(const char* weatherType, float time) { return _i(0xFB5045B7C42B75BF,weatherType, time); } // 0xFB5045B7C42B75BF 0x386F0D25 b323 + // inline Void SetRandomWeatherType() { return _i(0x8B05F884CF7E8020); } // 0x8B05F884CF7E8020 0xE7AA1BC9 b323 - // + // inline Void ClearWeatherTypePersist() { return _i(0xCCC39339BEF76CF5); } // 0xCCC39339BEF76CF5 0x6AB757D8 b323 - // + // inline Void ClearWeatherTypeNowPersistNetwork(int milliseconds) { return _i(0xCF97F497FE7D048,milliseconds); } // 0xCF97F497FE7D048 b1103 - // + // inline Void GetCurrWeatherState(Hash* weatherType1, Hash* weatherType2, float* percentWeather2) { return _i(0xF3BBE884A14BB413,weatherType1, weatherType2, percentWeather2); } // 0xF3BBE884A14BB413 0x9A5C1D56 b323 - // 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: + // 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); // @@ -6828,74 +6828,74 @@ namespace MISC // 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. inline Void SetCurrWeatherState(Hash weatherType1, Hash weatherType2, float percentWeather2) { return _i(0x578C752848ECFA0C,weatherType1, weatherType2, percentWeather2); } // 0x578C752848ECFA0C 0x5CA74040 b323 - // Appears to have an optional bool parameter that is unused in the scripts. + // Appears to have an optional bool parameter that is unused in the scripts. // // If you pass true, something will be set to zero. - inline Void SetOverrideWeather(String weatherType) { return _i(0xA43D5C6FE51ADBEF,weatherType); } // 0xA43D5C6FE51ADBEF 0xD9082BB5 b323 - // Identical to SetOverrideWeather but has an additional BOOL param that sets some weather var to 0 if true - inline Void SetOverrideWeatherex(String weatherType, BOOL p1) { return _i(0x1178E104409FE58C,weatherType, p1); } // 0x1178E104409FE58C b2189 - // + inline Void SetOverrideWeather(const char* weatherType) { return _i(0xA43D5C6FE51ADBEF,weatherType); } // 0xA43D5C6FE51ADBEF 0xD9082BB5 b323 + // Identical to SetOverrideWeather but has an additional BOOL param that sets some weather var to 0 if true + inline Void SetOverrideWeatherex(const char* weatherType, BOOL p1) { return _i(0x1178E104409FE58C,weatherType, p1); } // 0x1178E104409FE58C b2189 + // inline Void ClearOverrideWeather() { return _i(0x338D2E3477711050); } // 0x338D2E3477711050 0x7740EA4E b323 - // + // inline Void WaterOverrideSetShorewaveamplitude(float amplitude) { return _i(0xB8F87EAD7533B176,amplitude); } // 0xB8F87EAD7533B176 0x625181DC b323 - // + // inline Void WaterOverrideSetShorewaveminamplitude(float minAmplitude) { return _i(0xC3EAD29AB273ECE8,minAmplitude); } // 0xC3EAD29AB273ECE8 0xBEBBFDC8 b323 - // + // inline Void WaterOverrideSetShorewavemaxamplitude(float maxAmplitude) { return _i(0xA7A1127490312C36,maxAmplitude); } // 0xA7A1127490312C36 0x6926AB03 b323 - // + // inline Void WaterOverrideSetOceannoiseminamplitude(float minAmplitude) { return _i(0x31727907B2C43C55,minAmplitude); } // 0x31727907B2C43C55 0xD447439D b323 - // + // inline Void WaterOverrideSetOceanwaveamplitude(float amplitude) { return _i(0x405591EC8FD9096D,amplitude); } // 0x405591EC8FD9096D 0x584E9C59 b323 - // + // inline Void WaterOverrideSetOceanwaveminamplitude(float minAmplitude) { return _i(0xF751B16FB32ABC1D,minAmplitude); } // 0xF751B16FB32ABC1D 0x5656D578 b323 - // + // inline Void WaterOverrideSetOceanwavemaxamplitude(float maxAmplitude) { return _i(0xB3E6360DDE733E82,maxAmplitude); } // 0xB3E6360DDE733E82 0x0DE40C28 b323 - // + // inline Void WaterOverrideSetRipplebumpiness(float bumpiness) { return _i(0x7C9C0B1EEB1F9072,bumpiness); } // 0x7C9C0B1EEB1F9072 0x98C9138B b323 - // + // inline Void WaterOverrideSetRippleminbumpiness(float minBumpiness) { return _i(0x6216B116083A7CB4,minBumpiness); } // 0x6216B116083A7CB4 0xFB1A9CDE b323 - // + // inline Void WaterOverrideSetRipplemaxbumpiness(float maxBumpiness) { return _i(0x9F5E6BB6B34540DA,maxBumpiness); } // 0x9F5E6BB6B34540DA 0x1C0CAE89 b323 - // + // inline Void WaterOverrideSetRippledisturb(float disturb) { return _i(0xB9854DFDE0D833D6,disturb); } // 0xB9854DFDE0D833D6 0x4671AC2E b323 - // This seems to edit the water wave, intensity around your current location. + // 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. inline Void WaterOverrideSetStrength(float strength) { return _i(0xC54A08C85AE4D410,strength); } // 0xC54A08C85AE4D410 0xDA02F415 b323 - // + // inline Void WaterOverrideFadeIn(float p0) { return _i(0xA8434F1DFF41D6E7,p0); } // 0xA8434F1DFF41D6E7 0x5F3DDEC0 b323 - // + // inline Void WaterOverrideFadeOut(float p0) { return _i(0xC3C221ADDDE31A11,p0); } // 0xC3C221ADDDE31A11 0x63A89684 b323 - // Sets the the normalized wind speed value. The wind speed clamps always at 12.0, SetWind sets the wind in a percentage, 0.0 is 0 and 1.0 is 12.0. Setting this value to a negative number resumes the random wind speed changes provided by the game. + // Sets the the normalized wind speed value. The wind speed clamps always at 12.0, SetWind sets the wind in a percentage, 0.0 is 0 and 1.0 is 12.0. Setting this value to a negative number resumes the random wind speed changes provided by the game. inline Void SetWind(float speed) { return _i(0xAC3A74E8384A9919,speed); } // 0xAC3A74E8384A9919 0xC6294698 b323 - // Using this native will set the absolute wind speed value. The wind speed clamps to a range of 0.0- 12.0. Setting this value to a negative number resumes the random wind speed changes provided by the game. + // Using this native will set the absolute wind speed value. The wind speed clamps to a range of 0.0- 12.0. Setting this value to a negative number resumes the random wind speed changes provided by the game. inline Void SetWindSpeed(float speed) { return _i(0xEE09ECEDBABE47FC,speed); } // 0xEE09ECEDBABE47FC 0x45705F94 b323 - // + // inline float GetWindSpeed() { return _i(0xA8CF1CC0AFCD3F12); } // 0xA8CF1CC0AFCD3F12 0x098F0F3C b323 - // The wind direction in radians + // The wind direction in radians // 180 degrees (PI), wind will blow from the south. Setting this value to a negative number resumes the random wind direction changes provided by the game. inline Void SetWindDirection(float direction) { return _i(0xEB0F4468467B4528,direction); } // 0xEB0F4468467B4528 0x381AEEE9 b323 - // + // inline Vector3 GetWindDirection() { return _i(0x1F400FEF721170DA); } // 0x1F400FEF721170DA 0x89499A0D b323 - // 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` 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`. inline Void SetRain(float intensity) { return _i(0x643E26EA6E024D92,intensity); } // 0x643E26EA6E024D92 b323 - // + // inline float GetRainLevel() { return _i(0x96695E368AD855F3); } // 0x96695E368AD855F3 0xC9F67F28 b323 - // + // inline Void SetSnow(float level) { return _i(0x7F06937B0CDCBC1A,level); } // 0x7F06937B0CDCBC1A b1868 - // + // inline float GetSnowLevel() { return _i(0xC5868A966E5BE3AE); } // 0xC5868A966E5BE3AE 0x1B09184F b323 - // creates single lightning+thunder at random position + // creates single lightning+thunder at random position inline Void ForceLightningFlash() { return _i(0xF6062E089251C898); } // 0xF6062E089251C898 0xDF38165E b323 - // - inline Void SetCloudSettingsOverride(String p0) { return _i(0x2DEAAC8F8EA7FE7,p0); } // 0x2DEAAC8F8EA7FE7 b323 - // - inline Void PreloadCloudHat(String name) { return _i(0x11B56FBBF7224868,name); } // 0x11B56FBBF7224868 0x8727A4C5 b323 - // The following cloudhats are useable: + // + inline Void SetCloudSettingsOverride(const char* p0) { return _i(0x2DEAAC8F8EA7FE7,p0); } // 0x2DEAAC8F8EA7FE7 b323 + // + inline Void PreloadCloudHat(const char* name) { return _i(0x11B56FBBF7224868,name); } // 0x11B56FBBF7224868 0x8727A4C5 b323 + // The following cloudhats are useable: // altostratus // Cirrus // cirrocumulus @@ -6917,30 +6917,30 @@ namespace MISC // shower // Wispy // - inline Void LoadCloudHat(String name, float transitionTime) { return _i(0xFC4842A34657BFCB,name, transitionTime); } // 0xFC4842A34657BFCB 0xED88FC61 b323 - // - inline Void UnloadCloudHat(String name, float p1) { return _i(0xA74802FB8D0B7814,name, p1); } // 0xA74802FB8D0B7814 0xC9FA6E07 b323 - // + inline Void LoadCloudHat(const char* name, float transitionTime) { return _i(0xFC4842A34657BFCB,name, transitionTime); } // 0xFC4842A34657BFCB 0xED88FC61 b323 + // + inline Void UnloadCloudHat(const char* name, float p1) { return _i(0xA74802FB8D0B7814,name, p1); } // 0xA74802FB8D0B7814 0xC9FA6E07 b323 + // inline Void UnloadAllCloudHats() { return _i(0x957E790EA1727B64); } // 0x957E790EA1727B64 0x2D7787BC b323 - // + // inline Void SetCloudsAlpha(float opacity) { return _i(0xF36199225D6D8C86,opacity); } // 0xF36199225D6D8C86 b323 - // + // inline float GetCloudsAlpha() { return _i(0x20AC25E781AE4A84); } // 0x20AC25E781AE4A84 b323 - // + // inline int GetGameTimer() { return _i(0x9CD27B0045628463); } // 0x9CD27B0045628463 0xA4EA0691 b323 - // + // inline float GetFrameTime() { return _i(0x15C40837039FFAF7); } // 0x15C40837039FFAF7 0x96374262 b323 - // + // inline float GetSystemTimeStep() { return _i(0xE599A503B3837E1B); } // 0xE599A503B3837E1B b323 - // + // inline int GetFrameCount() { return _i(0xFC8202EFC642E6F2); } // 0xFC8202EFC642E6F2 0xB477A015 b323 - // + // inline float GetRandomFloatInRange(float startRange, float endRange) { return _i(0x313CE5879CEB6FCD,startRange, endRange); } // 0x313CE5879CEB6FCD 0x0562C4D0 b323 - // + // inline int GetRandomIntInRange(int startRange, int endRange) { return _i(0xD53343AA4FB7DD28,startRange, endRange); } // 0xD53343AA4FB7DD28 0x4051115B b323 - // + // inline int GetRandomMwcIntInRange(int startRange, int endRange) { return _i(0xF2D49816A804D134,startRange, endRange); } // 0xF2D49816A804D134 b1734 - // Gets the ground elevation at the specified position. Note that if the specified position is below ground level, the function will output zero! + // 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. @@ -6950,39 +6950,39 @@ namespace MISC // // Bear in mind this native can only calculate the elevation when the coordinates are within the client's render distance. inline BOOL GetGroundZFor3DCoord(float x, float y, float z, float* groundZ, BOOL ignoreWater, BOOL p5) { return _i(0xC906A7DAB05C8D2B,x, y, z, groundZ, ignoreWater, p5); } // 0xC906A7DAB05C8D2B 0xA1BFD5E0 b323 - // + // inline BOOL GetGroundZAndNormalFor3DCoord(float x, float y, float z, float* groundZ, Vector3* normal) { return _i(0x8BDC7BFC57A81E76,x, y, z, groundZ, normal); } // 0x8BDC7BFC57A81E76 0x64D91CED b323 - // + // inline BOOL GetGroundZExcludingObjectsFor3DCoord(float x, float y, float z, float* groundZ, BOOL p4, BOOL p5) { return _i(0x9E82F0F362881B29,x, y, z, groundZ, p4, p5); } // 0x9E82F0F362881B29 b505 - // + // inline float Asin(float p0) { return _i(0xC843060B5765DCE7,p0); } // 0xC843060B5765DCE7 0x998E5CAD b323 - // + // inline float Acos(float p0) { return _i(0x1D08B970013C34B6,p0); } // 0x1D08B970013C34B6 0xF4038776 b323 - // + // inline float Tan(float p0) { return _i(0x632106CC96E82E91,p0); } // 0x632106CC96E82E91 0xD320CE5E b323 - // + // inline float Atan(float p0) { return _i(0xA9D1795CD5043663,p0); } // 0xA9D1795CD5043663 0x7A03CC8E b323 - // + // inline float Atan2(float p0, float p1) { return _i(0x8927CBF9D22261A4,p0, p1); } // 0x8927CBF9D22261A4 0x2508AC81 b323 - // Returns the distance between two three-dimensional points, optionally ignoring the Z values. + // 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. inline float GetDistanceBetweenCoords(float x1, float y1, float z1, float x2, float y2, float z2, BOOL useZ) { return _i(0xF1B760881820C952,x1, y1, z1, x2, y2, z2, useZ); } // 0xF1B760881820C952 0xF698765E b323 - // + // inline float GetAngleBetween2DVectors(float x1, float y1, float x2, float y2) { return _i(0x186FC4BE848E1C92,x1, y1, x2, y2); } // 0x186FC4BE848E1C92 0xDBF75E58 b323 - // dx = x1 - x2 + // dx = x1 - x2 // dy = y1 - y2 inline float GetHeadingFromVector2D(float dx, float dy) { return _i(0x2FFB6B224F4B2926,dx, dy); } // 0x2FFB6B224F4B2926 0xD209D52B b323 - // returns a float between 0.0 and 1.0, clamp: sets whether the product should be clamped between the given coordinates + // returns a float between 0.0 and 1.0, clamp: sets whether the product should be clamped between the given coordinates inline float GetRatioOfClosestPointOnLine(float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3, BOOL clamp) { return _i(0x7F8F6405F4777AF6,x1, y1, z1, x2, y2, z2, x3, y3, z3, clamp); } // 0x7F8F6405F4777AF6 0x89459F0A b323 - // clamp: sets whether the product should be clamped between the given coordinates + // clamp: sets whether the product should be clamped between the given coordinates inline Vector3 GetClosestPointOnLine(float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3, BOOL clamp) { return _i(0x21C235BC64831E5A,x1, y1, z1, x2, y2, z2, x3, y3, z3, clamp); } // 0x21C235BC64831E5A 0xCAECF37E b323 - // + // inline BOOL GetLinePlaneIntersection(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* p12) { return _i(0xF56DFB7B61BE7276,p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); } // 0xF56DFB7B61BE7276 0xC6CC812C b323 - // + // inline BOOL GetPointAreaOverlap(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6, Any p7, Any p8, Any p9, Any p10, Any p11, Any p12, Any p13) { return _i(0xA0AD167E4B39D9A2,p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); } // 0xA0AD167E4B39D9A2 b2189 - // This sets bit [offset] of [address] to on. + // 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. // @@ -6994,7 +6994,7 @@ namespace MISC // // Please note, this method may assign a value to [address] when used. inline Void SetBit(int* address, int offset) { return _i(0x933D6A9EEC1BACD0,address, offset); } // 0x933D6A9EEC1BACD0 0x4EFE7E6B b323 - // This sets bit [offset] of [address] to off. + // This sets bit [offset] of [address] to off. // // Example: // MISC::ClearBit(&bitAddress, 1); @@ -7002,15 +7002,15 @@ namespace MISC // To check if this bit has been enabled: // MISC::IS_BIT_SET(bitAddress, 1); // will return 0 afterwards inline Void ClearBit(int* address, int offset) { return _i(0xE80492A9AC099A93,address, offset); } // 0xE80492A9AC099A93 0x8BC9E618 b323 - // This native converts its past string to hash. It is hashed using jenkins one at a time method. - inline Hash GetHashKey(String string) { return _i(0xD24D37CC275948CC,string); } // 0xD24D37CC275948CC 0x98EFF6F1 b323 - // This native always come right before SetEntityQuaternion where its final 4 parameters are SlerpNearQuaternion p9 to p12 + // This native converts its past string to hash. It is hashed using jenkins one at a time method. + inline Hash GetHashKey(const char* string) { return _i(0xD24D37CC275948CC,string); } // 0xD24D37CC275948CC 0x98EFF6F1 b323 + // This native always come right before SetEntityQuaternion where its final 4 parameters are SlerpNearQuaternion p9 to p12 inline Void SlerpNearQuaternion(float t, float x, float y, float z, float w, float x1, float y1, float z1, float w1, float* outX, float* outY, float* outZ, float* outW) { return _i(0xF2F6A2FA49278625,t, x, y, z, w, x1, y1, z1, w1, outX, outY, outZ, outW); } // 0xF2F6A2FA49278625 0x87B92190 b323 - // + // inline BOOL IsAreaOccupied(float p0, float p1, float p2, float p3, float p4, float p5, BOOL p6, BOOL p7, BOOL p8, BOOL p9, BOOL p10, Any p11, BOOL p12) { return _i(0xA61B4DF533DCB56E,p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); } // 0xA61B4DF533DCB56E 0xC013972F b323 - // + // inline BOOL IsAreaOccupiedSlow(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6, Any p7, Any p8, Any p9, Any p10, Any p11, Any p12) { return _i(0x39455BF4F4F55186,p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); } // 0x39455BF4F4F55186 b1868 - // `range`: The range, seems to not be very accurate during testing. + // `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. @@ -7019,159 +7019,159 @@ namespace MISC // // Returns true if there is anything in that location matching the provided parameters. inline BOOL IsPositionOccupied(float x, float y, float z, float range, BOOL p4, BOOL checkVehicles, BOOL checkPeds, BOOL p7, BOOL p8, Entity ignoreEntity, BOOL p10) { return _i(0xADCDE75E1C60F32D,x, y, z, range, p4, checkVehicles, checkPeds, p7, p8, ignoreEntity, p10); } // 0xADCDE75E1C60F32D 0x452E8D9E b323 - // + // inline BOOL IsPointObscuredByAMissionEntity(float p0, float p1, float p2, float p3, float p4, float p5, Any p6) { return _i(0xE54E209C35FFA18D,p0, p1, p2, p3, p4, p5, p6); } // 0xE54E209C35FFA18D 0xC161558D b323 - // Example: ClearArea(0, 0, 0, 30, true, false, false, false); + // Example: ClearArea(0, 0, 0, 30, true, false, false, false); inline Void ClearArea(float X, float Y, float Z, float radius, BOOL p4, BOOL ignoreCopCars, BOOL ignoreObjects, BOOL p7) { return _i(0xA56F01F3765B93A0,X, Y, Z, radius, p4, ignoreCopCars, ignoreObjects, p7); } // 0xA56F01F3765B93A0 0x854E9AB8 b323 - // MISC::ClearArea_LEAVE_VEHICLE_HEALTH(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. + // MISC::ClearArea_LEAVE_VEHICLE_HEALTH(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. inline Void ClearAreaLeaveVehicleHealth(float x, float y, float z, float radius, BOOL p4, BOOL p5, BOOL p6, BOOL p7) { return _i(0x957838AAF91BD12D,x, y, z, radius, p4, p5, p6, p7); } // 0x957838AAF91BD12D 0x20E4FFD9 b323 - // Example: + // Example: // ClearArea_OF_VEHICLES(0.0f, 0.0f, 0.0f, 10000.0f, false, false, false, false, false, false); inline Void ClearAreaOfVehicles(float x, float y, float z, float radius, BOOL p4, BOOL p5, BOOL p6, BOOL p7, BOOL p8, BOOL p9, Any p10) { return _i(0x1C7B9B38428AEB6,x, y, z, radius, p4, p5, p6, p7, p8, p9, p10); } // 0x1C7B9B38428AEB6 0x63320F3C b323 - // + // inline Void ClearAngledAreaOfVehicles(float x1, float y1, float z1, float x2, float y2, float z2, float width, BOOL p7, BOOL p8, BOOL p9, BOOL p10, BOOL p11, Any p12, Any p13) { return _i(0x11DB3500F042A8AA,x1, y1, z1, x2, y2, z2, width, p7, p8, p9, p10, p11, p12, p13); } // 0x11DB3500F042A8AA 0xF11A3018 b323 - // 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. + // 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. inline Void ClearAreaOfObjects(float x, float y, float z, float radius, int flags) { return _i(0xDD9B9B385AAC7F5B,x, y, z, radius, flags); } // 0xDD9B9B385AAC7F5B 0xBB720FE7 b323 - // Example: ClearArea_OF_PEDS(0, 0, 0, 10000, 1); + // Example: ClearArea_OF_PEDS(0, 0, 0, 10000, 1); inline Void ClearAreaOfPeds(float x, float y, float z, float radius, int flags) { return _i(0xBE31FD6CE464AC59,x, y, z, radius, flags); } // 0xBE31FD6CE464AC59 0x25BE7FA8 b323 - // flags appears to always be 0 + // flags appears to always be 0 inline Void ClearAreaOfCops(float x, float y, float z, float radius, int flags) { return _i(0x4F8FC8FCF58F88D,x, y, z, radius, flags); } // 0x4F8FC8FCF58F88D 0x95C53824 b323 - // flags is usually 0 in the scripts. + // flags is usually 0 in the scripts. inline Void ClearAreaOfProjectiles(float x, float y, float z, float radius, int flags) { return _i(0xA1CB9094635D1A6,x, y, z, radius, flags); } // 0xA1CB9094635D1A6 0x18DB5434 b323 - // Possibly used to clear scenario points. + // Possibly used to clear scenario points. inline Void ClearScenarioSpawnHistory() { return _i(0x7EC6F9A478A6A512); } // 0x7EC6F9A478A6A512 b323 - // ignoreVehicle - bypasses vehicle check of the local player (it will not open if you are in a vehicle and this is set to false) + // ignoreVehicle - bypasses vehicle check of the local player (it will not open if you are in a vehicle and this is set to false) inline Void SetSaveMenuActive(BOOL ignoreVehicle) { return _i(0xC9BF75D28165FF77,ignoreVehicle); } // 0xC9BF75D28165FF77 0xF5CCF164 b323 - // + // inline int GetStatusOfManualSave() { return _i(0x397BAA01068BAA96); } // 0x397BAA01068BAA96 0x39771F21 b323 - // + // inline Void SetCreditsActive(BOOL toggle) { return _i(0xB938B7E6D3C0620C,toggle); } // 0xB938B7E6D3C0620C 0xEC2A0ECF b323 - // + // inline Void SetCreditsFadeOutWithScreen(BOOL toggle) { return _i(0xB51B9AB9EF81868C,toggle); } // 0xB51B9AB9EF81868C 0x75B06B5A b323 - // + // inline BOOL HaveCreditsReachedEnd() { return _i(0x75F1D57402C93BA); } // 0x75F1D57402C93BA 0x2569C9A7 b323 - // + // inline BOOL AreCreditsRunning() { return _i(0xD19C0826DC20CF1C); } // 0xD19C0826DC20CF1C b2802 - // - inline Void TerminateAllScriptsWithThisName(String scriptName) { return _i(0x9DC711BC69C548DF,scriptName); } // 0x9DC711BC69C548DF 0x9F861FD4 b323 - // + // + inline Void TerminateAllScriptsWithThisName(const char* scriptName) { return _i(0x9DC711BC69C548DF,scriptName); } // 0x9DC711BC69C548DF 0x9F861FD4 b323 + // inline Void NetworkSetScriptIsSafeForNetworkGame() { return _i(0x9243BAC96D64C050); } // 0x9243BAC96D64C050 0x878486CE b323 - // Returns the index of the newly created hospital spawn point. + // Returns the index of the newly created hospital spawn point. // // p3 might be radius? inline int AddHospitalRestart(float x, float y, float z, float p3, Any p4) { return _i(0x1F464EF988465A81,x, y, z, p3, p4); } // 0x1F464EF988465A81 0x4F3E3104 b323 - // The game by default has 5 hospital respawn points. Disabling them all will cause the player to respawn at the last position they were. + // The game by default has 5 hospital respawn points. Disabling them all will cause the player to respawn at the last position they were. inline Void DisableHospitalRestart(int hospitalIndex, BOOL toggle) { return _i(0xC8535819C450EBA8,hospitalIndex, toggle); } // 0xC8535819C450EBA8 0x09F49C72 b323 - // + // inline int AddPoliceRestart(float p0, float p1, float p2, float p3, Any p4) { return _i(0x452736765B31FC4B,p0, p1, p2, p3, p4); } // 0x452736765B31FC4B 0xE96C29FE b323 - // Disables the spawn point at the police house on the specified index. + // 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 inline Void DisablePoliceRestart(int policeIndex, BOOL toggle) { return _i(0x23285DED6EBD7EA3,policeIndex, toggle); } // 0x23285DED6EBD7EA3 0x0A280324 b323 - // + // inline Void SetRestartCoordOverride(float x, float y, float z, float heading) { return _i(0x706B5EDCAA7FA663,x, y, z, heading); } // 0x706B5EDCAA7FA663 b323 - // + // inline Void ClearRestartCoordOverride() { return _i(0xA2716D40842EAF79); } // 0xA2716D40842EAF79 b323 - // + // inline Void PauseDeathArrestRestart(BOOL toggle) { return _i(0x2C2B3493FBF51C71,toggle); } // 0x2C2B3493FBF51C71 0x296574AE b323 - // + // inline Void IgnoreNextRestart(BOOL toggle) { return _i(0x21FFB63D8C615361,toggle); } // 0x21FFB63D8C615361 0xDA13A4B6 b323 - // Sets whether the game should fade out after the player dies. + // Sets whether the game should fade out after the player dies. inline Void SetFadeOutAfterDeath(BOOL toggle) { return _i(0x4A18E01DF2C87B86,toggle); } // 0x4A18E01DF2C87B86 0xC9F6F0BC b323 - // Sets whether the game should fade out after the player is arrested. + // Sets whether the game should fade out after the player is arrested. inline Void SetFadeOutAfterArrest(BOOL toggle) { return _i(0x1E0B4DC0D990A4E7,toggle); } // 0x1E0B4DC0D990A4E7 0xCB074B9D b323 - // Sets whether the game should fade in after the player dies or is arrested. + // Sets whether the game should fade in after the player dies or is arrested. inline Void SetFadeInAfterDeathArrest(BOOL toggle) { return _i(0xDA66D2796BA33F12,toggle); } // 0xDA66D2796BA33F12 0xACDE6985 b323 - // + // inline Void SetFadeInAfterLoad(BOOL toggle) { return _i(0xF3D78F59DFE18D79,toggle); } // 0xF3D78F59DFE18D79 0x6E00EB0B b323 - // returns savehouseHandle - inline int RegisterSaveHouse(float x, float y, float z, float p3, String p4, Any p5, Any p6) { return _i(0xC0714D0A7EEECA54,x, y, z, p3, p4, p5, p6); } // 0xC0714D0A7EEECA54 0x39C1849A b323 - // + // returns savehouseHandle + inline int RegisterSaveHouse(float x, float y, float z, float p3, const char* p4, Any p5, Any p6) { return _i(0xC0714D0A7EEECA54,x, y, z, p3, p4, p5, p6); } // 0xC0714D0A7EEECA54 0x39C1849A b323 + // inline Void SetSaveHouse(int savehouseHandle, BOOL p1, BOOL p2) { return _i(0x4F548CABEAE553BC,savehouseHandle, p1, p2); } // 0x4F548CABEAE553BC 0xC3240BB4 b323 - // + // inline BOOL OverrideSaveHouse(BOOL p0, float p1, float p2, float p3, float p4, BOOL p5, float p6, float p7) { return _i(0x1162EA8AE9D24EEA,p0, p1, p2, p3, p4, p5, p6, p7); } // 0x1162EA8AE9D24EEA 0x47436C12 b323 - // + // inline BOOL GetSaveHouseDetailsAfterSuccessfulLoad(Vector3* p0, float* p1, BOOL* fadeInAfterLoad, BOOL* p3) { return _i(0xA4A0065E39C9F25C,p0, p1, fadeInAfterLoad, p3); } // 0xA4A0065E39C9F25C 0xC4D71AB4 b323 - // + // inline Void DoAutoSave() { return _i(0x50EEAAD86232EE55); } // 0x50EEAAD86232EE55 0x54C44B1A b323 - // Returns true if profile setting 208 is equal to 0. + // Returns true if profile setting 208 is equal to 0. inline BOOL GetIsAutoSaveOff() { return _i(0x6E04F06094C87047); } // 0x6E04F06094C87047 0xA8546914 b323 - // + // inline BOOL IsAutoSaveInProgress() { return _i(0x69240733738C19A0); } // 0x69240733738C19A0 0x36F75399 b323 - // + // inline BOOL HasCodeRequestedAutosave() { return _i(0x2107A3773771186D); } // 0x2107A3773771186D 0x78350773 b323 - // + // inline Void ClearCodeRequestedAutosave() { return _i(0x6462A961E94B67C); } // 0x6462A961E94B67C 0x5A45B11A b323 - // + // inline Void BeginReplayStats(Any p0, Any p1) { return _i(0xE0E500246FF73D66,p0, p1); } // 0xE0E500246FF73D66 0x17F4F44D b323 - // + // inline Void AddReplayStatValue(Any value) { return _i(0x69FE6DC87BD2A5E9,value); } // 0x69FE6DC87BD2A5E9 0x81216EE0 b323 - // + // inline Void EndReplayStats() { return _i(0xA23E821FBDF8A5F2); } // 0xA23E821FBDF8A5F2 0xCB570185 b323 - // + // inline BOOL HaveReplayStatsBeenStored() { return _i(0xD642319C54AADEB6); } // 0xD642319C54AADEB6 0xC58250F1 b323 - // + // inline int GetReplayStatMissionId() { return _i(0x5B1F2E327B6B6FE1); } // 0x5B1F2E327B6B6FE1 0x50C39926 b323 - // + // inline int GetReplayStatMissionType() { return _i(0x2B626A0150E4D449); } // 0x2B626A0150E4D449 0x710E5D1E b323 - // + // inline int GetReplayStatCount() { return _i(0xDC9274A7EF6B2867); } // 0xDC9274A7EF6B2867 0xC7BD1AF0 b323 - // + // inline int GetReplayStatAtIndex(int index) { return _i(0x8098C8D6597AAE18,index); } // 0x8098C8D6597AAE18 0x22BE2423 b323 - // + // inline Void ClearReplayStats() { return _i(0x1B1AB132A16FDA55); } // 0x1B1AB132A16FDA55 0xC47DFF02 b323 - // + // inline BOOL QueueMissionRepeatLoad() { return _i(0x72DE52178C291CB5); } // 0x72DE52178C291CB5 0xF62B3C48 b323 - // 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. + // 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 inline BOOL QueueMissionRepeatSave() { return _i(0x44A0BDC559B35F6E); } // 0x44A0BDC559B35F6E 0x3589452B b323 - // + // inline BOOL QueueMissionRepeatSaveForBenchmarkTest() { return _i(0xEB2104E905C6F2E9); } // 0xEB2104E905C6F2E9 b323 - // + // inline int GetStatusOfMissionRepeatSave() { return _i(0x2B5E102E4A42F2BF); } // 0x2B5E102E4A42F2BF 0x144AAF22 b323 - // + // inline BOOL IsMemoryCardInUse() { return _i(0x8A75CE2956274ADD); } // 0x8A75CE2956274ADD 0x40CE4DFD b323 - // + // inline Void ShootSingleBulletBetweenCoords(float x1, float y1, float z1, float x2, float y2, float z2, int damage, BOOL p7, Hash weaponHash, Ped ownerPed, BOOL isAudible, BOOL isInvisible, float speed) { return _i(0x867654CBC7606F2C,x1, y1, z1, x2, y2, z2, damage, p7, weaponHash, ownerPed, isAudible, isInvisible, speed); } // 0x867654CBC7606F2C 0xCB7415AC b323 - // entity - entity to ignore + // entity - entity to ignore inline Void ShootSingleBulletBetweenCoordsIgnoreEntity(float x1, float y1, float z1, float x2, float y2, float z2, int damage, BOOL p7, Hash weaponHash, Ped ownerPed, BOOL isAudible, BOOL isInvisible, float speed, Entity entity, Any p14) { return _i(0xE3A7742E0B7A2F8B,x1, y1, z1, x2, y2, z2, damage, p7, weaponHash, ownerPed, isAudible, isInvisible, speed, entity, p14); } // 0xE3A7742E0B7A2F8B 0x52ACCB7B b323 - // entity - entity to ignore + // entity - entity to ignore // targetEntity - entity to home in on, if the weapon hash provided supports homing inline Void ShootSingleBulletBetweenCoordsIgnoreEntityNew(float x1, float y1, float z1, float x2, float y2, float z2, int damage, BOOL p7, Hash weaponHash, Ped ownerPed, BOOL isAudible, BOOL isInvisible, float speed, Entity entity, BOOL p14, BOOL p15, Entity targetEntity, BOOL p17, Any p18, Any p19, Any p20) { return _i(0xBFE5756E7407064A,x1, y1, z1, x2, y2, z2, damage, p7, weaponHash, ownerPed, isAudible, isInvisible, speed, entity, p14, p15, targetEntity, p17, p18, p19, p20); } // 0xBFE5756E7407064A 0xCCDC33CC b323 - // Gets the dimensions of a model. + // 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::GetModelDimensions(ENTITY::GetEntityModel(PLAYER::PlayerPedId()), &v_1A, &v_17); inline Void GetModelDimensions(Hash modelHash, Vector3* minimum, Vector3* maximum) { return _i(0x3E8D3D5F549087A,modelHash, minimum, maximum); } // 0x3E8D3D5F549087A 0x91ABB8E0 b323 - // 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. + // 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. inline Void SetFakeWantedLevel(int fakeWantedLevel) { return _i(0x1454F2448DE30163,fakeWantedLevel); } // 0x1454F2448DE30163 0x85B1C9FA b323 - // + // inline int GetFakeWantedLevel() { return _i(0x4C9296CBCD1B971E); } // 0x4C9296CBCD1B971E 0x0022A430 b323 - // + // inline Void UsingMissionCreator(BOOL toggle) { return _i(0xF14878FC50BEC6EE,toggle); } // 0xF14878FC50BEC6EE 0x20AB0B6B b323 - // + // inline Void AllowMissionCreatorWarp(BOOL toggle) { return _i(0xDEA36202FC3382DF,toggle); } // 0xDEA36202FC3382DF 0x082BA6F2 b323 - // + // inline Void SetMinigameInProgress(BOOL toggle) { return _i(0x19E00D7322C6F85B,toggle); } // 0x19E00D7322C6F85B 0x348B9046 b323 - // + // inline BOOL IsMinigameInProgress() { return _i(0x2B4A15E44DE0F478); } // 0x2B4A15E44DE0F478 0x53A95E13 b323 - // + // inline BOOL IsThisAMinigameScript() { return _i(0x7B30F65D7B710098); } // 0x7B30F65D7B710098 0x7605EF6F b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline BOOL IsSniperInverted() { return _i(0x61A23B7EDA9BDA24); } // 0x61A23B7EDA9BDA24 0x5C3BF51B b323 - // Returns true if the game is using the metric measurement system (profile setting 227), false if imperial is used. + // Returns true if the game is using the metric measurement system (profile setting 227), false if imperial is used. inline BOOL ShouldUseMetricMeasurements() { return _i(0xD3D15555431AB793); } // 0xD3D15555431AB793 0xBAF17315 b323 - // + // inline int GetProfileSetting(int profileSetting) { return _i(0xC488FF2356EA7791,profileSetting); } // 0xC488FF2356EA7791 0xD374BEBC b323 - // - inline BOOL AreStringsEqual(String string1, String string2) { return _i(0xC515FAB3FF9EA92,string1, string2); } // 0xC515FAB3FF9EA92 0x877C0BC5 b323 - // Compares two strings up to a specified number of characters. + // + inline BOOL AreStringsEqual(const char* string1, const char* string2) { return _i(0xC515FAB3FF9EA92,string1, string2); } // 0xC515FAB3FF9EA92 0x877C0BC5 b323 + // Compares two strings up to a specified number of characters. // // Parameters: // str1 - String to be compared. @@ -7195,85 +7195,85 @@ namespace MISC // When comparing case-sensitive strings, lower-case characters are greater than upper-case characters: // MISC::CompareStrings("A", "a", true, 1); // -1; 'A' < 'a' // MISC::CompareStrings("a", "A", true, 1); // 1; 'a' > 'A' - inline int CompareStrings(String str1, String str2, BOOL matchCase, int maxLength) { return _i(0x1E34710ECD4AB0EB,str1, str2, matchCase, maxLength); } // 0x1E34710ECD4AB0EB 0xFE25A58F b323 - // + inline int CompareStrings(const char* str1, const char* str2, BOOL matchCase, int maxLength) { return _i(0x1E34710ECD4AB0EB,str1, str2, matchCase, maxLength); } // 0x1E34710ECD4AB0EB 0xFE25A58F b323 + // inline int Absi(int value) { return _i(0xF0D31AD191A74F87,value); } // 0xF0D31AD191A74F87 0xB44677C5 b323 - // + // inline float Absf(float value) { return _i(0x73D57CFFDD12C355,value); } // 0x73D57CFFDD12C355 0xAF6F6E0B b323 - // Determines whether there is a sniper bullet within the specified coordinates. The coordinates form an axis-aligned bounding box. + // Determines whether there is a sniper bullet within the specified coordinates. The coordinates form an axis-aligned bounding box. inline BOOL IsSniperBulletInArea(float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0xFEFCF11B01287125,x1, y1, z1, x2, y2, z2); } // 0xFEFCF11B01287125 0x0483715C b323 - // Determines whether there is a projectile within the specified coordinates. The coordinates form a rectangle. + // 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. inline BOOL IsProjectileInArea(float x1, float y1, float z1, float x2, float y2, float z2, BOOL ownedByPlayer) { return _i(0x5270A8FBC098C3F8,x1, y1, z1, x2, y2, z2, ownedByPlayer); } // 0x5270A8FBC098C3F8 0x78E1A557 b323 - // Determines whether there is a projectile of a specific type within the specified coordinates. The coordinates form a axis-aligned bounding box. + // Determines whether there is a projectile of a specific type within the specified coordinates. The coordinates form a axis-aligned bounding box. inline BOOL IsProjectileTypeInArea(float x1, float y1, float z1, float x2, float y2, float z2, int type, BOOL ownedByPlayer) { return _i(0x2E0DC353342C4A6D,x1, y1, z1, x2, y2, z2, type, ownedByPlayer); } // 0x2E0DC353342C4A6D 0x2B73BCF6 b323 - // See IsPointInAngledArea for the definition of an angled area. + // See IsPointInAngledArea for the definition of an angled area. inline BOOL IsProjectileTypeInAngledArea(float x1, float y1, float z1, float x2, float y2, float z2, float width, Any p7, BOOL ownedByPlayer) { return _i(0xF0BC12401061DEA0,x1, y1, z1, x2, y2, z2, width, p7, ownedByPlayer); } // 0xF0BC12401061DEA0 0xD1AE2681 b323 - // + // inline BOOL IsProjectileTypeWithinDistance(float x, float y, float z, Hash projectileHash, float radius, BOOL ownedByPlayer) { return _i(0x34318593248C8FB2,x, y, z, projectileHash, radius, ownedByPlayer); } // 0x34318593248C8FB2 0xBE81F1E2 b323 - // + // inline BOOL GetCoordsOfProjectileTypeInArea(float x1, float y1, float z1, float x2, float y2, float z2, Hash projectileHash, Vector3* projectilePos, BOOL ownedByPlayer) { return _i(0x8D7A43EC6A5FEA45,x1, y1, z1, x2, y2, z2, projectileHash, projectilePos, ownedByPlayer); } // 0x8D7A43EC6A5FEA45 0x1A40454B b323 - // + // inline BOOL GetCoordsOfProjectileTypeInAngledArea(float vecAngledAreaPoint1X, float vecAngledAreaPoint1Y, float vecAngledAreaPoint1Z, float vecAngledAreaPoint2X, float vecAngledAreaPoint2Y, float vecAngledAreaPoint2Z, float distanceOfOppositeFace, Hash weaponType, Vector3* positionOut, BOOL bIsPlayer) { return _i(0x3DA8C28346B62CED,vecAngledAreaPoint1X, vecAngledAreaPoint1Y, vecAngledAreaPoint1Z, vecAngledAreaPoint2X, vecAngledAreaPoint2Y, vecAngledAreaPoint2Z, distanceOfOppositeFace, weaponType, positionOut, bIsPlayer); } // 0x3DA8C28346B62CED b2802 - // + // inline BOOL GetCoordsOfProjectileTypeWithinDistance(Ped ped, Hash weaponHash, float distance, Vector3* outCoords, BOOL p4) { return _i(0xDFB4138EEFED7B81,ped, weaponHash, distance, outCoords, p4); } // 0xDFB4138EEFED7B81 0x6BDE5CE4 b323 - // + // inline BOOL GetProjectileOfProjectileTypeWithinDistance(Ped ped, Hash weaponHash, float distance, Vector3* outCoords, Object* outProjectile, BOOL p5) { return _i(0x82FDE6A57EE4EE44,ped, weaponHash, distance, outCoords, outProjectile, p5); } // 0x82FDE6A57EE4EE44 0x507BC6F7 b323 - // For projectiles, see: IsProjectileTypeInAngledArea + // For projectiles, see: IsProjectileTypeInAngledArea // See IsPointInAngledArea 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. inline BOOL IsBulletInAngledArea(float x1, float y1, float z1, float x2, float y2, float z2, float width, BOOL ownedByPlayer) { return _i(0x1A8B5F3C01E2B477,x1, y1, z1, x2, y2, z2, width, ownedByPlayer); } // 0x1A8B5F3C01E2B477 0xE2DB58F7 b323 - // + // inline BOOL IsBulletInArea(float x, float y, float z, float radius, BOOL ownedByPlayer) { return _i(0x3F2023999AD51C1F,x, y, z, radius, ownedByPlayer); } // 0x3F2023999AD51C1F 0xB54F46CA b323 - // + // inline BOOL IsBulletInBox(float x1, float y1, float z1, float x2, float y2, float z2, BOOL ownedByPlayer) { return _i(0xDE0F6D7450D37351,x1, y1, z1, x2, y2, z2, ownedByPlayer); } // 0xDE0F6D7450D37351 0xAB73ED26 b323 - // p3 - possibly radius? + // p3 - possibly radius? inline BOOL HasBulletImpactedInArea(float x, float y, float z, float p3, BOOL p4, BOOL p5) { return _i(0x9870ACFB89A90995,x, y, z, p3, p4, p5); } // 0x9870ACFB89A90995 0x902BC7D9 b323 - // + // inline BOOL HasBulletImpactedInBox(float p0, float p1, float p2, float p3, float p4, float p5, BOOL p6, BOOL p7) { return _i(0xDC8C5D7CFEAB8394,p0, p1, p2, p3, p4, p5, p6, p7); } // 0xDC8C5D7CFEAB8394 0x2C2618CC b323 - // PS4 + // PS4 inline BOOL IsOrbisVersion() { return _i(0xA72BC0B675B1519E); } // 0xA72BC0B675B1519E 0x40282018 b323 - // XBOX ONE + // XBOX ONE inline BOOL IsDurangoVersion() { return _i(0x4D982ADB1978442D); } // 0x4D982ADB1978442D 0x46FB06A5 b323 - // + // inline BOOL IsXbox360Version() { return _i(0xF6201B4DAF662A9D); } // 0xF6201B4DAF662A9D 0x24005CC8 b323 - // + // inline BOOL IsPs3Version() { return _i(0xCCA1072C29D096C2); } // 0xCCA1072C29D096C2 0x4C0D5303 b323 - // + // inline BOOL IsPcVersion() { return _i(0x48AF36444B965238); } // 0x48AF36444B965238 0x4D5D9EE3 b323 - // + // inline BOOL IsSteamVersion() { return _i(0xA27B2B6282F7169); } // 0xA27B2B6282F7169 b2545 - // Used to block some of the prostitute stuff due to laws in Australia. + // Used to block some of the prostitute stuff due to laws in Australia. inline BOOL IsAussieVersion() { return _i(0x9F1935CA1F724008); } // 0x9F1935CA1F724008 0x944BA1DC b323 - // + // inline BOOL IsJapaneseVersion() { return _i(0xB8C0BB75D8A77DB3); } // 0xB8C0BB75D8A77DB3 b2545 - // + // inline BOOL IsXboxPlatform() { return _i(0x138679CA01E21F53); } // 0x138679CA01E21F53 b2612 - // Xbox Series (Scarlett) version... + // Xbox Series (Scarlett) version... inline BOOL IsScarlettVersion() { return _i(0xC545AB1CF97ABB34); } // 0xC545AB1CF97ABB34 b2612 - // + // inline BOOL IsScePlatform() { return _i(0xF911E695C1EB8518); } // 0xF911E695C1EB8518 b2612 - // PS5 (Prospero) version... + // PS5 (Prospero) version... inline BOOL IsProsperoVersion() { return _i(0x807ABE1AB65C24D2); } // 0x807ABE1AB65C24D2 b2612 - // - inline BOOL IsStringNull(String string) { return _i(0xF22B6C47C6EAB066,string); } // 0xF22B6C47C6EAB066 0x8E71E00F b323 - // - inline BOOL IsStringNullOrEmpty(String string) { return _i(0xCA042B6957743895,string); } // 0xCA042B6957743895 0x42E9F2CA b323 - // 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. + // + inline BOOL IsStringNull(const char* string) { return _i(0xF22B6C47C6EAB066,string); } // 0xF22B6C47C6EAB066 0x8E71E00F b323 + // + inline BOOL IsStringNullOrEmpty(const char* string) { return _i(0xCA042B6957743895,string); } // 0xCA042B6957743895 0x42E9F2CA b323 + // 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. - inline BOOL StringToInt(String string, int* outInteger) { return _i(0x5A5F40FE637EB584,string, outInteger); } // 0x5A5F40FE637EB584 0x590A8160 b323 - // + inline BOOL StringToInt(const char* string, int* outInteger) { return _i(0x5A5F40FE637EB584,string, outInteger); } // 0x5A5F40FE637EB584 0x590A8160 b323 + // inline Void SetBitsInRange(int* var, int rangeStart, int rangeEnd, int p3) { return _i(0x8EF07E15701D61ED,var, rangeStart, rangeEnd, p3); } // 0x8EF07E15701D61ED 0x32094719 b323 - // + // inline int GetBitsInRange(int var, int rangeStart, int rangeEnd) { return _i(0x53158863FCC0893A,var, rangeStart, rangeEnd); } // 0x53158863FCC0893A 0xCA03A1E5 b323 - // See description of `AddStuntJump_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. + // See description of `AddStuntJump_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. inline int AddStuntJump(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) { return _i(0x1A992DA297A4630C,x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, camX, camY, camZ, p15, p16, p17); } // 0x1A992DA297A4630C 0xB630E5FF b323 - // Creates a new stunt jump. + // 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 AddStuntJump_**ANGLED**. // @@ -7301,37 +7301,37 @@ namespace MISC // // Here is a list of almost all of the stunt jumps from GTA V (taken from decompiled scripts): https://pastebin.com/EW1jBPkY inline int AddStuntJumpAngled(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) { return _i(0xBBE5D803A5360CBF,x1, y1, z1, x2, y2, z2, radius1, x3, y3, z3, x4, y4, z4, radius2, camX, camY, camZ, p17, p18, p19); } // 0xBBE5D803A5360CBF 0xB9B7E777 b323 - // Toggles some stunt jump stuff. + // Toggles some stunt jump stuff. inline Void ToggleShowOptionalStuntJumpCamera(BOOL toggle) { return _i(0xFB80AB299D2EE1BD,toggle); } // 0xFB80AB299D2EE1BD b757 - // + // inline Void DeleteStuntJump(int p0) { return _i(0xDC518000E39DAE1F,p0); } // 0xDC518000E39DAE1F 0x840CB5DA b323 - // + // inline Void EnableStuntJumpSet(int p0) { return _i(0xE369A5783B866016,p0); } // 0xE369A5783B866016 0x9D1E7785 b323 - // + // inline Void DisableStuntJumpSet(int p0) { return _i(0xA5272EBEDD4747F6,p0); } // 0xA5272EBEDD4747F6 0x644C9FA4 b323 - // + // inline Void SetStuntJumpsCanTrigger(BOOL toggle) { return _i(0xD79185689F8FD5DF,toggle); } // 0xD79185689F8FD5DF 0x3C806A2D b323 - // + // inline BOOL IsStuntJumpInProgress() { return _i(0x7A3F19700A4D0525); } // 0x7A3F19700A4D0525 0xF477D0B1 b323 - // + // inline BOOL IsStuntJumpMessageShowing() { return _i(0x2272B0A1343129F4); } // 0x2272B0A1343129F4 0x021636EE b323 - // + // inline int GetNumSuccessfulStuntJumps() { return _i(0x996DD1E1E02F1008); } // 0x996DD1E1E02F1008 0x006F9BA2 b323 - // + // inline int GetTotalSuccessfulStuntJumps() { return _i(0x6856EC3D35C81EA4); } // 0x6856EC3D35C81EA4 0x495BE324 b323 - // + // inline Void CancelStuntJump() { return _i(0xE6B7B0ACD4E4B75E); } // 0xE6B7B0ACD4E4B75E 0xF43D9821 b323 - // 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 SetGamePaused will be paused which means you will lose control and the game remains in paused mode until you exit GTA5.exe + // 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 SetGamePaused will be paused which means you will lose control and the game remains in paused mode until you exit GTA5.exe inline Void SetGamePaused(BOOL toggle) { return _i(0x577D1284D6873711,toggle); } // 0x577D1284D6873711 0x8230FF6C b323 - // + // inline Void SetThisScriptCanBePaused(BOOL toggle) { return _i(0xAA391C728106F7AF,toggle); } // 0xAA391C728106F7AF 0xA0C3CE29 b323 - // + // inline Void SetThisScriptCanRemoveBlipsCreatedByAnyScript(BOOL toggle) { return _i(0xB98236CAAECEF897,toggle); } // 0xB98236CAAECEF897 0xD06F1720 b323 - // 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/ + // 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 inline BOOL HasCheatWithHashBeenActivated(Hash hash, int amount) { return _i(0x71E2A839DE82D90,hash, amount); } // 0x71E2A839DE82D90 0xFF6191E1 b323 - // Get inputted "Cheat code", for example: + // Get inputted "Cheat code", for example: // // while (TRUE) // { @@ -7345,61 +7345,61 @@ namespace MISC // Calling this will also set the last saved string hash to zero. // inline BOOL HasPcCheatWithHashBeenActivated(Hash hash) { return _i(0x557E43C447E700A8,hash); } // 0x557E43C447E700A8 b323 - // + // inline Void OverrideFreezeFlags(BOOL p0) { return _i(0xFA3FFB0EEBC288A3,p0); } // 0xFA3FFB0EEBC288A3 b2060 - // Formerly known as _LOWER_MAP_PROP_DENSITY and wrongly due to idiots as _ENABLE_MP_DLC_MAPS. + // 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. inline Void SetInstancePriorityMode(int p0) { return _i(0x9BAE5AD2508DF078,p0); } // 0x9BAE5AD2508DF078 0x721B2492 b323 - // Sets an unknown flag used by CScene in determining which entities from CMapData scene nodes to draw, similar to SET_INSTanCE_PRIORITY_MODE. + // Sets an unknown flag used by CScene in determining which entities from CMapData scene nodes to draw, similar to SET_INSTanCE_PRIORITY_MODE. inline Void SetInstancePriorityHint(int flag) { return _i(0xC5F0A8EBD3F361CE,flag); } // 0xC5F0A8EBD3F361CE 0xE202879D b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline BOOL IsFrontendFading() { return _i(0x7EA2B6AF97ECA6ED); } // 0x7EA2B6AF97ECA6ED 0x8FF6232C b323 - // spawns a few distant/out-of-sight peds, vehicles, animals etc each time it is called + // spawns a few distant/out-of-sight peds, vehicles, animals etc each time it is called inline Void PopulateNow() { return _i(0x7472BB270D7B4F3E); } // 0x7472BB270D7B4F3E 0x72C20700 b323 - // + // inline int GetIndexOfCurrentLevel() { return _i(0xCBAD6729F7B1F4FC); } // 0xCBAD6729F7B1F4FC 0x6F203C6E b323 - // level can be from 0 to 3 + // level can be from 0 to 3 // 0: 9.8 - normal // 1: 2.4 - low // 2: 0.1 - very low // 3: 0.0 - off inline Void SetGravityLevel(int level) { return _i(0x740E14FAD5842351,level); } // 0x740E14FAD5842351 0x2D833F4A b323 - // + // inline Void StartSaveData(Any* p0, Any p1, BOOL p2) { return _i(0xA9575F812C6A7997,p0, p1, p2); } // 0xA9575F812C6A7997 0x881A694D b323 - // + // inline Void StopSaveData() { return _i(0x74E20C9145FB66FD); } // 0x74E20C9145FB66FD 0x3B1C07C8 b323 - // + // inline int GetSizeOfSaveData(BOOL p0) { return _i(0xA09F896CE912481F,p0); } // 0xA09F896CE912481F 0x9EF0BC64 b323 - // - inline Void RegisterIntToSave(Any* p0, String name) { return _i(0x34C9EE5986258415,p0, name); } // 0x34C9EE5986258415 0xB930956F b323 - // - inline Void RegisterInt64ToSave(Any* p0, String name) { return _i(0xA735353C77334EA0,p0, name); } // 0xA735353C77334EA0 b323 - // - inline Void RegisterEnumToSave(Any* p0, String name) { return _i(0x10C2FA78D0E128A1,p0, name); } // 0x10C2FA78D0E128A1 0x9B38374A b323 - // - inline Void RegisterFloatToSave(Any* p0, String name) { return _i(0x7CAEC29ECB5DFEBB,p0, name); } // 0x7CAEC29ECB5DFEBB 0xDB06F7AD b323 - // - inline Void RegisterBoolToSave(Any* p0, String name) { return _i(0xC8F4131414C835A1,p0, name); } // 0xC8F4131414C835A1 0x5417E0E0 b323 - // - inline Void RegisterTextLabelToSave(Any* p0, String name) { return _i(0xEDB1232C5BEAE62F,p0, name); } // 0xEDB1232C5BEAE62F 0x284352C4 b323 - // MISC::RegisterTextLabel15ToSave(&a_0._f1, "tlPlateText"); + // + inline Void RegisterIntToSave(Any* p0, const char* name) { return _i(0x34C9EE5986258415,p0, name); } // 0x34C9EE5986258415 0xB930956F b323 + // + inline Void RegisterInt64ToSave(Any* p0, const char* name) { return _i(0xA735353C77334EA0,p0, name); } // 0xA735353C77334EA0 b323 + // + inline Void RegisterEnumToSave(Any* p0, const char* name) { return _i(0x10C2FA78D0E128A1,p0, name); } // 0x10C2FA78D0E128A1 0x9B38374A b323 + // + inline Void RegisterFloatToSave(Any* p0, const char* name) { return _i(0x7CAEC29ECB5DFEBB,p0, name); } // 0x7CAEC29ECB5DFEBB 0xDB06F7AD b323 + // + inline Void RegisterBoolToSave(Any* p0, const char* name) { return _i(0xC8F4131414C835A1,p0, name); } // 0xC8F4131414C835A1 0x5417E0E0 b323 + // + inline Void RegisterTextLabelToSave(Any* p0, const char* name) { return _i(0xEDB1232C5BEAE62F,p0, name); } // 0xEDB1232C5BEAE62F 0x284352C4 b323 + // MISC::RegisterTextLabel15ToSave(&a_0._f1, "tlPlateText"); // MISC::RegisterTextLabel15ToSave(&a_0._f1C, "tlPlateText_pending"); // MISC::RegisterTextLabel15ToSave(&a_0._f10B, "tlCarAppPlateText"); - inline Void RegisterTextLabel15ToSave(Any* p0, String name) { return _i(0x6F7794F28C6B2535,p0, name); } // 0x6F7794F28C6B2535 0xE2089749 b323 - // Only found 3 times in decompiled scripts. + inline Void RegisterTextLabel15ToSave(Any* p0, const char* name) { return _i(0x6F7794F28C6B2535,p0, name); } // 0x6F7794F28C6B2535 0xE2089749 b323 + // Only found 3 times in decompiled scripts. // // MISC::RegisterTextLabel23ToSave(a_0, "Movie_Name_For_This_Player"); // MISC::RegisterTextLabel23ToSave(&a_0._fB, "Ringtone_For_This_Player"); // MISC::RegisterTextLabel23ToSave(&a_0._f1EC4._f12[v_A/*6*/], &v_13); // where v_13 is "MPATMLOGSCRS0" thru "MPATMLOGSCRS15" - inline Void RegisterTextLabel23ToSave(Any* p0, String name) { return _i(0x48F069265A0E4BEC,p0, name); } // 0x48F069265A0E4BEC 0xF91B8C33 b323 - // Only found 2 times in decompiled scripts. + inline Void RegisterTextLabel23ToSave(Any* p0, const char* name) { return _i(0x48F069265A0E4BEC,p0, name); } // 0x48F069265A0E4BEC 0xF91B8C33 b323 + // Only found 2 times in decompiled scripts. // // MISC::RegisterTextLabel31ToSave(&a_0._f1F5A._f6[0/*8*/], "TEMPSTAT_LABEL"); // gets saved in a struct called "g_SaveData_STRING_ScriptSaves" // MISC::RegisterTextLabel31ToSave(&a_0._f4B4[v_1A/*8*/], &v_5); // where v_5 is "Name0" thru "Name9", gets saved in a struct called "OUTFIT_Name" - inline Void RegisterTextLabel31ToSave(Any* p0, String name) { return _i(0x8269816F6CFD40F8,p0, name); } // 0x8269816F6CFD40F8 0x74E8FAD9 b323 - // MISC::RegisterTextLabel63ToSave(a_0, "Thumb_label"); + inline Void RegisterTextLabel31ToSave(Any* p0, const char* name) { return _i(0x8269816F6CFD40F8,p0, name); } // 0x8269816F6CFD40F8 0x74E8FAD9 b323 + // MISC::RegisterTextLabel63ToSave(a_0, "Thumb_label"); // MISC::RegisterTextLabel63ToSave(&a_0._f10, "Photo_label"); // MISC::RegisterTextLabel63ToSave(a_0, "GXTlabel"); // MISC::RegisterTextLabel63ToSave(&a_0._f21, "StringComp"); @@ -7409,24 +7409,24 @@ namespace MISC // MISC::RegisterTextLabel63ToSave(&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::RegisterTextLabel63ToSave(&a_0._f4B, "PAID_PLAYER"); // MISC::RegisterTextLabel63ToSave(&a_0._f5B, "RADIO_STATION"); - inline Void RegisterTextLabel63ToSave(Any* p0, String name) { return _i(0xFAA457EF263E8763,p0, name); } // 0xFAA457EF263E8763 0x6B4335DD b323 - // - inline Void StartSaveStructWithSize(Any* p0, int size, String structName) { return _i(0xBF737600CDDBEADD,p0, size, structName); } // 0xBF737600CDDBEADD 0xFB45728E b323 - // + inline Void RegisterTextLabel63ToSave(Any* p0, const char* name) { return _i(0xFAA457EF263E8763,p0, name); } // 0xFAA457EF263E8763 0x6B4335DD b323 + // + inline Void StartSaveStructWithSize(Any* p0, int size, const char* structName) { return _i(0xBF737600CDDBEADD,p0, size, structName); } // 0xBF737600CDDBEADD 0xFB45728E b323 + // inline Void StopSaveStruct() { return _i(0xEB1774DF12BB9F12); } // 0xEB1774DF12BB9F12 0xC2624A28 b323 - // - inline Void StartSaveArrayWithSize(Any* p0, int size, String arrayName) { return _i(0x60FE567DF1B1AF9D,p0, size, arrayName); } // 0x60FE567DF1B1AF9D 0x893A342C b323 - // + // + inline Void StartSaveArrayWithSize(Any* p0, int size, const char* arrayName) { return _i(0x60FE567DF1B1AF9D,p0, size, arrayName); } // 0x60FE567DF1B1AF9D 0x893A342C b323 + // inline Void StopSaveArray() { return _i(0x4456F95153C6BE4); } // 0x4456F95153C6BE4 0x0CAD8217 b323 - // + // inline Void CopyScriptStruct(Any* dst, Any* src, int size) { return _i(0x213AEB2B90CBA7AC,dst, src, size); } // 0x213AEB2B90CBA7AC b877 - // https://alloc8or.re/gta5/doc/enums/DispatchType.txt + // https://alloc8or.re/gta5/doc/enums/DispatchType.txt inline Void EnableDispatchService(int dispatchService, BOOL toggle) { return _i(0xDC0F817884CDD856,dispatchService, toggle); } // 0xDC0F817884CDD856 0x0B710A51 b323 - // + // inline Void BlockDispatchServiceResourceCreation(int dispatchService, BOOL toggle) { return _i(0x9B2BD3773123EA2F,dispatchService, toggle); } // 0x9B2BD3773123EA2F 0xE0F0684F b323 - // + // inline int GetNumberResourcesAllocatedToWantedLevel(int dispatchService) { return _i(0xEB4A0C2D56441717,dispatchService); } // 0xEB4A0C2D56441717 0x3CE5BF6B b323 - // 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. + // 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). // @@ -7434,7 +7434,7 @@ namespace MISC // if(CreateIncident) etc it will return false if you do as I said above. // ===================================================== inline BOOL CreateIncident(int dispatchService, float x, float y, float z, int numUnits, float radius, int* outIncidentID, Any p7, Any p8) { return _i(0x3F892CAF67444AE7,dispatchService, x, y, z, numUnits, radius, outIncidentID, p7, p8); } // 0x3F892CAF67444AE7 0xFC5FF7B3 b323 - // 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. + // 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). // @@ -7442,7 +7442,7 @@ namespace MISC // if(CreateIncident) etc it will return false if you do as I said above. // ===================================================== inline BOOL CreateIncidentWithEntity(int dispatchService, Ped ped, int numUnits, float radius, int* outIncidentID, Any p5, Any p6) { return _i(0x5983472F0494E60,dispatchService, ped, numUnits, radius, outIncidentID, p5, p6); } // 0x5983472F0494E60 0xBBC35B03 b323 - // Delete an incident with a given id. + // Delete an incident with a given id. // // ======================================================= // Correction, I have change this to int, instead of int* @@ -7450,90 +7450,90 @@ namespace MISC // If you try it you will crash (or) freeze. // ======================================================= inline Void DeleteIncident(int incidentId) { return _i(0x556C1AA270D5A207,incidentId); } // 0x556C1AA270D5A207 0x212BD0DC b323 - // ======================================================= + // ======================================================= // 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. // ======================================================= inline BOOL IsIncidentValid(int incidentId) { return _i(0xC8BC6461E629BEAA,incidentId); } // 0xC8BC6461E629BEAA 0x31FD0BA4 b323 - // + // inline Void SetIncidentRequestedUnits(int incidentId, int dispatchService, int numUnits) { return _i(0xB08B85D860E7BA3C,incidentId, dispatchService, numUnits); } // 0xB08B85D860E7BA3C 0x0242D88E b323 - // + // inline Void SetIdealSpawnDistanceForIncident(int incidentId, float p1) { return _i(0xD261BA3E7E998072,incidentId, p1); } // 0xD261BA3E7E998072 0x1F38102E b323 - // Finds a position ahead of the player by predicting the players next actions. + // 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. inline BOOL FindSpawnPointInDirection(float posX, float posY, float posZ, float fwdVecX, float fwdVecY, float fwdVecZ, float distance, Vector3* spawnPoint) { return _i(0x6874E2190B0C1972,posX, posY, posZ, fwdVecX, fwdVecY, fwdVecZ, distance, spawnPoint); } // 0x6874E2190B0C1972 0x71AEFD77 b323 - // + // inline int AddPopMultiplierArea(float x1, float y1, float z1, float x2, float y2, float z2, float p6, float p7, BOOL p8, BOOL p9) { return _i(0x67F6413D3220E18D,x1, y1, z1, x2, y2, z2, p6, p7, p8, p9); } // 0x67F6413D3220E18D 0x42BF09B3 b323 - // + // inline BOOL DoesPopMultiplierAreaExist(int id) { return _i(0x1327E2FE9746BAEE,id); } // 0x1327E2FE9746BAEE 0xE933B34A b323 - // + // inline Void RemovePopMultiplierArea(int id, BOOL p1) { return _i(0xB129E447A2EDA4BF,id, p1); } // 0xB129E447A2EDA4BF 0xFBDBE374 b323 - // + // inline BOOL IsPopMultiplierAreaNetworked(int id) { return _i(0x1312F4B242609CE3,id); } // 0x1312F4B242609CE3 b1290 - // 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 RemovePopMultiplierSphere + // 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 RemovePopMultiplierSphere inline int AddPopMultiplierSphere(float x, float y, float z, float radius, float pedMultiplier, float vehicleMultiplier, BOOL p6, BOOL p7) { return _i(0x32C7A7E8C43A1F80,x, y, z, radius, pedMultiplier, vehicleMultiplier, p6, p7); } // 0x32C7A7E8C43A1F80 0xCE4A3D20 b323 - // + // inline BOOL DoesPopMultiplierSphereExist(int id) { return _i(0x171BAFB3C60389F4,id); } // 0x171BAFB3C60389F4 0xD2B7A5A0 b791 - // Removes population multiplier sphere + // Removes population multiplier sphere inline Void RemovePopMultiplierSphere(int id, BOOL p1) { return _i(0xE6869BECDD8F2403,id, p1); } // 0xE6869BECDD8F2403 0x92E7E4EB b323 - // Makes the ped jump around like they're in a tennis match + // Makes the ped jump around like they're in a tennis match inline Void EnableTennisMode(Ped ped, BOOL toggle, BOOL p2) { return _i(0x28A04B411933F8A6,ped, toggle, p2); } // 0x28A04B411933F8A6 0x0BD3F9EC b323 - // + // inline BOOL IsTennisMode(Ped ped) { return _i(0x5D5479D115290C3F,ped); } // 0x5D5479D115290C3F 0x04A947BA b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline Void PlayTennisSwingAnim(Ped ped, String animDict, String animName, float p3, float p4, BOOL p5) { return _i(0xE266ED23311F24D4,ped, animDict, animName, p3, p4, p5); } // 0xE266ED23311F24D4 0xC20A7D2B b323 - // + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline Void PlayTennisSwingAnim(Ped ped, const char* animDict, const char* animName, float p3, float p4, BOOL p5) { return _i(0xE266ED23311F24D4,ped, animDict, animName, p3, p4, p5); } // 0xE266ED23311F24D4 0xC20A7D2B b323 + // inline BOOL GetTennisSwingAnimComplete(Ped ped) { return _i(0x17DF68D720AA77F8,ped); } // 0x17DF68D720AA77F8 0x8501E727 b323 - // + // inline BOOL GetTennisSwingAnimCanBeInterrupted(Ped ped) { return _i(0x19BFED045C647C49,ped); } // 0x19BFED045C647C49 0x1A332D2D b323 - // + // inline BOOL GetTennisSwingAnimSwung(Ped ped) { return _i(0xE95B0C7D5BA3B96B,ped); } // 0xE95B0C7D5BA3B96B b323 - // + // inline Void PlayTennisDiveAnim(Ped ped, int p1, float p2, float p3, float p4, BOOL p5) { return _i(0x8FA9C42FC5D7C64B,ped, p1, p2, p3, p4, p5); } // 0x8FA9C42FC5D7C64B 0x0C8865DF b323 - // From the scripts: + // From the scripts: // // MISC::SetTennisMoveNetworkSignalFloat(sub_aa49(a_0), "ForcedStopDirection", v_E); // // Related to tennis mode. - inline Void SetTennisMoveNetworkSignalFloat(Ped ped, String p1, float p2) { return _i(0x54F157E0336A3822,ped, p1, p2); } // 0x54F157E0336A3822 0x49F977A9 b323 - // + inline Void SetTennisMoveNetworkSignalFloat(Ped ped, const char* p1, float p2) { return _i(0x54F157E0336A3822,ped, p1, p2); } // 0x54F157E0336A3822 0x49F977A9 b323 + // inline Void ResetDispatchSpawnLocation() { return _i(0x5896F2BD5683A4E1); } // 0x5896F2BD5683A4E1 b1868 - // + // inline Void SetDispatchSpawnLocation(float x, float y, float z) { return _i(0xD10F442036302D50,x, y, z); } // 0xD10F442036302D50 0x6F009E33 b323 - // + // inline Void ResetDispatchIdealSpawnDistance() { return _i(0x77A84429DD9F0A15); } // 0x77A84429DD9F0A15 0xDA65ECAA b323 - // + // inline Void SetDispatchIdealSpawnDistance(float distance) { return _i(0x6FE601A64180D423,distance); } // 0x6FE601A64180D423 0x6283BE32 b323 - // + // inline Void ResetDispatchTimeBetweenSpawnAttempts(Any p0) { return _i(0xEB2DB0CAD13154B3,p0); } // 0xEB2DB0CAD13154B3 0x1479E85A b323 - // + // inline Void SetDispatchTimeBetweenSpawnAttempts(Any p0, float p1) { return _i(0x44F7CBC1BEB3327D,p0, p1); } // 0x44F7CBC1BEB3327D 0xABADB709 b323 - // + // inline Void SetDispatchTimeBetweenSpawnAttemptsMultiplier(Any p0, float p1) { return _i(0x48838ED9937A15D1,p0, p1); } // 0x48838ED9937A15D1 0x1C996BCD b323 - // To remove, see: RemoveDispatchSpawnBlockingArea + // To remove, see: RemoveDispatchSpawnBlockingArea // See IsPointInAngledArea for the definition of an angled area. inline int AddDispatchSpawnAngledBlockingArea(float x1, float y1, float z1, float x2, float y2, float z2, float width) { return _i(0x918C7B2D2FF3928B,x1, y1, z1, x2, y2, z2, width); } // 0x918C7B2D2FF3928B 0xF557BAF9 b323 - // + // inline int AddDispatchSpawnSphereBlockingArea(float x1, float y1, float x2, float y2) { return _i(0x2D4259F1FEB81DA9,x1, y1, x2, y2); } // 0x2D4259F1FEB81DA9 b323 - // + // inline Void RemoveDispatchSpawnBlockingArea(int p0) { return _i(0x264AC28B01B353A5,p0); } // 0x264AC28B01B353A5 0xA8D2FB92 b323 - // + // inline Void ResetDispatchSpawnBlockingAreas() { return _i(0xAC7BFD5C1D83EA75); } // 0xAC7BFD5C1D83EA75 0x9A17F835 b323 - // + // inline Void ResetWantedResponseNumPedsToSpawn() { return _i(0xD9F692D349249528); } // 0xD9F692D349249528 0xE0C9307E b323 - // + // inline Void SetWantedResponseNumPedsToSpawn(int p0, int p1) { return _i(0xE532EC1A63231B4F,p0, p1); } // 0xE532EC1A63231B4F 0xA0D8C749 b323 - // + // inline Void AddTacticalNavMeshPoint(float x, float y, float z) { return _i(0xB8721407EE9C3FF6,x, y, z); } // 0xB8721407EE9C3FF6 0x24A4E0B2 b323 - // + // inline Void ClearTacticalNavMeshPoints() { return _i(0xB3CD58CCA6CDA852); } // 0xB3CD58CCA6CDA852 0x66C3C59C b323 - // 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. + // 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. inline Void SetRiotModeEnabled(BOOL toggle) { return _i(0x2587A48BC88DFADF,toggle); } // 0x2587A48BC88DFADF 0xD9660339 b323 - // - inline Void DisplayOnscreenKeyboardWithLongerInitialString(int p0, String windowTitle, Any* p2, String defaultText, String defaultConcat1, String defaultConcat2, String defaultConcat3, String defaultConcat4, String defaultConcat5, String defaultConcat6, String defaultConcat7, int maxInputLength) { return _i(0xCA78CFA0366592FE,p0, windowTitle, p2, defaultText, defaultConcat1, defaultConcat2, defaultConcat3, defaultConcat4, defaultConcat5, defaultConcat6, defaultConcat7, maxInputLength); } // 0xCA78CFA0366592FE 0xD2688412 b323 - // sfink: note, p0 is set to 6 for PC platform in at least 1 script, or to `unk::_get_ui_language_id() == 0` otherwise. + // + inline Void DisplayOnscreenKeyboardWithLongerInitialString(int p0, const char* windowTitle, Any* p2, const char* defaultText, const char* defaultConcat1, const char* defaultConcat2, const char* defaultConcat3, const char* defaultConcat4, const char* defaultConcat5, const char* defaultConcat6, const char* defaultConcat7, int maxInputLength) { return _i(0xCA78CFA0366592FE,p0, windowTitle, p2, defaultText, defaultConcat1, defaultConcat2, defaultConcat3, defaultConcat4, defaultConcat5, defaultConcat6, defaultConcat7, maxInputLength); } // 0xCA78CFA0366592FE 0xD2688412 b323 + // 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. // @@ -7565,8 +7565,8 @@ namespace MISC // FMMC_KEY_TIP9F = "Invalid Outfit Name. Try again" // FMMC_KEY_TIP9N = "Outfit Name" // PM_NAME_CHALL = "Enter Challenge Name" - inline Void DisplayOnscreenKeyboard(int p0, String windowTitle, String p2, String defaultText, String defaultConcat1, String defaultConcat2, String defaultConcat3, int maxInputLength) { return _i(0xDC833F2568DBF6,p0, windowTitle, p2, defaultText, defaultConcat1, defaultConcat2, defaultConcat3, maxInputLength); } // 0xDC833F2568DBF6 0xAD99F2CE b323 - // Returns the current status of the onscreen keyboard, and updates the output. + inline Void DisplayOnscreenKeyboard(int p0, const char* windowTitle, const char* p2, const char* defaultText, const char* defaultConcat1, const char* defaultConcat2, const char* defaultConcat3, int maxInputLength) { return _i(0xDC833F2568DBF6,p0, windowTitle, p2, defaultText, defaultConcat1, defaultConcat2, defaultConcat3, maxInputLength); } // 0xDC833F2568DBF6 0xAD99F2CE b323 + // Returns the current status of the onscreen keyboard, and updates the output. // // Status Codes: // @@ -7575,41 +7575,41 @@ namespace MISC // 1: User has finished editing // 2: User has canceled editing inline int UpdateOnscreenKeyboard() { return _i(0xCF2B696BBF945AE); } // 0xCF2B696BBF945AE 0x23D0A1CE b323 - // Returns NULL unless UpdateOnscreenKeyboard() returns 1 in the same tick. - inline String GetOnscreenKeyboardResult() { return _i(0x8362B09B91893647); } // 0x8362B09B91893647 0x44828FB3 b323 - // DO NOT use this as it doesn't clean up the text input box properly and your script will get stuck in the UpdateOnscreenKeyboard() loop. + // Returns NULL unless UpdateOnscreenKeyboard() returns 1 in the same tick. + inline const char* GetOnscreenKeyboardResult() { return _i(0x8362B09B91893647); } // 0x8362B09B91893647 0x44828FB3 b323 + // DO NOT use this as it doesn't clean up the text input box properly and your script will get stuck in the UpdateOnscreenKeyboard() loop. // Use ForceCloseTextInputBox instead. inline Void CancelOnscreenKeyboard() { return _i(0x58A39BE597CE99CD); } // 0x58A39BE597CE99CD b757 - // p0 was always 2 in R* scripts. + // p0 was always 2 in R* scripts. // Called before calling DisplayOnscreenKeyboard if the input needs to be saved. inline Void NextOnscreenKeyboardResultWillDisplayUsingTheseFonts(int p0) { return _i(0x3ED1438C1F5C6612,p0); } // 0x3ED1438C1F5C6612 0x3301EA47 b323 - // Appears to remove stealth kill action from memory + // Appears to remove stealth kill action from memory inline Void ActionManagerEnableAction(Hash hash, BOOL enable) { return _i(0xA6A12939F16D85BE,hash, enable); } // 0xA6A12939F16D85BE 0x42B484ED b323 - // GetGameTimer() / 1000 + // GetGameTimer() / 1000 inline int GetRealWorldTime() { return _i(0x3F60413F5DF65748); } // 0x3F60413F5DF65748 b2612 - // + // inline Void SupressRandomEventThisFrame(int eventType, BOOL suppress) { return _i(0x1EAE0A6E978894A2,eventType, suppress); } // 0x1EAE0A6E978894A2 0x8F60366E b323 - // + // inline Void SetExplosiveAmmoThisFrame(Player player) { return _i(0xA66C71C98D5F2CFB,player); } // 0xA66C71C98D5F2CFB 0x2EAFA1D1 b323 - // + // inline Void SetFireAmmoThisFrame(Player player) { return _i(0x11879CDD803D30F4,player); } // 0x11879CDD803D30F4 0x7C18FC8A b323 - // + // inline Void SetExplosiveMeleeThisFrame(Player player) { return _i(0xFF1BED81BFDC0FE0,player); } // 0xFF1BED81BFDC0FE0 0x96663D56 b323 - // + // inline Void SetSuperJumpThisFrame(Player player) { return _i(0x57FFF03E423A4C0B,player); } // 0x57FFF03E423A4C0B 0x86745EF3 b323 - // + // inline Void SetBeastJumpThisFrame(Player player) { return _i(0x438822C279B73B93,player); } // 0x438822C279B73B93 b573 - // + // inline Void SetForcedJumpThisFrame(Player player) { return _i(0xA1183BCFEE0F93D1,player); } // 0xA1183BCFEE0F93D1 b1180 - // + // inline BOOL HasGameInstalledThisSession() { return _i(0x6FDDF453C0C756EC); } // 0x6FDDF453C0C756EC 0xC3C10FCC b323 - // + // inline Void SetTickerJohnmarstonIsDone() { return _i(0xFB00CA71DA386228); } // 0xFB00CA71DA386228 0x054EC103 b323 - // + // inline BOOL AreProfileSettingsValid() { return _i(0x5AA3BEFA29F03AD4); } // 0x5AA3BEFA29F03AD4 0x46B5A15C b323 - // + // inline Void PreventArrestStateThisFrame() { return _i(0xE3D969D2785FFB5E); } // 0xE3D969D2785FFB5E b323 - // Sets the localplayer playerinfo state back to playing (State 0) + // Sets the localplayer playerinfo state back to playing (State 0) // // States are: // -1: "Invalid" @@ -7621,70 +7621,70 @@ namespace MISC // 5: "Respawn" // 6: "In MP Cutscene" inline Void ForceGameStatePlaying() { return _i(0xC0AA53F866B3134D); } // 0xC0AA53F866B3134D 0x5D209F25 b323 - // + // inline Void ScriptRaceInit(int p0, int p1, Any p2, Any p3) { return _i(0xA60017F841A54F2,p0, p1, p2, p3); } // 0xA60017F841A54F2 0x2D33F15A b323 - // + // inline Void ScriptRaceShutdown() { return _i(0x1FF6BF9A63E5757F); } // 0x1FF6BF9A63E5757F 0xDF99925C b323 - // + // inline Void ScriptRacePlayerHitCheckpoint(Player player, Any p1, Any p2, Any p3) { return _i(0x1BB299305C3E8C13,player, p1, p2, p3); } // 0x1BB299305C3E8C13 0xA27F4472 b323 - // + // inline BOOL ScriptRaceGetPlayerSplitTime(Player player, int* p1, int* p2) { return _i(0x8EF5573A1F801A5C,player, p1, p2); } // 0x8EF5573A1F801A5C 0x07FF553F b323 - // + // inline Void StartEndUserBenchmark() { return _i(0x92790862E36C2ADA); } // 0x92790862E36C2ADA b323 - // + // inline Void StopEndUserBenchmark() { return _i(0xC7DB36C24634F52B); } // 0xC7DB36C24634F52B b323 - // + // inline Void ResetEndUserBenchmark() { return _i(0x437138B6A830166A); } // 0x437138B6A830166A b323 - // Saves the benchmark recording to %USERPROFILE%\Documents\Rockstar Games\GTA V\Benchmarks and submits some metrics. + // Saves the benchmark recording to %USERPROFILE%\Documents\Rockstar Games\GTA V\Benchmarks and submits some metrics. inline Void SaveEndUserBenchmark() { return _i(0x37DEB0AA183FB6D8); } // 0x37DEB0AA183FB6D8 b323 - // Returns true if the current frontend menu is FE_MENU_VERSION_SP_PAUSE + // Returns true if the current frontend menu is FE_MENU_VERSION_SP_PAUSE inline BOOL UiStartedEndUserBenchmark() { return _i(0xEA2F2061875EED90); } // 0xEA2F2061875EED90 b323 - // Returns true if the current frontend menu is FE_MENU_VERSION_LANDING_MENU + // Returns true if the current frontend menu is FE_MENU_VERSION_LANDING_MENU inline BOOL LandingScreenStartedEndUserBenchmark() { return _i(0x3BBBD13E5041A79E); } // 0x3BBBD13E5041A79E b323 - // Returns true if command line option '-benchmark' is set. + // Returns true if command line option '-benchmark' is set. inline BOOL IsCommandlineEndUserBenchmark() { return _i(0xA049A5BE0F04F2F8); } // 0xA049A5BE0F04F2F8 b323 - // Returns value of the '-benchmarkIterations' command line option. + // Returns value of the '-benchmarkIterations' command line option. inline int GetBenchmarkIterations() { return _i(0x4750FC27570311EC); } // 0x4750FC27570311EC b323 - // Returns value of the '-benchmarkPass' command line option. + // Returns value of the '-benchmarkPass' command line option. inline int GetBenchmarkPass() { return _i(0x1B2366C3F2A5C8DF); } // 0x1B2366C3F2A5C8DF b323 - // 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. + // 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. inline Void RestartGame() { return _i(0xE574A662ACAEFBB1); } // 0xE574A662ACAEFBB1 b372 - // Exits the game and downloads a fresh social club update on next restart. + // Exits the game and downloads a fresh social club update on next restart. inline Void QuitGame() { return _i(0xEB6891F03362FB12); } // 0xEB6891F03362FB12 b323 - // Hardcoded to always return true. + // Hardcoded to always return true. inline BOOL HasAsyncInstallFinished() { return _i(0x14832BF2ABA53FC5); } // 0x14832BF2ABA53FC5 b323 - // + // inline Void CleanupAsyncInstall() { return _i(0xC79AE21974B01FB2); } // 0xC79AE21974B01FB2 b323 - // aka "constrained" + // aka "constrained" inline BOOL PlmIsInConstrainedMode() { return _i(0x684A41975F077262); } // 0x684A41975F077262 b323 - // Returns duration of how long the game has been in power-saving mode (aka "constrained") in milliseconds. + // Returns duration of how long the game has been in power-saving mode (aka "constrained") in milliseconds. inline int PlmGetConstrainedDurationMs() { return _i(0xABB2FA71C83A1B72); } // 0xABB2FA71C83A1B72 b323 - // If toggle is true, the ped's head is shown in the pause menu + // 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 inline Void SetPlayerIsInAnimalForm(BOOL toggle) { return _i(0x4EBB7E87AA0DBED4,toggle); } // 0x4EBB7E87AA0DBED4 b323 - // Although we don't have a jenkins hash for this one, the name is 100% confirmed. + // Although we don't have a jenkins hash for this one, the name is 100% confirmed. inline BOOL GetIsPlayerInAnimalForm() { return _i(0x9689123E3F213AA5); } // 0x9689123E3F213AA5 b323 - // + // inline Void SetPlayerIsRepeatingAMission(BOOL toggle) { return _i(0x9D8D44ADBBA61EF2,toggle); } // 0x9D8D44ADBBA61EF2 b323 - // Does nothing (it's a nullsub). + // Does nothing (it's a nullsub). inline Void DisableScreenDimmingThisFrame() { return _i(0x23227DF0B2115469); } // 0x23227DF0B2115469 b323 - // + // inline float GetCityDensity() { return _i(0xD10282B6E3751BA0); } // 0xD10282B6E3751BA0 b323 - // + // inline Void UseActiveCameraForTimeslicingCentre() { return _i(0x693478ACBD7F18E7); } // 0x693478ACBD7F18E7 b1103 - // + // inline Void SetContentIdIndex(Hash contentId, int index) { return _i(0x4B82FA6F2D624634,contentId, index); } // 0x4B82FA6F2D624634 b2612 - // + // inline int GetContentIdIndex(Hash contentId) { return _i(0xECF041186C5A94DC,contentId); } // 0xECF041186C5A94DC b2612 - // + // inline Void SetContentPropType(Hash model, int type) { return _i(0xBA4583AF4C678A9B,model, type); } // 0xBA4583AF4C678A9B b3095 - // Returns prop type for given model hash + // Returns prop type for given model hash inline int GetContentPropType(Hash model) { return _i(0x8BAF8AD59F47AAFC,model); } // 0x8BAF8AD59F47AAFC b3095 } namespace MOBILE { - // Creates a mobile phone of the specified type. + // Creates a mobile phone of the specified type. // // Possible phone types: // @@ -7696,80 +7696,80 @@ namespace MOBILE // // Higher values may crash your game. inline Void CreateMobilePhone(int phoneType) { return _i(0xA4E8E696C532FBC7,phoneType); } // 0xA4E8E696C532FBC7 0x5BBC5E23 b323 - // Destroys the currently active mobile phone. + // Destroys the currently active mobile phone. inline Void DestroyMobilePhone() { return _i(0x3BC861DF703E5097); } // 0x3BC861DF703E5097 0x1A65037B b323 - // 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. + // 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. inline Void SetMobilePhoneScale(float scale) { return _i(0xCBDD322A73D6D932,scale); } // 0xCBDD322A73D6D932 0x09BCF1BE b323 - // Last parameter is unknown and always zero. + // Last parameter is unknown and always zero. inline Void SetMobilePhoneRotation(float rotX, float rotY, float rotZ, Any p3) { return _i(0xBB779C0CA917E865,rotX, rotY, rotZ, p3); } // 0xBB779C0CA917E865 0x209C28CF b323 - // + // inline Void GetMobilePhoneRotation(Vector3* rotation, Vehicle p1) { return _i(0x1CEFB61F193070AE,rotation, p1); } // 0x1CEFB61F193070AE 0x17A29F23 b323 - // + // inline Void SetMobilePhonePosition(float posX, float posY, float posZ) { return _i(0x693A5C6D6734085B,posX, posY, posZ); } // 0x693A5C6D6734085B 0x841800B3 b323 - // + // inline Void GetMobilePhonePosition(Vector3* position) { return _i(0x584FDFDA48805B86,position); } // 0x584FDFDA48805B86 0xB2E1E1A0 b323 - // If bool Toggle = true so the mobile is hide to screen. + // If bool Toggle = true so the mobile is hide to screen. // If bool Toggle = false so the mobile is show to screen. inline Void ScriptIsMovingMobilePhoneOffscreen(BOOL toggle) { return _i(0xF511F759238A5122,toggle); } // 0xF511F759238A5122 0x29828690 b323 - // This one is weird and seems to return a TRUE state regardless of whether the phone is visible on screen or tucked away. + // 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. inline BOOL CanPhoneBeSeenOnScreen() { return _i(0xC4E2813898C97A4B); } // 0xC4E2813898C97A4B 0x5F978584 b323 - // + // inline Void SetMobilePhoneDofState(BOOL toggle) { return _i(0x375A706A5C2FD084,toggle); } // 0x375A706A5C2FD084 b372 - // For move the finger of player, the value of int goes 1 at 5. + // For move the finger of player, the value of int goes 1 at 5. inline Void CellSetInput(int direction) { return _i(0x95C9E72F3D7DEC9B,direction); } // 0x95C9E72F3D7DEC9B b323 - // if the bool "Toggle" is "true" so the phone is lean. + // if the bool "Toggle" is "true" so the phone is lean. // if the bool "Toggle" is "false" so the phone is not lean. inline Void CellHorizontalModeToggle(BOOL toggle) { return _i(0x44E44169EF70138E,toggle); } // 0x44E44169EF70138E b323 - // + // inline Void CellCamActivate(BOOL p0, BOOL p1) { return _i(0xFDE8F069C542D126,p0, p1); } // 0xFDE8F069C542D126 0x234C1AE9 b323 - // + // inline Void CellCamActivateSelfieMode(BOOL toggle) { return _i(0x15C49A93E3E086E,toggle); } // 0x15C49A93E3E086E 0x4479B304 b323 - // + // inline Void CellCamActivateShallowDofMode(BOOL toggle) { return _i(0xA2CCBE62CD4C91A4,toggle); } // 0xA2CCBE62CD4C91A4 0xC273BB4D b323 - // + // inline Void CellCamSetSelfieModeSideOffsetScaling(float p0) { return _i(0x1B0B4AEED5B9B41C,p0); } // 0x1B0B4AEED5B9B41C b323 - // + // inline Void CellCamSetSelfieModeHorzPanOffset(float horizontalPan) { return _i(0x53F4892D18EC90A4,horizontalPan); } // 0x53F4892D18EC90A4 b323 - // + // inline Void CellCamSetSelfieModeVertPanOffset(float vertPan) { return _i(0x3117D84EFA60F77B,vertPan); } // 0x3117D84EFA60F77B b323 - // + // inline Void CellCamSetSelfieModeRollOffset(float roll) { return _i(0x15E69E2802C24B8D,roll); } // 0x15E69E2802C24B8D b323 - // + // inline Void CellCamSetSelfieModeDistanceScaling(float distanceScaling) { return _i(0xAC2890471901861C,distanceScaling); } // 0xAC2890471901861C b323 - // + // inline Void CellCamSetSelfieModeHeadYawOffset(float yaw) { return _i(0xD6ADE981781FCA09,yaw); } // 0xD6ADE981781FCA09 b323 - // + // inline Void CellCamSetSelfieModeHeadRollOffset(float roll) { return _i(0xF1E22DC13F5EEBAD,roll); } // 0xF1E22DC13F5EEBAD b323 - // + // inline Void CellCamSetSelfieModeHeadPitchOffset(float pitch) { return _i(0x466DA42C89865553,pitch); } // 0x466DA42C89865553 b323 - // + // inline BOOL CellCamIsCharVisibleNoFaceCheck(Entity entity) { return _i(0x439E9BC95B7E7FBE,entity); } // 0x439E9BC95B7E7FBE 0xBEA88097 b323 - // + // inline Void GetMobilePhoneRenderId(int* renderId) { return _i(0xB4A53E05F68B6FA1,renderId); } // 0xB4A53E05F68B6FA1 0x88E4FECE b323 } namespace MONEY { - // + // inline Void NetworkInitializeCash(int wallet, int bank) { return _i(0x3DA5ECD1A56CBA6D,wallet, bank); } // 0x3DA5ECD1A56CBA6D 0x66DA9935 b323 - // 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, NetworkDeleteCharacter(characterIndex, deleteWalletCash, deleteBankCash); + // 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, NetworkDeleteCharacter(characterIndex, deleteWalletCash, deleteBankCash); inline Void NetworkDeleteCharacter(int characterSlot, BOOL p1, BOOL p2) { return _i(0x5A50AF38947EB8D,characterSlot, p1, p2); } // 0x5A50AF38947EB8D 0xA9F7E9C3 b323 - // + // inline Void NetworkManualDeleteCharacter(int characterSlot) { return _i(0x821418C727FCACD7,characterSlot); } // 0x821418C727FCACD7 b791 - // + // inline BOOL NetworkGetPlayerIsHighEarner() { return _i(0xFB2456B2040A6A67); } // 0xFB2456B2040A6A67 0x63F093A6 b323 - // + // inline Void NetworkClearCharacterWallet(int characterSlot) { return _i(0xA921DED15FDF28F5,characterSlot); } // 0xA921DED15FDF28F5 0x19F0C471 b323 - // + // inline Void NetworkGivePlayerJobshareCash(int amount, Any* gamerHandle) { return _i(0xFB18DF9CB95E0105,amount, gamerHandle); } // 0xFB18DF9CB95E0105 0xC6047FDB b323 - // + // inline Void NetworkReceivePlayerJobshareCash(int value, Any* gamerHandle) { return _i(0x56A3B51944C50598,value, gamerHandle); } // 0x56A3B51944C50598 0x4ED71C1A b323 - // + // inline BOOL NetworkCanShareJobCash() { return _i(0x1C2473301B1C66BA); } // 0x1C2473301B1C66BA 0xA27B9FE8 b323 - // index + // index // ------- // See function sub_1005 in am_boat_taxi.ysc // @@ -7806,14 +7806,14 @@ namespace MONEY // Unknown bool value // // - inline Void NetworkRefundCash(int index, String context, String reason, BOOL p3) { return _i(0xF9C812CD7C46E817,index, context, reason, p3); } // 0xF9C812CD7C46E817 0x07C92F21 b323 - // - inline Void NetworkDeductCash(int amount, String p1, String p2, BOOL p3, BOOL p4, BOOL p5) { return _i(0x18B7AE224B087E26,amount, p1, p2, p3, p4, p5); } // 0x18B7AE224B087E26 b323 - // + inline Void NetworkRefundCash(int index, const char* context, const char* reason, BOOL p3) { return _i(0xF9C812CD7C46E817,index, context, reason, p3); } // 0xF9C812CD7C46E817 0x07C92F21 b323 + // + inline Void NetworkDeductCash(int amount, const char* p1, const char* p2, BOOL p3, BOOL p4, BOOL p5) { return _i(0x18B7AE224B087E26,amount, p1, p2, p3, p4, p5); } // 0x18B7AE224B087E26 b323 + // inline BOOL NetworkMoneyCanBet(int amount, BOOL p1, BOOL p2) { return _i(0x81404F3DC124FE5B,amount, p1, p2); } // 0x81404F3DC124FE5B 0x8474E6F0 b323 - // + // inline BOOL NetworkCanBet(int amount) { return _i(0x3A54E33660DED67F,amount); } // 0x3A54E33660DED67F 0xE3802533 b323 - // GTAO_CASinO_HOUSE + // GTAO_CASinO_HOUSE // GTAO_CASinO_INSIDETRACK // GTAO_CASinO_LUCKYWHEEL // GTAO_CASinO_BLACKJACK @@ -7823,187 +7823,187 @@ namespace MONEY // // NETWORK_C* inline BOOL NetworkCasinoCanBet(Hash hash) { return _i(0x158C16F5E4CF41F8,hash); } // 0x158C16F5E4CF41F8 b1734 - // + // inline BOOL NetworkCasinoCanBetPvc() { return _i(0x394DCDB9E836B7A9); } // 0x394DCDB9E836B7A9 b1734 - // + // inline BOOL NetworkCasinoCanBetAmount(Any p0) { return _i(0xF62F6D9528358FE4,p0); } // 0xF62F6D9528358FE4 b1734 - // + // inline BOOL NetworkCasinoCanBuyChipsPvc() { return _i(0x8968D4D8C6C40C11); } // 0x8968D4D8C6C40C11 b1734 - // + // inline BOOL NetworkCasinoBuyChips(int p0, int p1) { return _i(0x3BD101471C7F9EEC,p0, p1); } // 0x3BD101471C7F9EEC b1734 - // + // inline BOOL NetworkCasinoSellChips(int p0, int p1) { return _i(0xED44897CB336F480,p0, p1); } // 0xED44897CB336F480 b1734 - // Does nothing (it's a nullsub). + // Does nothing (it's a nullsub). inline Void NetworkDeferCashTransactionsUntilShopSave() { return _i(0xCD0F5B5D932AE473); } // 0xCD0F5B5D932AE473 0xC4CD928D b323 - // + // inline BOOL CanPayAmountToBoss(int p0, int p1, int amount, int* p3) { return _i(0x9777734DAD16992F,p0, p1, amount, p3); } // 0x9777734DAD16992F b573 - // + // inline Void NetworkEarnFromPickup(int amount) { return _i(0xED1517D3AF17C698,amount); } // 0xED1517D3AF17C698 0x70A0ED62 b323 - // + // inline Void NetworkEarnFromCashingOut(int amount) { return _i(0x718FBBF67414FA36,amount); } // 0x718FBBF67414FA36 b1290 - // + // inline Void NetworkEarnFromGangattackPickup(int amount) { return _i(0xA03D4ACE0A3284CE,amount); } // 0xA03D4ACE0A3284CE 0x33C20BC4 b323 - // + // inline Void NetworkEarnAssassinateTargetKilled(int amount) { return _i(0xFA700D8A9905F78A,amount); } // 0xFA700D8A9905F78A b1604 - // For the money bags that drop a max of $40,000. Often called 40k bags. + // For the money bags that drop a max of $40,000. Often called 40k bags. // // Most likely NETWORK_EARN_FROM_ROB*** inline Void NetworkEarnFromRobArmoredCars(int amount) { return _i(0xF514621E8EA463D0,amount); } // 0xF514621E8EA463D0 0x30B3EC0A b323 - // + // inline Void NetworkEarnFromCrateDrop(int amount) { return _i(0xB1CC1B9EC3007A2A,amount); } // 0xB1CC1B9EC3007A2A 0xEAF04923 b323 - // - inline Void NetworkEarnFromBetting(int amount, String p1) { return _i(0x827A5BA1A44ACA6D,amount, p1); } // 0x827A5BA1A44ACA6D 0xA0F7F07C b323 - // - inline Void NetworkEarnFromJob(int amount, String p1) { return _i(0xB2CC4836834E8A98,amount, p1); } // 0xB2CC4836834E8A98 0x0B6997FC b323 - // - inline Void NetworkEarnFromJobx2(int amount, String p1) { return _i(0xDEBBF584665411D0,amount, p1); } // 0xDEBBF584665411D0 b1734 - // - inline Void NetworkEarnFromPremiumJob(int amount, String p1) { return _i(0xC8407624CEF2354B,amount, p1); } // 0xC8407624CEF2354B b791 - // - inline Void NetworkEarnFromBendJob(int amount, String heistHash) { return _i(0x61326EE6DF15B0CA,amount, heistHash); } // 0x61326EE6DF15B0CA 0xBB293400 b323 - // + // + inline Void NetworkEarnFromBetting(int amount, const char* p1) { return _i(0x827A5BA1A44ACA6D,amount, p1); } // 0x827A5BA1A44ACA6D 0xA0F7F07C b323 + // + inline Void NetworkEarnFromJob(int amount, const char* p1) { return _i(0xB2CC4836834E8A98,amount, p1); } // 0xB2CC4836834E8A98 0x0B6997FC b323 + // + inline Void NetworkEarnFromJobx2(int amount, const char* p1) { return _i(0xDEBBF584665411D0,amount, p1); } // 0xDEBBF584665411D0 b1734 + // + inline Void NetworkEarnFromPremiumJob(int amount, const char* p1) { return _i(0xC8407624CEF2354B,amount, p1); } // 0xC8407624CEF2354B b791 + // + inline Void NetworkEarnFromBendJob(int amount, const char* heistHash) { return _i(0x61326EE6DF15B0CA,amount, heistHash); } // 0x61326EE6DF15B0CA 0xBB293400 b323 + // inline Void NetworkEarnFromChallengeWin(Any p0, Any* p1, BOOL p2) { return _i(0x2B171E6B2F64D8DF,p0, p1, p2); } // 0x2B171E6B2F64D8DF 0x2BEFB6C4 b323 - // + // inline Void NetworkEarnFromBounty(int amount, Any* gamerHandle, Any* p2, Any p3) { return _i(0x131BB5DA15453ACF,amount, gamerHandle, p2, p3); } // 0x131BB5DA15453ACF 0x127F2DAE b323 - // + // inline Void NetworkEarnFromImportExport(int amount, Hash modelHash) { return _i(0xF92A014A634442D6,amount, modelHash); } // 0xF92A014A634442D6 0xF11FC458 b323 - // + // inline Void NetworkEarnFromHoldups(int amount) { return _i(0x45B8154E077D9E4D,amount); } // 0x45B8154E077D9E4D 0xE6B90E9C b323 - // + // inline Void NetworkEarnFromProperty(int amount, Hash propertyName) { return _i(0x849648349D77F5C5,amount, propertyName); } // 0x849648349D77F5C5 0x9BE4F7E1 b323 - // DSPORT + // DSPORT inline Void NetworkEarnFromAiTargetKill(Any p0, Any p1) { return _i(0x515B4A22E4D3C6D7,p0, p1); } // 0x515B4A22E4D3C6D7 0x866004A8 b323 - // + // inline Void NetworkEarnFromNotBadsport(int amount) { return _i(0x4337511FA8221D36,amount); } // 0x4337511FA8221D36 0xCC068380 b323 - // + // inline Void NetworkEarnFromVehicle(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6, Any p7) { return _i(0xB539BD8A4C1EECF8,p0, p1, p2, p3, p4, p5, p6, p7); } // 0xB539BD8A4C1EECF8 0xF803589D b323 - // + // inline Void NetworkEarnFromPersonalVehicle(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6, Any p7, Any p8) { return _i(0x3F4D00167E41E0AD,p0, p1, p2, p3, p4, p5, p6, p7, p8); } // 0x3F4D00167E41E0AD 0x96B8BEE8 b323 - // type either Monthly,Weekly,Daily - inline Void NetworkEarnFromDailyObjectives(int amount, String type, int characterSlot) { return _i(0x6EA318C91C1A8786,amount, type, characterSlot); } // 0x6EA318C91C1A8786 0xAB6BD72F b323 - // Example for p1: "AM_DISTRACT_COPS" - inline Void NetworkEarnFromAmbientJob(int p0, String p1, Any* p2) { return _i(0xFB6DB092FBAE29E6,p0, p1, p2); } // 0xFB6DB092FBAE29E6 0xA14CC95D b323 - // + // type either Monthly,Weekly,Daily + inline Void NetworkEarnFromDailyObjectives(int amount, const char* type, int characterSlot) { return _i(0x6EA318C91C1A8786,amount, type, characterSlot); } // 0x6EA318C91C1A8786 0xAB6BD72F b323 + // Example for p1: "AM_DISTRACT_COPS" + inline Void NetworkEarnFromAmbientJob(int p0, const char* p1, Any* p2) { return _i(0xFB6DB092FBAE29E6,p0, p1, p2); } // 0xFB6DB092FBAE29E6 0xA14CC95D b323 + // inline Void NetworkEarnFromJobBonus(Any p0, Any* p1, Any* p2) { return _i(0x6816FB4416760775,p0, p1, p2); } // 0x6816FB4416760775 0xBEE23713 b323 - // + // inline Void NetworkEarnFromCriminalMastermind(Any p0, Any p1, Any p2) { return _i(0xFA009A62990671D4,p0, p1, p2); } // 0xFA009A62990671D4 b1290 - // + // inline Void NetworkEarnHeistAward(Any p0, Any p1, Any p2) { return _i(0x9D4FDBB035229669,p0, p1, p2); } // 0x9D4FDBB035229669 b1290 - // + // inline Void NetworkEarnFirstTimeBonus(Any p0, Any p1, Any p2) { return _i(0x11B0A20C493F7E36,p0, p1, p2); } // 0x11B0A20C493F7E36 b1290 - // + // inline Void NetworkEarnGoon(Any p0, Any p1, Any p2) { return _i(0xCDA1C62BE2777802,p0, p1, p2); } // 0xCDA1C62BE2777802 b573 - // + // inline Void NetworkEarnBoss(Any p0, Any p1, Any p2) { return _i(0x8B0CA7A6AB3AC32,p0, p1, p2); } // 0x8B0CA7A6AB3AC32 b573 - // + // inline Void NetworkEarnAgency(Any p0, Any p1, Any p2, Any p3) { return _i(0xCB1BE0633C024A8,p0, p1, p2, p3); } // 0xCB1BE0633C024A8 b573 - // + // inline Void NetworkEarnFromWarehouse(int amount, int id) { return _i(0x3E4ADAFF1830F146,amount, id); } // 0x3E4ADAFF1830F146 b757 - // + // inline Void NetworkEarnFromContraband(int amount, Any p1) { return _i(0xECA658CE2A4E5A72,amount, p1); } // 0xECA658CE2A4E5A72 b757 - // + // inline Void NetworkEarnFromDestroyingContraband(Any p0, Any p1, Any p2) { return _i(0x84C0116D012E8FC2,p0, p1, p2); } // 0x84C0116D012E8FC2 b757 - // + // inline Void NetworkEarnFromSmugglerWork(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5) { return _i(0x6B7E4FB50D5F3D65,p0, p1, p2, p3, p4, p5); } // 0x6B7E4FB50D5F3D65 b1180 - // + // inline Void NetworkEarnFromHangarTrade(Any p0, Any p1) { return _i(0x31BA138F6304FB9F,p0, p1); } // 0x31BA138F6304FB9F b1180 - // + // inline Void NetworkEarnPurchaseClubHouse(Any p0, Any p1) { return _i(0x55A1E095DB052FA5,p0, p1); } // 0x55A1E095DB052FA5 b877 - // + // inline Void NetworkEarnFromBusinessProduct(int amount, Any p1, Any p2, Any p3) { return _i(0x8586789730B10CAF,amount, p1, p2, p3); } // 0x8586789730B10CAF b877 - // + // inline Void NetworkEarnFromVehicleExport(int amount, Any p1, Any p2) { return _i(0xEDEAD9A91EC768B3,amount, p1, p2); } // 0xEDEAD9A91EC768B3 b944 - // + // inline Void NetworkEarnSmugglerAgency(int amount, Any p1, Any p2, Any p3) { return _i(0xDEE612F2D71B0308,amount, p1, p2, p3); } // 0xDEE612F2D71B0308 b1180 - // + // inline Void NetworkEarnBountyHunterReward(Any p0) { return _i(0xF6B170F9A02E9E87,p0); } // 0xF6B170F9A02E9E87 b1493 - // + // inline Void NetworkEarnFromBusinessBattle(Any p0) { return _i(0x42FCE14F50F27291,p0); } // 0x42FCE14F50F27291 b1493 - // + // inline Void NetworkEarnFromClubManagementParticipation(Any p0, int p1) { return _i(0xA75EAC69F59E96E7,p0, p1); } // 0xA75EAC69F59E96E7 b1493 - // + // inline Void NetworkEarnFromFmbbPhonecallMission(Any p0) { return _i(0xC5156361F26E2212,p0); } // 0xC5156361F26E2212 b1493 - // + // inline Void NetworkEarnFromBusinessHubSell(Any p0, Any p1, Any p2) { return _i(0xB39CF0D53F1C883,p0, p1, p2); } // 0xB39CF0D53F1C883 b1493 - // + // inline Void NetworkEarnFromFmbbBossWork(Any p0) { return _i(0x1FDA0AA679C9919B,p0); } // 0x1FDA0AA679C9919B b1493 - // + // inline Void NetworkEarnFmbbWageBonus(Any p0) { return _i(0xFFFBA1B1F7C0B6F4,p0); } // 0xFFFBA1B1F7C0B6F4 b1493 - // + // inline BOOL NetworkCanSpendMoney(Any p0, BOOL p1, BOOL p2, BOOL p3, Any p4, Any p5) { return _i(0xAB3CAA6B422164DA,p0, p1, p2, p3, p4, p5); } // 0xAB3CAA6B422164DA 0x5AA379D9 b323 - // + // inline BOOL NetworkCanSpendMoney2(Any p0, BOOL p1, BOOL p2, BOOL p3, Any* p4, Any p5, Any p6) { return _i(0x7303E27CC6532080,p0, p1, p2, p3, p4, p5, p6); } // 0x7303E27CC6532080 b323 - // - inline Void NetworkBuyItem(int amount, Hash item, Any p2, Any p3, BOOL p4, String item_name, Any p6, Any p7, Any p8, BOOL p9) { return _i(0xF0077C797F66A355,amount, item, p2, p3, p4, item_name, p6, p7, p8, p9); } // 0xF0077C797F66A355 0xA07B6368 b323 - // + // + inline Void NetworkBuyItem(int amount, Hash item, Any p2, Any p3, BOOL p4, const char* item_name, Any p6, Any p7, Any p8, BOOL p9) { return _i(0xF0077C797F66A355,amount, item, p2, p3, p4, item_name, p6, p7, p8, p9); } // 0xF0077C797F66A355 0xA07B6368 b323 + // inline Void NetworkSpentTaxi(int amount, BOOL p1, BOOL p2, Any p3, Any p4) { return _i(0x17C3A7D31EAE39F9,amount, p1, p2, p3, p4); } // 0x17C3A7D31EAE39F9 0x1F3DB3E3 b323 - // + // inline Void NetworkPayEmployeeWage(Any p0, BOOL p1, BOOL p2) { return _i(0x5FD5ED82CBBE9989,p0, p1, p2); } // 0x5FD5ED82CBBE9989 0xBE70849B b323 - // - inline Void NetworkPayMatchEntryFee(int amount, String matchId, BOOL p2, BOOL p3) { return _i(0x9346E14F2AF74D46,amount, matchId, p2, p3); } // 0x9346E14F2AF74D46 0x224A3488 b323 - // - inline Void NetworkSpentBetting(int amount, int p1, String matchId, BOOL p3, BOOL p4) { return _i(0x1C436FD11FFA692F,amount, p1, matchId, p3, p4); } // 0x1C436FD11FFA692F 0xF8A07513 b323 - // + // + inline Void NetworkPayMatchEntryFee(int amount, const char* matchId, BOOL p2, BOOL p3) { return _i(0x9346E14F2AF74D46,amount, matchId, p2, p3); } // 0x9346E14F2AF74D46 0x224A3488 b323 + // + inline Void NetworkSpentBetting(int amount, int p1, const char* matchId, BOOL p3, BOOL p4) { return _i(0x1C436FD11FFA692F,amount, p1, matchId, p3, p4); } // 0x1C436FD11FFA692F 0xF8A07513 b323 + // inline Void NetworkSpentWager(Any p0, Any p1, int amount) { return _i(0xD99DB210089617FE,p0, p1, amount); } // 0xD99DB210089617FE b573 - // + // inline Void NetworkSpentInStripclub(Any p0, BOOL p1, Any p2, BOOL p3) { return _i(0xEE99784E4467689C,p0, p1, p2, p3); } // 0xEE99784E4467689C 0x8957038E b323 - // + // inline Void NetworkBuyHealthcare(int cost, BOOL p1, BOOL p2) { return _i(0xD9B067E55253E3DD,cost, p1, p2); } // 0xD9B067E55253E3DD 0x832150E5 b323 - // p1 = 0 (always) + // p1 = 0 (always) // p2 = 1 (always) inline Void NetworkBuyAirstrike(int cost, BOOL p1, BOOL p2, Any p3) { return _i(0x763B4BD305338F19,cost, p1, p2, p3); } // 0x763B4BD305338F19 0x40470683 b323 - // + // inline Void NetworkBuyBackupGang(int p0, int p1, BOOL p2, BOOL p3, int npcProvider) { return _i(0xA3EDDAA42411D3B9,p0, p1, p2, p3, npcProvider); } // 0xA3EDDAA42411D3B9 0x2AD2EC51 b323 - // p1 = 0 (always) + // p1 = 0 (always) // p2 = 1 (always) inline Void NetworkBuyHeliStrike(int cost, BOOL p1, BOOL p2, Any p3) { return _i(0x81AA4610E3FD3A69,cost, p1, p2, p3); } // 0x81AA4610E3FD3A69 0x047547D4 b323 - // + // inline Void NetworkSpentAmmoDrop(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0xB162DC95C0A3317B,p0, p1, p2, p3); } // 0xB162DC95C0A3317B 0x4B643076 b323 - // p1 is just an assumption. p2 was false and p3 was true. + // p1 is just an assumption. p2 was false and p3 was true. inline Void NetworkBuyBounty(int amount, Player victim, BOOL p2, BOOL p3, Any p4) { return _i(0x7B718E197453F2D9,amount, victim, p2, p3, p4); } // 0x7B718E197453F2D9 0xCB89CBE0 b323 - // + // inline Void NetworkBuyProperty(int cost, Hash propertyName, BOOL p2, BOOL p3) { return _i(0x650A08A280870AF6,cost, propertyName, p2, p3); } // 0x650A08A280870AF6 0x7D479AAB b323 - // + // inline Void NetworkBuySmokes(int p0, BOOL p1, BOOL p2) { return _i(0x75AF80E61248EEBD,p0, p1, p2); } // 0x75AF80E61248EEBD 0xC0AB03EB b323 - // + // inline Void NetworkSpentHeliPickup(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0x7BF1D73DB2ECA492,p0, p1, p2, p3); } // 0x7BF1D73DB2ECA492 0x27EEBCAB b323 - // + // inline Void NetworkSpentBoatPickup(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0x524EE43A37232C00,p0, p1, p2, p3); } // 0x524EE43A37232C00 0xB241CABD b323 - // + // inline Void NetworkSpentBullShark(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0xA6DD8458CE24012C,p0, p1, p2, p3); } // 0xA6DD8458CE24012C 0xDE7D398C b323 - // + // inline Void NetworkSpentCashDrop(int amount, BOOL p1, BOOL p2) { return _i(0x289016EC778D60E0,amount, p1, p2); } // 0x289016EC778D60E0 0x87BD1D11 b323 - // Only used once in a script (am_contact_requests) + // Only used once in a script (am_contact_requests) // p1 = 0 // p2 = 1 inline Void NetworkSpentHireMugger(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0xE404BFB981665BF0,p0, p1, p2, p3); } // 0xE404BFB981665BF0 0xE792C4A5 b323 - // + // inline Void NetworkSpentRobbedByMugger(int amount, BOOL p1, BOOL p2, Any p3) { return _i(0x995A65F15F581359,amount, p1, p2, p3); } // 0x995A65F15F581359 0xE6AAA0D5 b323 - // + // inline Void NetworkSpentHireMercenary(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0xE7B80E2BF9D80BD6,p0, p1, p2, p3); } // 0xE7B80E2BF9D80BD6 0x99CF02C4 b323 - // + // inline Void NetworkSpentBuyWantedlevel(Any p0, Any* p1, BOOL p2, BOOL p3, Any p4) { return _i(0xE1B13771A843C4F6,p0, p1, p2, p3, p4); } // 0xE1B13771A843C4F6 0xE7CB4F95 b323 - // + // inline Void NetworkSpentBuyOfftheradar(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0xA628A745E2275C5D,p0, p1, p2, p3); } // 0xA628A745E2275C5D 0x20DDCF2F b323 - // + // inline Void NetworkSpentBuyRevealPlayers(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0x6E176F1B18BC0637,p0, p1, p2, p3); } // 0x6E176F1B18BC0637 0x2F7836E2 b323 - // + // inline Void NetworkSpentCarwash(Any p0, Any p1, Any p2, BOOL p3, BOOL p4) { return _i(0xEC03C719DB2F4306,p0, p1, p2, p3, p4); } // 0xEC03C719DB2F4306 0x8283E028 b323 - // + // inline Void NetworkSpentCinema(Any p0, Any p1, BOOL p2, BOOL p3) { return _i(0x6B38ECB05A63A685,p0, p1, p2, p3); } // 0x6B38ECB05A63A685 0x1100CAF5 b323 - // + // inline Void NetworkSpentTelescope(Any p0, BOOL p1, BOOL p2) { return _i(0x7FE61782AD94CC09,p0, p1, p2); } // 0x7FE61782AD94CC09 0xAE7FF044 b323 - // + // inline Void NetworkSpentHoldups(Any p0, BOOL p1, BOOL p2) { return _i(0xD9B86B9872039763,p0, p1, p2); } // 0xD9B86B9872039763 0x1B3803B1 b323 - // + // inline Void NetworkSpentBuyPassiveMode(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0x6D3A430D1A809179,p0, p1, p2, p3); } // 0x6D3A430D1A809179 0x7E97C92C b323 - // + // inline Void NetworkSpentBankInterest(int p0, BOOL p1, BOOL p2) { return _i(0xCA230C9682556CF1,p0, p1, p2); } // 0xCA230C9682556CF1 0xF02E92D7 b323 - // + // inline Void NetworkSpentProstitutes(Any p0, BOOL p1, BOOL p2) { return _i(0xB21B89501CFAC79E,p0, p1, p2); } // 0xB21B89501CFAC79E 0x78436D07 b323 - // + // inline Void NetworkSpentArrestBail(Any p0, BOOL p1, BOOL p2) { return _i(0x812F5488B1B2A299,p0, p1, p2); } // 0x812F5488B1B2A299 0x5AEE2FC1 b323 - // According to how I understood this in the freemode script alone, + // 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 GetEntityModel with the vehicle as the paremeter. @@ -8015,610 +8015,610 @@ namespace MONEY // 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. inline Void NetworkSpentPayVehicleInsurancePremium(int amount, Hash vehicleModel, Any* gamerHandle, BOOL notBankrupt, BOOL hasTheMoney) { return _i(0x9FF28D88C766E3E8,amount, vehicleModel, gamerHandle, notBankrupt, hasTheMoney); } // 0x9FF28D88C766E3E8 0x4E665BB2 b323 - // + // inline Void NetworkSpentCallPlayer(Any p0, Any* p1, BOOL p2, BOOL p3) { return _i(0xACDE7185B374177C,p0, p1, p2, p3); } // 0xACDE7185B374177C 0x1A89B5FC b323 - // + // inline Void NetworkSpentBounty(Any p0, BOOL p1, BOOL p2) { return _i(0x29B260B84947DFCC,p0, p1, p2); } // 0x29B260B84947DFCC 0x3401FC96 b323 - // + // inline Void NetworkSpentFromRockstar(int p0, BOOL p1, BOOL p2) { return _i(0x6A445B64ED7ABEB5,p0, p1, p2); } // 0x6A445B64ED7ABEB5 0x54198922 b323 - // Hardcoded to return 0. + // Hardcoded to return 0. inline int NetworkSpendEarnedFromBankAndWallets(int amount) { return _i(0x9B5016A6433A68C5,amount); } // 0x9B5016A6433A68C5 0xBD64F1B7 b323 - // This isn't a hash collision. - inline String ProcessCashGift(int* p0, int* p1, String p2) { return _i(0x20194D48EAEC9A41,p0, p1, p2); } // 0x20194D48EAEC9A41 0xC5D8B1E9 b323 - // + // This isn't a hash collision. + inline const char* ProcessCashGift(int* p0, int* p1, const char* p2) { return _i(0x20194D48EAEC9A41,p0, p1, p2); } // 0x20194D48EAEC9A41 0xC5D8B1E9 b323 + // inline Void NetworkSpentMoveSubmarine(Any p0, Any p1, Any p2) { return _i(0xCD4D66B43B1DD28D,p0, p1, p2); } // 0xCD4D66B43B1DD28D b2189 - // + // inline Void NetworkSpentPlayerHealthcare(int p0, int p1, BOOL p2, BOOL p3) { return _i(0x7C99101F7FCE2EE5,p0, p1, p2, p3); } // 0x7C99101F7FCE2EE5 0x3D96A21C b323 - // + // inline Void NetworkSpentNoCops(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0xD5BB406F4E04019F,p0, p1, p2, p3); } // 0xD5BB406F4E04019F 0x2E51C61C b323 - // + // inline Void NetworkSpentCargoSourcing(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5) { return _i(0x948705F6F9C50824,p0, p1, p2, p3, p4, p5); } // 0x948705F6F9C50824 b2699 - // + // inline Void NetworkSpentRequestJob(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0x8204DA7934DF3155,p0, p1, p2, p3); } // 0x8204DA7934DF3155 0xD57A5125 b323 - // + // inline Void NetworkSpentRequestHeist(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0x9D26502BB97BFE62,p0, p1, p2, p3); } // 0x9D26502BB97BFE62 0xF4287778 b323 - // 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 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 // inline Void NetworkBuyFairgroundRide(int amount, Any p1, BOOL p2, BOOL p3, Any p4) { return _i(0x8A7B3952DD64D2B5,amount, p1, p2, p3, p4); } // 0x8A7B3952DD64D2B5 0xD9622D64 b323 - // + // inline BOOL NetworkEconomyHasFixedCrazyNumbers() { return _i(0x7C4FCCD2E4DEB394); } // 0x7C4FCCD2E4DEB394 b323 - // - inline Void NetworkSpentJobSkip(int amount, String matchId, BOOL p2, BOOL p3) { return _i(0x28F174A67B8D0C2F,amount, matchId, p2, p3); } // 0x28F174A67B8D0C2F b323 - // + // + inline Void NetworkSpentJobSkip(int amount, const char* matchId, BOOL p2, BOOL p3) { return _i(0x28F174A67B8D0C2F,amount, matchId, p2, p3); } // 0x28F174A67B8D0C2F b323 + // inline BOOL NetworkSpentBossGoon(int amount, BOOL p1, BOOL p2) { return _i(0xFFBE02CD385356BD,amount, p1, p2); } // 0xFFBE02CD385356BD b573 - // + // inline Void NetworkSpendGoon(int p0, int p1, int amount) { return _i(0x8A1B82B91900682,p0, p1, amount); } // 0x8A1B82B91900682 b573 - // + // inline Void NetworkSpendBoss(Any p0, Any p1, Any p2) { return _i(0xDBC966A01C02BCA7,p0, p1, p2); } // 0xDBC966A01C02BCA7 b573 - // + // inline Void NetworkSpentMoveYacht(int amount, BOOL p1, BOOL p2) { return _i(0xE7DF4E0545DFB56E,amount, p1, p2); } // 0xE7DF4E0545DFB56E b573 - // + // inline Void NetworkSpentRenameOrganization(Any p0, Any p1, Any p2, Any p3) { return _i(0xFC4EE00A7B3BFB76,p0, p1, p2, p3); } // 0xFC4EE00A7B3BFB76 b573 - // + // inline Void NetworkBuyContrabandMission(int p0, int p1, Hash p2, BOOL p3, BOOL p4) { return _i(0x30FD873ECE50E9F6,p0, p1, p2, p3, p4); } // 0x30FD873ECE50E9F6 b757 - // + // inline Void NetworkSpentPaServiceHeli(Any p0, Any p1, Any p2, Any p3) { return _i(0x112209CE0290C03A,p0, p1, p2, p3); } // 0x112209CE0290C03A b757 - // + // inline Void NetworkSpentPaServiceVehicle(Any p0, Any p1, Any p2, Any p3) { return _i(0xED5FD7AF10F5E262,p0, p1, p2, p3); } // 0xED5FD7AF10F5E262 b757 - // + // inline Void NetworkSpentPaServiceSnack(Any p0, Any p1, Any p2, Any p3) { return _i(0xD30EB83668E63C5,p0, p1, p2, p3); } // 0xD30EB83668E63C5 b757 - // + // inline Void NetworkSpentPaServiceDancer(Any p0, Any p1, Any p2, Any p3) { return _i(0xB49ECA122467D05F,p0, p1, p2, p3); } // 0xB49ECA122467D05F b757 - // + // inline Void NetworkSpentPaServiceImpound(Any p0, Any p1, Any p2) { return _i(0xE23ADC6FCB1F29AE,p0, p1, p2); } // 0xE23ADC6FCB1F29AE b757 - // + // inline Void NetworkSpentPaHeliPickup(Any p0, Any p1, Any p2, Any p3) { return _i(0xFE8E1FCD2B86B33,p0, p1, p2, p3); } // 0xFE8E1FCD2B86B33 b757 - // + // inline Void NetworkSpentPurchaseOfficeProperty(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x69EF772B192614C1,p0, p1, p2, p3, p4); } // 0x69EF772B192614C1 b757 - // + // inline Void NetworkSpentUpgradeOfficeProperty(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x8E243837643D9583,p0, p1, p2, p3, p4); } // 0x8E243837643D9583 b757 - // + // inline Void NetworkSpentPurchaseWarehouseProperty(Any p0, Any p1, Any p2, Any p3) { return _i(0xBD0EFB25CCA8F97A,p0, p1, p2, p3); } // 0xBD0EFB25CCA8F97A b757 - // + // inline Void NetworkSpentUpgradeWarehouseProperty(Any p0, Any p1, Any p2, Any p3) { return _i(0xA95F667A755725DA,p0, p1, p2, p3); } // 0xA95F667A755725DA b757 - // + // inline Void NetworkSpentPurchaseImpexpWarehouseProperty(int amount, Any* data, BOOL p2, BOOL p3) { return _i(0x33981D6804E62F49,amount, data, p2, p3); } // 0x33981D6804E62F49 b944 - // + // inline Void NetworkSpentUpgradeImpexpWarehouseProperty(Any p0, Any p1, Any p2, Any p3) { return _i(0x4128464231E3CA0B,p0, p1, p2, p3); } // 0x4128464231E3CA0B b944 - // + // inline Void NetworkSpentTradeImpexpWarehouseProperty(Any p0, Any p1, Any p2, Any p3) { return _i(0x2FAB6614CE22E196,p0, p1, p2, p3); } // 0x2FAB6614CE22E196 b944 - // + // inline Void NetworkSpentOrderWarehouseVehicle(Any p0, Any p1, Any p2, Any p3) { return _i(0x5F04155A226FBBF,p0, p1, p2, p3); } // 0x5F04155A226FBBF b757 - // + // inline Void NetworkSpentOrderBodyguardVehicle(Any p0, Any p1, Any p2, Any p3) { return _i(0xE8B0B270B6E7C76E,p0, p1, p2, p3); } // 0xE8B0B270B6E7C76E b757 - // + // inline Void NetworkSpentJukebox(Any p0, Any p1, Any p2, Any p3) { return _i(0x5BCDE0F640C773D2,p0, p1, p2, p3); } // 0x5BCDE0F640C773D2 b877 - // + // inline Void NetworkSpentPurchaseClubHouse(Any p0, Any p1, Any p2, Any p3) { return _i(0x998E18CEB44487FC,p0, p1, p2, p3); } // 0x998E18CEB44487FC b877 - // + // inline Void NetworkSpentUpgradeClubHouse(Any p0, Any p1, Any p2, Any p3) { return _i(0xFA07759E6FDDD7CF,p0, p1, p2, p3); } // 0xFA07759E6FDDD7CF b877 - // + // inline Void NetworkSpentPurchaseBusinessProperty(Any p0, Any p1, Any p2, Any p3) { return _i(0x6FD97159FE3C971A,p0, p1, p2, p3); } // 0x6FD97159FE3C971A b877 - // + // inline Void NetworkSpentUpgradeBusinessProperty(Any p0, Any p1, Any p2, Any p3) { return _i(0x675D19C6067CAE08,p0, p1, p2, p3); } // 0x675D19C6067CAE08 b877 - // + // inline Void NetworkSpentTradeBusinessProperty(Any p0, Any p1, Any p2, Any p3) { return _i(0xA51B086B0B2C0F7A,p0, p1, p2, p3); } // 0xA51B086B0B2C0F7A b877 - // + // inline Void NetworkSpentMcAbility(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0xD7CCCBA28C4ECAF0,p0, p1, p2, p3, p4); } // 0xD7CCCBA28C4ECAF0 b877 - // + // inline Void NetworkSpentPayBusinessSupplies(Any p0, Any p1, Any p2, Any p3) { return _i(0x35BB914316F1E3,p0, p1, p2, p3); } // 0x35BB914316F1E3 b877 - // + // inline Void NetworkSpentChangeAppearance(Any p0, Any p1, Any p2) { return _i(0x5F456788B05FAEAC,p0, p1, p2); } // 0x5F456788B05FAEAC b944 - // + // inline Void NetworkSpentVehicleExportMods(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6, Any p7, Any p8, Any p9) { return _i(0xA75CCF58A60A5FD1,p0, p1, p2, p3, p4, p5, p6, p7, p8, p9); } // 0xA75CCF58A60A5FD1 b944 - // + // inline Void NetworkSpentPurchaseOfficeGarage(Any p0, Any p1, Any p2, Any p3) { return _i(0xB4C2EC463672474E,p0, p1, p2, p3); } // 0xB4C2EC463672474E b944 - // + // inline Void NetworkSpentUpgradeOfficeGarage(Any p0, Any p1, Any p2, Any p3) { return _i(0x2AFC2D19B50797F2,p0, p1, p2, p3); } // 0x2AFC2D19B50797F2 b944 - // + // inline Void NetworkSpentImportExportRepair(Any p0, Any p1, Any p2) { return _i(0xC1952F3773BA18FE,p0, p1, p2); } // 0xC1952F3773BA18FE b944 - // + // inline Void NetworkSpentPurchaseHangar(Any p0, Any p1, Any p2, Any p3) { return _i(0xCCB339CC970452DA,p0, p1, p2, p3); } // 0xCCB339CC970452DA b1180 - // + // inline Void NetworkSpentUpgradeHangar(Any p0, Any p1, Any p2, Any p3) { return _i(0x615EB504B0788DAF,p0, p1, p2, p3); } // 0x615EB504B0788DAF b1180 - // + // inline Void NetworkSpentHangarUtilityCharges(int amount, BOOL p1, BOOL p2) { return _i(0xB18AC2ECBB15CB6A,amount, p1, p2); } // 0xB18AC2ECBB15CB6A b1180 - // + // inline Void NetworkSpentHangarStaffCharges(int amount, BOOL p1, BOOL p2) { return _i(0xB1F1346FD57685D7,amount, p1, p2); } // 0xB1F1346FD57685D7 b1180 - // + // inline Void NetworkSpentBuyTruck(Any p0, Any p1, Any p2, Any p3) { return _i(0xAC272C0AE01B4BD8,p0, p1, p2, p3); } // 0xAC272C0AE01B4BD8 b1103 - // + // inline Void NetworkSpentUpgradeTruck(Any p0, Any p1, Any p2, Any p3) { return _i(0x365E877C61D6988B,p0, p1, p2, p3); } // 0x365E877C61D6988B b1103 - // + // inline Void NetworkSpentBuyBunker(Any p0, Any p1, Any p2, Any p3) { return _i(0x12D148D26538D0F9,p0, p1, p2, p3); } // 0x12D148D26538D0F9 b1103 - // + // inline Void NetworkSpentUpradeBunker(Any p0, Any p1, Any p2, Any p3) { return _i(0xC82D21A77C22D49,p0, p1, p2, p3); } // 0xC82D21A77C22D49 b1103 - // + // inline Void NetworkEarnFromSellBunker(int amount, Hash bunkerHash) { return _i(0x9251B6ABF2D0A5B4,amount, bunkerHash); } // 0x9251B6ABF2D0A5B4 b1103 - // + // inline Void NetworkSpentBallisticEquipment(int amount, BOOL p1, BOOL p2) { return _i(0x5D97630A8A0EF123,amount, p1, p2); } // 0x5D97630A8A0EF123 b1103 - // + // inline Void NetworkEarnRdrBonus(int amount, Any p1) { return _i(0x7A5349B773584675,amount, p1); } // 0x7A5349B773584675 b1290 - // + // inline Void NetworkEarnWagePayment(int amount, Any p1) { return _i(0x35F8DA0E8A31EF1B,amount, p1); } // 0x35F8DA0E8A31EF1B b1180 - // + // inline Void NetworkEarnWagePaymentBonus(int amount) { return _i(0x5ACA7100BD101D,amount); } // 0x5ACA7100BD101D b1180 - // + // inline Void NetworkSpentBuyBase(Any p0, Any p1, Any p2, Any p3) { return _i(0x4EA3F425C7744D21,p0, p1, p2, p3); } // 0x4EA3F425C7744D21 b1290 - // + // inline Void NetworkSpentUpgradeBase(Any p0, Any p1, Any p2, Any p3) { return _i(0x3DD3F33A5D55EA6F,p0, p1, p2, p3); } // 0x3DD3F33A5D55EA6F b1290 - // + // inline Void NetworkSpentBuyTiltrotor(Any p0, Any p1, Any p2, Any p3) { return _i(0xCCE73BC7A11E885,p0, p1, p2, p3); } // 0xCCE73BC7A11E885 b1290 - // + // inline Void NetworkSpentUpgradeTiltrotor(Any p0, Any p1, Any p2, Any p3) { return _i(0x165E135D6DFA2907,p0, p1, p2, p3); } // 0x165E135D6DFA2907 b1290 - // + // inline Void NetworkSpentEmployAssassins(Any p0, Any p1, Any p2, Any p3) { return _i(0x5BBBD92186E1F1C5,p0, p1, p2, p3); } // 0x5BBBD92186E1F1C5 b1290 - // + // inline Void NetworkSpendGangopsCannon(Any p0, Any p1, Any p2, Any p3) { return _i(0x771ADB0E7635B7BF,p0, p1, p2, p3); } // 0x771ADB0E7635B7BF b1290 - // + // inline Void NetworkSpendGangopsSkipMission(Any p0, Any p1, Any p2, Any p3) { return _i(0xDA947AE8880D5C18,p0, p1, p2, p3); } // 0xDA947AE8880D5C18 b1290 - // + // inline Void NetworkSpendCasinoHeistSkipMission(Any p0, Any p1, Any p2, Any p3) { return _i(0x487009DD91D93429,p0, p1, p2, p3); } // 0x487009DD91D93429 b1868 - // + // inline Void NetworkEarnSellBase(int amount, Hash baseNameHash) { return _i(0xE1E2FF3F4EC11AA,amount, baseNameHash); } // 0xE1E2FF3F4EC11AA b1290 - // + // inline Void NetworkEarnTargetRefund(int amount, int p1) { return _i(0x5B669CF2299A271F,amount, p1); } // 0x5B669CF2299A271F b1290 - // + // inline Void NetworkEarnGangopsWages(int amount, int p1) { return _i(0x2DCB19ABAB0380A8,amount, p1); } // 0x2DCB19ABAB0380A8 b1290 - // + // inline Void NetworkEarnGangopsWagesBonus(int amount, int p1) { return _i(0x15BB2A5C757EB91F,amount, p1); } // 0x15BB2A5C757EB91F b1290 - // + // inline Void NetworkEarnDarChallenge(int amount, Any p1) { return _i(0xCAC672087B4A24AB,amount, p1); } // 0xCAC672087B4A24AB b1290 - // + // inline Void NetworkEarnDoomsdayFinaleBonus(int amount, Hash vehicleHash) { return _i(0x128A747F4A230952,amount, vehicleHash); } // 0x128A747F4A230952 b1290 - // - inline Void NetworkEarnGangopsAward(int amount, String p1, Any p2) { return _i(0xA9A31475F530DFDA,amount, p1, p2); } // 0xA9A31475F530DFDA b1290 - // - inline Void NetworkEarnGangopsElite(int amount, String p1, int actIndex) { return _i(0x2597A0D4A4FC2C77,amount, p1, actIndex); } // 0x2597A0D4A4FC2C77 b1290 - // + // + inline Void NetworkEarnGangopsAward(int amount, const char* p1, Any p2) { return _i(0xA9A31475F530DFDA,amount, p1, p2); } // 0xA9A31475F530DFDA b1290 + // + inline Void NetworkEarnGangopsElite(int amount, const char* p1, int actIndex) { return _i(0x2597A0D4A4FC2C77,amount, p1, actIndex); } // 0x2597A0D4A4FC2C77 b1290 + // inline Void NetworkServiceEarnGangopsRivalDelivery(int earnedMoney) { return _i(0x1B882107C23A9022,earnedMoney); } // 0x1B882107C23A9022 b1290 - // + // inline Void NetworkSpendGangopsStartStrand(int type, int amount, BOOL p2, BOOL p3) { return _i(0xA19EC0786E326E06,type, amount, p2, p3); } // 0xA19EC0786E326E06 b1290 - // + // inline Void NetworkSpendGangopsTripSkip(int amount, BOOL p1, BOOL p2) { return _i(0x5ECE6FD7B4EC8D6A,amount, p1, p2); } // 0x5ECE6FD7B4EC8D6A b1290 - // + // inline Void NetworkEarnGangopsPrepParticipation(int amount) { return _i(0xED26584F6BDCBBFD,amount); } // 0xED26584F6BDCBBFD b1290 - // - inline Void NetworkEarnGangopsSetup(int amount, String p1) { return _i(0xA9160796D47A2CF8,amount, p1); } // 0xA9160796D47A2CF8 b1290 - // - inline Void NetworkEarnGangopsFinale(int amount, String p1) { return _i(0x1C121FC9545E0D52,amount, p1); } // 0x1C121FC9545E0D52 b1290 - // + // + inline Void NetworkEarnGangopsSetup(int amount, const char* p1) { return _i(0xA9160796D47A2CF8,amount, p1); } // 0xA9160796D47A2CF8 b1290 + // + inline Void NetworkEarnGangopsFinale(int amount, const char* p1) { return _i(0x1C121FC9545E0D52,amount, p1); } // 0x1C121FC9545E0D52 b1290 + // inline Void NetworkSpendGangopsRepairCost(Any p0, Any p1, Any p2) { return _i(0x2A7CEC72C3443BCC,p0, p1, p2); } // 0x2A7CEC72C3443BCC b1290 - // + // inline Void NetworkEarnNightclub(Any p0) { return _i(0xE0F82D68C7039158,p0); } // 0xE0F82D68C7039158 b1493 - // + // inline Void NetworkEarnNightclubDancing(Any p0) { return _i(0xB4DEAE67F35E2ACD,p0); } // 0xB4DEAE67F35E2ACD b1493 - // + // inline Void NetworkEarnBbEventBonus(int amount) { return _i(0xFDD8D2440DAF1590,amount); } // 0xFDD8D2440DAF1590 b1604 - // + // inline Void NetworkSpentPurchaseHackerTruck(Any p0, Any p1, Any p2, Any p3) { return _i(0x2A93C46AAB1EACC9,p0, p1, p2, p3); } // 0x2A93C46AAB1EACC9 b1493 - // + // inline Void NetworkSpentUpgradeHackerTruck(Any p0, Any p1, Any p2, Any p3) { return _i(0x226C284C830D0CA8,p0, p1, p2, p3); } // 0x226C284C830D0CA8 b1493 - // + // inline Void NetworkEarnHackerTruck(Any p0, int amount, Any p2, Any p3) { return _i(0xE8815FE993896AD3,p0, amount, p2, p3); } // 0xE8815FE993896AD3 b1493 - // + // inline Void NetworkSpentPurchaseNightclubAndWarehouse(Any p0, Any p1, Any p2, Any p3) { return _i(0xED76D195E6E3BF7F,p0, p1, p2, p3); } // 0xED76D195E6E3BF7F b1493 - // + // inline Void NetworkSpentUpgradeNightclubAndWarehouse(Any p0, Any p1, Any p2, Any p3) { return _i(0x1DC9B749E7AE282B,p0, p1, p2, p3); } // 0x1DC9B749E7AE282B b1493 - // + // inline Void NetworkEarnNightclubAndWarehouse(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6) { return _i(0xC6E74CF8C884C880,p0, p1, p2, p3, p4, p5, p6); } // 0xC6E74CF8C884C880 b1493 - // + // inline Void NetworkSpendNightclubAndWarehouse(Any p0, Any p1, Any p2, Any p3) { return _i(0x65482BFD0923C8A1,p0, p1, p2, p3); } // 0x65482BFD0923C8A1 b1493 - // + // inline Void NetworkSpentRdrHatchetBonus(int amount, BOOL p1, BOOL p2) { return _i(0xE284D46FFDB82E36,amount, p1, p2); } // 0xE284D46FFDB82E36 b1493 - // + // inline Void NetworkSpentNightclubEntryFee(Player player, int amount, Any p1, BOOL p2, BOOL p3) { return _i(0x876056684281655D,player, amount, p1, p2, p3); } // 0x876056684281655D b1493 - // + // inline Void NetworkSpendNightclubBarDrink(int amount, Any p1, BOOL p2, BOOL p3) { return _i(0xDD21B016E4289465,amount, p1, p2, p3); } // 0xDD21B016E4289465 b1493 - // + // inline Void NetworkSpendBountyHunterMission(int amount, BOOL p1, BOOL p2) { return _i(0x1BEA0CD93470BB1F,amount, p1, p2); } // 0x1BEA0CD93470BB1F b1493 - // + // inline Void NetworkSpentRehireDj(int amount, Any p1, BOOL p2, BOOL p3) { return _i(0xF6C8A544E4CF14FC,amount, p1, p2, p3); } // 0xF6C8A544E4CF14FC b1493 - // + // inline Void NetworkSpentArenaJoinSpectator(int amount, Any p1, BOOL p2, BOOL p3) { return _i(0x14EAEA58F93B55AF,amount, p1, p2, p3); } // 0x14EAEA58F93B55AF b1604 - // + // inline Void NetworkEarnArenaSkillLevelProgression(int amount, Any p1) { return _i(0xE08256F972C7BB2C,amount, p1); } // 0xE08256F972C7BB2C b1604 - // + // inline Void NetworkEarnArenaCareerProgression(int amount, Any p1) { return _i(0xF99F70C61F14619,amount, p1); } // 0xF99F70C61F14619 b1604 - // + // inline Void NetworkSpendMakeItRain(int amount, BOOL p1, BOOL p2) { return _i(0xE5F5A060439C2F5D,amount, p1, p2); } // 0xE5F5A060439C2F5D b1604 - // - inline Void NetworkSpendBuyArena(int amount, BOOL p1, BOOL p2, String p3) { return _i(0x40D5DA9550B7CB46,amount, p1, p2, p3); } // 0x40D5DA9550B7CB46 b1604 - // - inline Void NetworkSpendUpgradeArena(int amount, BOOL p1, BOOL p2, String p3) { return _i(0x37ABB06825D7AB1,amount, p1, p2, p3); } // 0x37ABB06825D7AB1 b1604 - // type either, 1 for cam spectate, 2 for drone + // + inline Void NetworkSpendBuyArena(int amount, BOOL p1, BOOL p2, const char* p3) { return _i(0x40D5DA9550B7CB46,amount, p1, p2, p3); } // 0x40D5DA9550B7CB46 b1604 + // + inline Void NetworkSpendUpgradeArena(int amount, BOOL p1, BOOL p2, const char* p3) { return _i(0x37ABB06825D7AB1,amount, p1, p2, p3); } // 0x37ABB06825D7AB1 b1604 + // type either, 1 for cam spectate, 2 for drone inline Void NetworkSpendArenaSpectatorBox(int amount, int type, BOOL p2, BOOL p3) { return _i(0x7049BF858601DC0F,amount, type, p2, p3); } // 0x7049BF858601DC0F b1604 - // + // inline Void NetworkSpendSpinTheWheelPayment(int amount, Any p1, BOOL p2) { return _i(0x9A5BD1D0000B339C,amount, p1, p2); } // 0x9A5BD1D0000B339C b1604 - // + // inline Void NetworkEarnSpinTheWheelCash(int amount) { return _i(0x676C48776CACBB5A,amount); } // 0x676C48776CACBB5A b1604 - // + // inline Void NetworkSpendArenaPremium(int amount, BOOL p1, BOOL p2) { return _i(0x619496D837EFD920,amount, p1, p2); } // 0x619496D837EFD920 b1604 - // + // inline Void NetworkEarnArenaWar(int amount, Any p1, Any p2, Any p3) { return _i(0x631F1CB8FB4130AA,amount, p1, p2, p3); } // 0x631F1CB8FB4130AA b1604 - // + // inline Void NetworkEarnArenaWarAssassinateTarget(int amount) { return _i(0x5E7AE8AABE8B7C0D,amount); } // 0x5E7AE8AABE8B7C0D b1604 - // + // inline Void NetworkEarnArenaWarEventCargo(int amount) { return _i(0xA82959062361B259,amount); } // 0xA82959062361B259 b1604 - // + // inline Void NetworkEarnRcTimeTrial(int amount) { return _i(0xDFF49EE984E7AAE8,amount); } // 0xDFF49EE984E7AAE8 b1734 - // + // inline Void NetworkEarnDailyObjectiveEvent(int amount) { return _i(0x5128DF14A5BB86FC,amount); } // 0x5128DF14A5BB86FC b1734 - // + // inline Void NetworkSpendCasinoMembership(int amount, BOOL p1, BOOL p2, int p3) { return _i(0xFBBE0570EDF39D46,amount, p1, p2, p3); } // 0xFBBE0570EDF39D46 b1734 - // + // inline Void NetworkSpendBuyCasino(int amount, BOOL p1, BOOL p2, Any* data) { return _i(0x34A6FC4D06C4DA0F,amount, p1, p2, data); } // 0x34A6FC4D06C4DA0F b1734 - // + // inline Void NetworkSpendUpgradeCasino(int amount, BOOL p1, BOOL p2, Any* data) { return _i(0x4740D62BC1B4EBEA,amount, p1, p2, data); } // 0x4740D62BC1B4EBEA b1734 - // + // inline Void NetworkSpendCasinoGeneric(int amount, Any p1, Any p2, Any p3, Any p4) { return _i(0x88BF9B612B84D3C3,amount, p1, p2, p3, p4); } // 0x88BF9B612B84D3C3 b1734 - // + // inline Void NetworkEarnCasinoTimeTrialWin(int amount) { return _i(0x819DB99FD2FBBD8,amount); } // 0x819DB99FD2FBBD8 b1734 - // + // inline Void NetworkEarnCollectablesActionFigures(int amount) { return _i(0x5517F90043466049,amount); } // 0x5517F90043466049 b1734 - // + // inline Void NetworkEarnCasinoCollectableCompletedCollection(int amount) { return _i(0x83AD64F53F4E9483,amount); } // 0x83AD64F53F4E9483 b1734 - // + // inline Void NetworkEarnSellPrizeVehicle(int amount, Any p1, Any p2) { return _i(0x8BCB27A057DF7B7F,amount, p1, p2); } // 0x8BCB27A057DF7B7F b1734 - // + // inline Void NetworkEarnCasinoMissionReward(int amount) { return _i(0x566FD402B25787DE,amount); } // 0x566FD402B25787DE b1734 - // + // inline Void NetworkEarnCasinoStoryMissionReward(int amount) { return _i(0xAC95ED552157E092,amount); } // 0xAC95ED552157E092 b1734 - // + // inline Void NetworkEarnCasinoMissionParticipation(int amount) { return _i(0x9E8F18641BE2575,amount); } // 0x9E8F18641BE2575 b1734 - // + // inline Void NetworkEarnCasinoAward(int amount, Hash hash) { return _i(0x973A9781A34F8DEB,amount, hash); } // 0x973A9781A34F8DEB b1734 - // + // inline Void NetworkSpendBuyArcade(Any p0, Any p1, Any p2, Any p3) { return _i(0x870289A558348378,p0, p1, p2, p3); } // 0x870289A558348378 b1868 - // + // inline Void NetworkSpendUpgradeArcade(Any p0, Any p1, Any p2, Any p3) { return _i(0x5574637681911FDA,p0, p1, p2, p3); } // 0x5574637681911FDA b1868 - // + // inline Void NetworkSpendCasinoHeist(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6, Any p7, Any p8, Any p9, Any p10) { return _i(0xD30E8392F407C328,p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); } // 0xD30E8392F407C328 b1868 - // + // inline Void NetworkSpendArcadeMgmt(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0xB5B58E24868CB09E,p0, p1, p2, p3, p4); } // 0xB5B58E24868CB09E b1868 - // + // inline Void NetworkSpendPlayArcade(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0xEAD3D81F2C3A1458,p0, p1, p2, p3, p4); } // 0xEAD3D81F2C3A1458 b1868 - // + // inline Void NetworkSpendArcade(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x43AA7FAC4E6D6687,p0, p1, p2, p3, p4); } // 0x43AA7FAC4E6D6687 b1868 - // + // inline Void NetworkEarnCasinoHeist(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6) { return _i(0x72E7C7B9615FA3C3,p0, p1, p2, p3, p4, p5, p6); } // 0x72E7C7B9615FA3C3 b1868 - // + // inline Void NetworkEarnUpgradeArcade(Any p0, Any p1, Any p2) { return _i(0x4C3B75694F7E0D9C,p0, p1, p2); } // 0x4C3B75694F7E0D9C b1868 - // + // inline Void NetworkEarnArcade(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0xD29334ED1A256DBF,p0, p1, p2, p3, p4); } // 0xD29334ED1A256DBF b1868 - // + // inline Void NetworkEarnCollectables(Any p0, Any p1, Any p2) { return _i(0xA95CFB4E02390842,p0, p1, p2); } // 0xA95CFB4E02390842 b1868 - // + // inline Void NetworkEarnChallenge(int amount, Any p1, Any p2) { return _i(0xDD362F14F18942A,amount, p1, p2); } // 0xDD362F14F18942A b1868 - // + // inline Void NetworkEarnCasinoHeistAwards(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x3EC7471E6909798A,p0, p1, p2, p3, p4); } // 0x3EC7471E6909798A b1868 - // + // inline Void NetworkEarnCollectableItem(int amount, Any p1) { return _i(0x84FF63BD4966F33D,amount, p1); } // 0x84FF63BD4966F33D b1734 - // + // inline Void NetworkEarnCollectableCompletedCollection(int amount, Any p1) { return _i(0x5C9B198AF5A54FA6,amount, p1); } // 0x5C9B198AF5A54FA6 b2060 - // + // inline Void NetworkEarnYatchMission(int amount, Any p1) { return _i(0xDE68E30D89F97132,amount, p1); } // 0xDE68E30D89F97132 b2060 - // + // inline Void NetworkEarnDispatchCall(int amount, Any p1) { return _i(0xE2E244AB823B4483,amount, p1); } // 0xE2E244AB823B4483 b2060 - // + // inline Void NetworkSpendBeachParty(Any p0) { return _i(0x54ABA22FA6371249,p0); } // 0x54ABA22FA6371249 b2189 - // + // inline Void NetworkSpendSubmarine(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5) { return _i(0x6C8BC1488527AAAB,p0, p1, p2, p3, p4, p5); } // 0x6C8BC1488527AAAB b2189 - // + // inline Void NetworkSpendCasinoClub(int amount1, Any p1, BOOL p2, Any p3, int p4, int p5, int p6, int amount2, Any p8) { return _i(0xC991C255AA6D90B2,amount1, p1, p2, p3, p4, p5, p6, amount2, p8); } // 0xC991C255AA6D90B2 b2189 - // + // inline Void NetworkSpendBuySub(Any p0, Any p1, Any p2, Any p3) { return _i(0x90CD7C6871FBF1B4,p0, p1, p2, p3); } // 0x90CD7C6871FBF1B4 b2189 - // + // inline Void NetworkSpendUpgradeSub(Any p0, Any p1, Any p2, Any p3) { return _i(0x89049A84065CE68E,p0, p1, p2, p3); } // 0x89049A84065CE68E b2189 - // + // inline Void NetworkSpendIslandHeist(Any p0, Any p1, Any p2, Any p3) { return _i(0xE86689E5F82DE429,p0, p1, p2, p3); } // 0xE86689E5F82DE429 b2189 - // + // inline Void NetworkEarnIslandHeist(int amount1, Any p1, Any p2, Any p3, int amount2, int p5) { return _i(0xD21D111C46BA9F15,amount1, p1, p2, p3, amount2, p5); } // 0xD21D111C46BA9F15 b2189 - // + // inline Void NetworkEarnBeachPartyLostFound(Any p0, Any p1, Any p2) { return _i(0xA51338E0DCCD4065,p0, p1, p2); } // 0xA51338E0DCCD4065 b2189 - // + // inline Void NetworkEarnFromIslandHeistDjMission(Any p0, Any p1) { return _i(0xE2BB399D90942091,p0, p1); } // 0xE2BB399D90942091 b2189 - // + // inline Void NetworkSpendCarClubMembership(int amount1, Any p1, Any p2, int amount2, Any p4) { return _i(0x1464E17207CD36E2,amount1, p1, p2, amount2, p4); } // 0x1464E17207CD36E2 b2372 - // + // inline Void NetworkSpendCarClubBar(Any p0, BOOL p1, BOOL p2, Any p3) { return _i(0x925227803A0EAA1B,p0, p1, p2, p3); } // 0x925227803A0EAA1B b2372 - // + // inline Void NetworkSpendAutoshopModify(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x9BEA350D7C48061B,p0, p1, p2, p3, p4); } // 0x9BEA350D7C48061B b2372 - // + // inline Void NetworkSpendCarClubTakeover(Any p0, Any p1, Any p2, Any p3) { return _i(0xD1E46824E6FB92B5,p0, p1, p2, p3); } // 0xD1E46824E6FB92B5 b2372 - // + // inline Void NetworkSpendBuyAutoshop(Any p0, Any p1, Any p2, Any p3) { return _i(0xEEB7E5D1FEB20869,p0, p1, p2, p3); } // 0xEEB7E5D1FEB20869 b2372 - // + // inline Void NetworkSpendUpgradeAutoshop(Any p0, Any p1, Any p2, Any p3) { return _i(0xDD829AA198FDC46C,p0, p1, p2, p3); } // 0xDD829AA198FDC46C b2372 - // + // inline Void NetworkEarnAutoshopBusiness(Any p0, Any p1, Any p2) { return _i(0x36A7FD5A7194B03E,p0, p1, p2); } // 0x36A7FD5A7194B03E b2372 - // + // inline Void NetworkEarnAutoshopIncome(Any p0, int p1) { return _i(0xC66D1CF99ED7FE25,p0, p1); } // 0xC66D1CF99ED7FE25 b2372 - // + // inline Void NetworkEarnCarclubMembership(Any p0) { return _i(0xBC6227792A188E2E,p0); } // 0xBC6227792A188E2E b2372 - // + // inline Void NetworkEarnDailyVehicle(Any p0, Any p1) { return _i(0x533073E8A596008C,p0, p1); } // 0x533073E8A596008C b2372 - // + // inline Void NetworkEarnDailyVehicleBonus(Any p0) { return _i(0xFE65AFE7308E32B2,p0); } // 0xFE65AFE7308E32B2 b2372 - // + // inline Void NetworkEarnTunerAward(Any p0, Any p1, Any p2) { return _i(0xB846F547D3792DF6,p0, p1, p2); } // 0xB846F547D3792DF6 b2372 - // + // inline Void NetworkEarnTunerRobbery(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0xBCB266247193AC61,p0, p1, p2, p3, p4); } // 0xBCB266247193AC61 b2372 - // + // inline Void NetworkEarnUpgradeAutoshop(Any p0, Any p1) { return _i(0xC10322A8D3E061EE,p0, p1); } // 0xC10322A8D3E061EE b2372 - // + // inline Void NetworkSpendInteractionMenuAbility(Any p0, Any p1, Any p2, Any p3) { return _i(0x93AA4165CB67E925,p0, p1, p2, p3); } // 0x93AA4165CB67E925 b2372 - // + // inline Void NetworkSpendSetCommonFields(Any p0, Any p1, Any p2, BOOL p3) { return _i(0xB9F7A469460E7A4A,p0, p1, p2, p3); } // 0xB9F7A469460E7A4A b2372 - // + // inline Void NetworkSpendSetDiscount(BOOL p0) { return _i(0x7E2F4E8F44CAF4E0,p0); } // 0x7E2F4E8F44CAF4E0 b2699 - // + // inline Void NetworkSpendBuyAgency(Any p0, Any p1, Any p2, Any p3) { return _i(0xEA8CD3C9B3C35884,p0, p1, p2, p3); } // 0xEA8CD3C9B3C35884 b2545 - // + // inline Void NetworkSpendUpgradeAgency(Any p0, Any p1, Any p2, Any p3) { return _i(0x6CCA64840589A3B6,p0, p1, p2, p3); } // 0x6CCA64840589A3B6 b2545 - // + // inline Void NetworkSpendAgency(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x1B2120405080125C,p0, p1, p2, p3, p4); } // 0x1B2120405080125C b2545 - // + // inline Void NetworkSpendHidden(Any p0, Any p1, Any p2, Any p3) { return _i(0xBF8793B91EA094A7,p0, p1, p2, p3); } // 0xBF8793B91EA094A7 b2545 - // + // inline Void NetworkSpendSourceBike(Any p0, Any p1, Any p2, Any p3) { return _i(0xD9DF467CBE4398C8,p0, p1, p2, p3); } // 0xD9DF467CBE4398C8 b2545 - // + // inline Void NetworkSpendCompSuv(Any p0, Any p1, Any p2, Any p3) { return _i(0xD86581F9E7CDA383,p0, p1, p2, p3); } // 0xD86581F9E7CDA383 b2545 - // + // inline Void NetworkSpendSuvFstTrvl(int p0, BOOL p1, BOOL p2, Any p3) { return _i(0x61A2DF64ED2D396E,p0, p1, p2, p3); } // 0x61A2DF64ED2D396E b2545 - // + // inline Void NetworkSpendSupply(Any p0, Any p1, Any p2, Any p3) { return _i(0xEBD482B82ACB8BAD,p0, p1, p2, p3); } // 0xEBD482B82ACB8BAD b2545 - // + // inline Void NetworkSpendBikeShop(Any p0, Any p1, Any p2, Any p3) { return _i(0x923AEA8E78F8DF0B,p0, p1, p2, p3); } // 0x923AEA8E78F8DF0B b2699 - // + // inline Void NetworkSpendVehicleRequested(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x2D24A35A9CC3503,p0, p1, p2, p3, p4); } // 0x2D24A35A9CC3503 b2699 - // + // inline Void NetworkSpendGunrunning(Any p0, Any p1, Any p2, Any p3) { return _i(0x2CEB0E0BC2A77C05,p0, p1, p2, p3); } // 0x2CEB0E0BC2A77C05 b2699 - // + // inline Void NetworkEarnAgencySafe(Any p0) { return _i(0x663B4B9D11742A12,p0); } // 0x663B4B9D11742A12 b2545 - // + // inline Void NetworkEarnAwardContract(Any p0, Any p1) { return _i(0x146D4EB6D22A403F,p0, p1); } // 0x146D4EB6D22A403F b2545 - // + // inline Void NetworkEarnAgencyContract(Any p0, Any p1) { return _i(0x38482AD49CB905C7,p0, p1); } // 0x38482AD49CB905C7 b2545 - // + // inline Void NetworkEarnAwardPhone(Any p0, Any p1) { return _i(0x7397A115030F1BE3,p0, p1); } // 0x7397A115030F1BE3 b2545 - // + // inline Void NetworkEarnAgencyPhone(Any p0, Any p1, Any p2) { return _i(0xE29F3D5FA63B1B82,p0, p1, p2); } // 0xE29F3D5FA63B1B82 b2545 - // + // inline Void NetworkEarnAwardFixerMission(Any p0, Any p1) { return _i(0x88D6C327D6C57C45,p0, p1); } // 0x88D6C327D6C57C45 b2545 - // + // inline Void NetworkEarnFixerPrep(Any p0, Any p1) { return _i(0x6283E5DE4C4460C6,p0, p1); } // 0x6283E5DE4C4460C6 b2545 - // + // inline Void NetworkEarnFixerFinale(Any p0, Any p1) { return _i(0xBA154373C5FE51E8,p0, p1); } // 0xBA154373C5FE51E8 b2545 - // + // inline Void NetworkEarnFixerAgencyShortTrip(Any p0, Any p1) { return _i(0xF4A8E57460BF2037,p0, p1); } // 0xF4A8E57460BF2037 b2545 - // + // inline Void NetworkEarnAwardShortTrip(Any p0, Any p1) { return _i(0x5B4DBDED84D6A420,p0, p1); } // 0x5B4DBDED84D6A420 b2545 - // + // inline Void NetworkEarnFixerRivalDelivery(Any p0, Any p1) { return _i(0x235D41210B3A1A5E,p0, p1); } // 0x235D41210B3A1A5E b2545 - // + // inline Void NetworkEarnUpgradeAgency(Any p0, Any p1) { return _i(0xD07C7C3F1995108C,p0, p1); } // 0xD07C7C3F1995108C b2545 - // + // inline Void NetworkSpendApartmentUtilities(int amount, BOOL p1, BOOL p2, Any* data) { return _i(0x1254B5B3925EFD3D,amount, p1, p2, data); } // 0x1254B5B3925EFD3D b2545 - // + // inline Void NetworkSpendBusinessPropertyFees(Any p0, Any p1, Any p2, Any p3) { return _i(0x92D1CFDA1227FF1C,p0, p1, p2, p3); } // 0x92D1CFDA1227FF1C b2545 - // + // inline Void NetworkEarnSightseeingReward(Any p0, Any p1, Any p2, Any p3) { return _i(0x45087AE480B233AC,p0, p1, p2, p3); } // 0x45087AE480B233AC b2699 - // + // inline Void NetworkEarnBikerShop(Any p0, Any p1) { return _i(0x2C5809EB9DF57257,p0, p1); } // 0x2C5809EB9DF57257 b2699 - // + // inline Void NetworkEarnBiker(Any p0) { return _i(0x71BEC32FA466E105,p0); } // 0x71BEC32FA466E105 b2699 - // + // inline Void NetworkYohanSourceGoods(Any p0, Any p1, Any p2, Any p3) { return _i(0x59498BC8B1C8B15C,p0, p1, p2, p3); } // 0x59498BC8B1C8B15C b2699 - // + // inline Void NetworkSpendBuyMfgarage(Any p0, Any p1, Any p2, Any p3) { return _i(0xA2ED36DCF0FCA413,p0, p1, p2, p3); } // 0xA2ED36DCF0FCA413 b2802 - // + // inline Void NetworkSpendUpgradeMfgarage(Any p0, Any p1, Any p2, Any p3) { return _i(0xCF8F346DDDC66643,p0, p1, p2, p3); } // 0xCF8F346DDDC66643 b2802 - // + // inline Void NetworkSpendBuySupplies(int p0, BOOL p1, BOOL p2, int p3) { return _i(0xB48185C0CA67B16B,p0, p1, p2, p3); } // 0xB48185C0CA67B16B b2802 - // + // inline Void NetworkSpendBuyAcidLab(Any p0, Any p1, Any p2, Any p3) { return _i(0xF1E26A7924327152,p0, p1, p2, p3); } // 0xF1E26A7924327152 b2802 - // + // inline Void NetworkSpendUpgradeAcidLabEquipment(Any p0, Any p1, Any p2, Any p3) { return _i(0x110EE9D486C23126,p0, p1, p2, p3); } // 0x110EE9D486C23126 b2802 - // + // inline Void NetworkSpendUpgradeAcidLabArmor(int p0, BOOL p1, BOOL p2, int p3) { return _i(0xA7D541C9ACD63133,p0, p1, p2, p3); } // 0xA7D541C9ACD63133 b2802 - // + // inline Void NetworkSpendUpgradeAcidLabScoop(int p0, BOOL p1, BOOL p2, int p3) { return _i(0x2940558E05BCC2EC,p0, p1, p2, p3); } // 0x2940558E05BCC2EC b2802 - // + // inline Void NetworkSpendUpgradeAcidLabMines(int p0, BOOL p1, BOOL p2, int p3) { return _i(0x4B99AB08C92C54E4,p0, p1, p2, p3); } // 0x4B99AB08C92C54E4 b2802 - // + // inline Void NetworkSpendRenameAcidLab(Any p0, Any p1, Any p2, Any p3) { return _i(0x842B1C5AF61ACDE9,p0, p1, p2, p3); } // 0x842B1C5AF61ACDE9 b2802 - // + // inline Void NetworkSpendRenameAcidProduct(Any p0, Any p1, Any p2, Any p3) { return _i(0x446798F7495DD7D8,p0, p1, p2, p3); } // 0x446798F7495DD7D8 b2802 - // + // inline Void NetworkEarnAwardJuggaloMission(Any p0, Any p1) { return _i(0xDDF047577F1A02A7,p0, p1); } // 0xDDF047577F1A02A7 b2802 - // + // inline Void NetworkEarnAwardAcidLab(Any p0, Any p1) { return _i(0xD1A8165767AD2D23,p0, p1); } // 0xD1A8165767AD2D23 b2802 - // + // inline Void NetworkEarnAwardDailyStash(Any p0, Any p1) { return _i(0xC30650FA74A19D02,p0, p1); } // 0xC30650FA74A19D02 b2802 - // + // inline Void NetworkEarnAwardDeadDrop(Any p0, Any p1) { return _i(0xD01EBAEA1F905EF6,p0, p1); } // 0xD01EBAEA1F905EF6 b2802 - // + // inline Void NetworkEarnAwardRandomEvent(Any p0, Any p1) { return _i(0xBEAFBB1B98B7EF55,p0, p1); } // 0xBEAFBB1B98B7EF55 b2802 - // + // inline Void NetworkEarnAwardTaxi(Any p0, Any p1) { return _i(0xA914768AD35CD3A5,p0, p1); } // 0xA914768AD35CD3A5 b2802 - // + // inline Void NetworkEarnStreetDealer(Any p0, Any p1) { return _i(0xA81017EE1324FDFE,p0, p1); } // 0xA81017EE1324FDFE b2802 - // + // inline Void NetworkEarnSellAcid(Any p0, Any p1) { return _i(0x79B656937DF6DF5D,p0, p1); } // 0x79B656937DF6DF5D b2802 - // + // inline Void NetworkEarnSetupParticipationAcidLab(Any p0, Any p1) { return _i(0xE3942D59E8A7F70D,p0, p1); } // 0xE3942D59E8A7F70D b2802 - // + // inline Void NetworkEarnSourceParticipationAcidLab(Any p0, Any p1) { return _i(0x136F11B5DF1B304D,p0, p1); } // 0x136F11B5DF1B304D b2802 - // + // inline Void NetworkEarnSellParticipationAcidLab(Any p0, Any p1) { return _i(0xCA3EF9B09A8D76B4,p0, p1); } // 0xCA3EF9B09A8D76B4 b2802 - // + // inline Void NetworkEarnJuggaloStoryMission(Any p0, Any p1) { return _i(0xE01D10BA8CD53621,p0, p1); } // 0xE01D10BA8CD53621 b2802 - // + // inline Void NetworkEarnJuggaloStoryMissionParticipation(Any p0, Any p1) { return _i(0x40FF6CCCC476185C,p0, p1); } // 0x40FF6CCCC476185C b2802 - // JUGGALO_PHONE_MISSION... + // JUGGALO_PHONE_MISSION... inline Void NetworkEarnFooliganJob(Any p0, Any p1) { return _i(0xCE4452AE85F5E252,p0, p1); } // 0xCE4452AE85F5E252 b2802 - // JUGGALO_PHONE_MISSION_PARTICIPATION... + // JUGGALO_PHONE_MISSION_PARTICIPATION... inline Void NetworkEarnFooliganJobParticipation(Any p0, Any p1) { return _i(0xC376B92D0E060970,p0, p1); } // 0xC376B92D0E060970 b2802 - // + // inline Void NetworkEarnTaxiJob(Any p0, Any p1) { return _i(0x991E1588FAD9019D,p0, p1); } // 0x991E1588FAD9019D b2802 - // + // inline Void NetworkEarnDailyStashHouseCompleted(Any p0, Any p1) { return _i(0xCABC9874AFA70D6D,p0, p1); } // 0xCABC9874AFA70D6D b2802 - // + // inline Void NetworkEarnDailyStashHouseParticipation(Any p0, Any p1) { return _i(0x9C0C6BD0F94CE391,p0, p1); } // 0x9C0C6BD0F94CE391 b2802 - // Used for SERVICE_EARN_AVENGER_OPERATIONS & SERVICE_EARN_AVENGER_OPS_BONUS + // Used for SERVICE_EARN_AVENGER_OPERATIONS & SERVICE_EARN_AVENGER_OPS_BONUS inline Void NetworkEarnAvenger(int amount, int p1) { return _i(0x55F006B9D4A46C1D,amount, p1); } // 0x55F006B9D4A46C1D b2944 - // + // inline Void NetworkEarnSmugglerOps(Any p0, Any p1, Any p2) { return _i(0xDEA273D5F8A9661A,p0, p1, p2); } // 0xDEA273D5F8A9661A b2944 - // + // inline Void NetworkEarnBonusObjective(int amount, Any p1, Any p2) { return _i(0xDCEF983C24191997,amount, p1, p2); } // 0xDCEF983C24191997 b2944 - // + // inline Void NetworkEarnProgressHub(Any p0, Any p1) { return _i(0xF8332B06F0EECC9C,p0, p1); } // 0xF8332B06F0EECC9C b2944 - // + // inline Void NetworkSpentAirFreight(int hangarCargoSourcingPrice, BOOL fromBank, BOOL fromBankAndWallet, int cost, int warehouseId, int warehouseSlot) { return _i(0x8C7E8D6F96C9E948,hangarCargoSourcingPrice, fromBank, fromBankAndWallet, cost, warehouseId, warehouseSlot); } // 0x8C7E8D6F96C9E948 b2944 - // + // inline Void NetworkSpentSkipCargoSourceSetup(int amount, BOOL fromBank, BOOL fromBankAndWallet, int cost) { return _i(0xED1B407BADA42CEC,amount, fromBank, fromBankAndWallet, cost); } // 0xED1B407BADA42CEC b2944 - // Hash p3 = STEALTH_MODULE + // Hash p3 = STEALTH_MODULE inline Void NetworkSpentStealthModule(int amount, BOOL fromBank, BOOL fromBankAndWallet, Hash p3) { return _i(0x95CE79A6939C537A,amount, fromBank, fromBankAndWallet, p3); } // 0x95CE79A6939C537A b2944 - // Hash p3 = MISSILE_JAMMER + // Hash p3 = MISSILE_JAMMER inline Void NetworkSpentMissileJammer(int amount, BOOL fromBank, BOOL fromBankAndWallet, Hash p3) { return _i(0xD687100F616163F4,amount, fromBank, fromBankAndWallet, p3); } // 0xD687100F616163F4 b2944 - // - inline Void NetworkSpentGeneric(int price, BOOL p1, BOOL p2, Hash stat, Hash spent, String p5, String p6, Any* data) { return _i(0x2803B027479FB640,price, p1, p2, stat, spent, p5, p6, data); } // 0x2803B027479FB640 b3095 - // _NETWORK_EARN_G* - inline Void NetworkEarnGeneric(int amount, Hash earn, String p2, String p3, Any* data) { return _i(0xBF7B5BB7ED890380,amount, earn, p2, p3, data); } // 0xBF7B5BB7ED890380 b3095 - // + // + inline Void NetworkSpentGeneric(int price, BOOL p1, BOOL p2, Hash stat, Hash spent, const char* p5, const char* p6, Any* data) { return _i(0x2803B027479FB640,price, p1, p2, stat, spent, p5, p6, data); } // 0x2803B027479FB640 b3095 + // _NETWORK_EARN_G* + inline Void NetworkEarnGeneric(int amount, Hash earn, const char* p2, const char* p3, Any* data) { return _i(0xBF7B5BB7ED890380,amount, earn, p2, p3, data); } // 0xBF7B5BB7ED890380 b3095 + // inline Void NetworkClearTransactionTelemetryNonce() { return _i(0xE03B9F95556E48E9); } // 0xE03B9F95556E48E9 b3095 - // + // inline int NetworkGetVcBankBalance() { return _i(0x76EF28DA05EA395A); } // 0x76EF28DA05EA395A 0x16184FB5 b323 - // + // inline int NetworkGetVcWalletBalance(int characterSlot) { return _i(0xA40F9C2623F6A8B5,characterSlot); } // 0xA40F9C2623F6A8B5 0x4F5B781C b323 - // + // inline int NetworkGetVcBalance() { return _i(0x5CBAD97E059E1B94); } // 0x5CBAD97E059E1B94 0xADF8F882 b323 - // + // inline int NetworkGetEvcBalance() { return _i(0x5D1E75F91C07DEE5); } // 0x5D1E75F91C07DEE5 0xF1EDB7F4 b323 - // + // inline int NetworkGetPvcBalance() { return _i(0x4F54F3B6C202FB4E); } // 0x4F54F3B6C202FB4E 0x56485B56 b323 - // - inline String NetworkGetStringWalletBalance(int characterSlot) { return _i(0xF9B10B529DCFB33B,characterSlot); } // 0xF9B10B529DCFB33B 0xC1A11435 b323 - // - inline String NetworkGetStringBankBalance() { return _i(0xA6FA3979BED01B81); } // 0xA6FA3979BED01B81 0xAA7EA3BD b323 - // - inline String NetworkGetStringBankWalletBalance(int character) { return _i(0x700AF71AE615E6DD,character); } // 0x700AF71AE615E6DD 0x7D4FD28C b323 - // Returns true if wallet balance >= amount. + // + inline const char* NetworkGetStringWalletBalance(int characterSlot) { return _i(0xF9B10B529DCFB33B,characterSlot); } // 0xF9B10B529DCFB33B 0xC1A11435 b323 + // + inline const char* NetworkGetStringBankBalance() { return _i(0xA6FA3979BED01B81); } // 0xA6FA3979BED01B81 0xAA7EA3BD b323 + // + inline const char* NetworkGetStringBankWalletBalance(int character) { return _i(0x700AF71AE615E6DD,character); } // 0x700AF71AE615E6DD 0x7D4FD28C b323 + // Returns true if wallet balance >= amount. inline BOOL NetworkGetCanSpendFromWallet(int amount, int characterSlot) { return _i(0xED5AB8860415BABA,amount, characterSlot); } // 0xED5AB8860415BABA 0x0EA2188C b323 - // Returns true if bank balance >= amount. + // Returns true if bank balance >= amount. inline BOOL NetworkGetCanSpendFromBank(int amount) { return _i(0xA31FD6A0865B6D14,amount); } // 0xA31FD6A0865B6D14 0xABED6020 b323 - // Returns true if bank balance + wallet balance >= amount. + // Returns true if bank balance + wallet balance >= amount. inline BOOL NetworkGetCanSpendFromBankAndWallet(int amount, int characterSlot) { return _i(0xDC18531D7019A535,amount, characterSlot); } // 0xDC18531D7019A535 0xCA23FD25 b323 - // Retturns the same value as NetworkGetRemainingTransferBalance. + // Retturns the same value as NetworkGetRemainingTransferBalance. inline int NetworkGetPvcTransferBalance() { return _i(0x13A8DE2FD77D04F3); } // 0x13A8DE2FD77D04F3 0xC670C814 b323 - // Returns false if amount > wallet balance or daily transfer limit has been hit. + // Returns false if amount > wallet balance or daily transfer limit has been hit. inline BOOL NetworkGetCanTransferCash(int amount) { return _i(0x8E8EEADFD0DC4A0,amount); } // 0x8E8EEADFD0DC4A0 0x03461981 b323 - // + // inline BOOL NetworkCanReceivePlayerCash(Any p0, Any p1, Any p2, Any p3) { return _i(0x5D17BE59D2123284,p0, p1, p2, p3); } // 0x5D17BE59D2123284 0x41F5F10E b323 - // Returns the same value as NetworkGetPvcTransferBalance. + // Returns the same value as NetworkGetPvcTransferBalance. inline int NetworkGetRemainingTransferBalance() { return _i(0xEA560AC9EEB1E19B); } // 0xEA560AC9EEB1E19B 0xA9021211 b323 - // Does nothing and always returns 0. + // Does nothing and always returns 0. inline int WithdrawVc(int amount) { return _i(0xF70EFA14FE091429,amount); } // 0xF70EFA14FE091429 0x8B755993 b323 - // Does nothing and always returns false. + // Does nothing and always returns false. inline BOOL DepositVc(int amount) { return _i(0xE260E0BB9CD995AC,amount); } // 0xE260E0BB9CD995AC 0x8F266745 b323 - // This function is hard-coded to always return 1. + // This function is hard-coded to always return 1. inline BOOL HasVcWithdrawalCompleted(Any p0) { return _i(0xE154B48B68EF72BC,p0); } // 0xE154B48B68EF72BC 0x531E4892 b323 - // This function is hard-coded to always return 1. + // This function is hard-coded to always return 1. inline BOOL WasVcWithdrawalSuccessful(Any p0) { return _i(0x6FCF8DDEA146C45B,p0); } // 0x6FCF8DDEA146C45B 0xB96C7ABE b323 } namespace NETSHOPPING { - // + // inline BOOL NetGameserverUseServerTransactions() { return _i(0x7D2708796355B20B); } // 0x7D2708796355B20B b1290 - // - inline BOOL NetGameserverCatalogItemIsValid(String name) { return _i(0xBD4D7EAF8A30F637,name); } // 0xBD4D7EAF8A30F637 b323 - // + // + inline BOOL NetGameserverCatalogItemIsValid(const char* name) { return _i(0xBD4D7EAF8A30F637,name); } // 0xBD4D7EAF8A30F637 b323 + // inline BOOL NetGameserverCatalogItemKeyIsValid(Hash hash) { return _i(0x247F0F73A182EA0B,hash); } // 0x247F0F73A182EA0B b323 - // bool is always true in game scripts + // bool is always true in game scripts inline int NetGameserverGetPrice(Hash itemHash, Hash categoryHash, BOOL p2) { return _i(0xC27009422FCCA88D,itemHash, categoryHash, p2); } // 0xC27009422FCCA88D b323 - // + // inline BOOL NetGameserverCatalogIsValid() { return _i(0x3C4487461E9B0DCB); } // 0x3C4487461E9B0DCB b323 - // + // inline BOOL NetGameserverIsCatalogCurrent() { return _i(0x2B949A1E6AEC8F6A); } // 0x2B949A1E6AEC8F6A b323 - // + // inline Hash NetGameserverGetCatalogCloudCrc() { return _i(0x85F6C9ABA1DE2BCF); } // 0x85F6C9ABA1DE2BCF b323 - // + // inline BOOL NetGameserverRefreshServerCatalog() { return _i(0x357B152EF96C30B6); } // 0x357B152EF96C30B6 b323 - // + // inline BOOL NetGameserverRetrieveCatalogRefreshStatus(int* state) { return _i(0xCF38DAFBB49EDE5E,state); } // 0xCF38DAFBB49EDE5E b323 - // + // inline BOOL NetGameserverInitSession() { return _i(0xE3E5A7C64CA2C6ED); } // 0xE3E5A7C64CA2C6ED b323 - // + // inline BOOL NetGameserverRetrieveInitSessionStatus(int* p0) { return _i(0x395CB47B022E62C,p0); } // 0x395CB47B022E62C b323 - // + // inline BOOL NetGameserverStartSession(int charSlot) { return _i(0xA135AC892A58FC07,charSlot); } // 0xA135AC892A58FC07 b323 - // + // inline BOOL NetGameserverStartSessionPending() { return _i(0x72EB7BA9B69BF6AB); } // 0x72EB7BA9B69BF6AB b323 - // + // inline BOOL NetGameserverRetrieveStartSessionStatus(int* p0) { return _i(0x170910093218C8B9,p0); } // 0x170910093218C8B9 b323 - // + // inline BOOL NetGameserverRetrieveSessionErrorCode(int* p0) { return _i(0xC13C38E47EA5DF31,p0); } // 0xC13C38E47EA5DF31 b323 - // + // inline BOOL NetGameserverIsSessionValid(int charSlot) { return _i(0xB24F0944DA203D9E,charSlot); } // 0xB24F0944DA203D9E b323 - // + // inline BOOL NetGameserverClearSession(int p0) { return _i(0x74A0FD0688F1EE45,p0); } // 0x74A0FD0688F1EE45 b323 - // + // inline BOOL NetGameserverSessionApplyReceivedData(int charSlot) { return _i(0x2F41D51BA3BCD1F1,charSlot); } // 0x2F41D51BA3BCD1F1 b323 - // + // inline BOOL NetGameserverIsSessionRefreshPending() { return _i(0x810E8431C0614BF9); } // 0x810E8431C0614BF9 b323 - // Note: only one of the arguments can be set to true at a time + // Note: only one of the arguments can be set to true at a time inline BOOL NetGameserverStartSessionRestart(BOOL inventory, BOOL playerbalance) { return _i(0x35A1B3E1D1315CFA,inventory, playerbalance); } // 0x35A1B3E1D1315CFA b323 - // + // inline BOOL NetGameserverTransactionInProgress() { return _i(0x613F125BA3BD2EB9); } // 0x613F125BA3BD2EB9 b372 - // + // inline BOOL NetGameserverGetSessionStateAndStatus(int* p0, BOOL* p1) { return _i(0x897433D292B44130,p0, p1); } // 0x897433D292B44130 b323 - // + // inline BOOL NetGameserverBasketStart(int* transactionId, Hash categoryHash, Hash actionHash, int flags) { return _i(0x279F08B1A4B29B7E,transactionId, categoryHash, actionHash, flags); } // 0x279F08B1A4B29B7E b323 - // + // inline BOOL NetGameserverBasketEnd() { return _i(0xFA336E7F40C0A0D0); } // 0xFA336E7F40C0A0D0 b372 - // + // inline BOOL NetGameserverBasketIsActive() { return _i(0xA65568121DF2EA26); } // 0xA65568121DF2EA26 b323 - // + // inline BOOL NetGameserverBasketAddItem(Any* itemData, int quantity) { return _i(0xF30980718C8ED876,itemData, quantity); } // 0xF30980718C8ED876 b323 - // + // inline BOOL NetGameserverBasketIsFull() { return _i(0x27F76CC6C55AD30E); } // 0x27F76CC6C55AD30E b323 - // + // inline BOOL NetGameserverBasketApplyServerData(Any p0, Any* p1) { return _i(0xE1A0450ED46A7812,p0, p1); } // 0xE1A0450ED46A7812 b323 - // + // inline BOOL NetGameserverCheckoutStart(int transactionId) { return _i(0x39BE7CEA8D9CC8E6,transactionId); } // 0x39BE7CEA8D9CC8E6 b323 - // + // inline BOOL NetGameserverBeginService(int* transactionId, Hash categoryHash, Hash itemHash, Hash actionTypeHash, int value, int flags) { return _i(0x3C5FD37B5499582E,transactionId, categoryHash, itemHash, actionTypeHash, value, flags); } // 0x3C5FD37B5499582E b323 - // + // inline BOOL NetGameserverEndService(int transactionId) { return _i(0xE2A99A9B524BEFFF,transactionId); } // 0xE2A99A9B524BEFFF b323 - // + // inline BOOL NetGameserverDeleteCharacter(int slot, BOOL transfer, Hash reason) { return _i(0x51F1A8E48C3D2F6D,slot, transfer, reason); } // 0x51F1A8E48C3D2F6D b323 - // + // inline int NetGameserverDeleteCharacterGetStatus() { return _i(0xA6D923DFFC9BD89); } // 0xA6D923DFFC9BD89 b323 - // + // inline BOOL NetGameserverDeleteSetTelemetryNonceSeed() { return _i(0x112CEF1615A1139F); } // 0x112CEF1615A1139F b323 - // + // inline BOOL NetGameserverTransferBankToWallet(int charSlot, int amount) { return _i(0xD47A2C1BA117471D,charSlot, amount); } // 0xD47A2C1BA117471D b323 - // + // inline BOOL NetGameserverTransferWalletToBank(int charSlot, int amount) { return _i(0xC2F7FE5309181C7D,charSlot, amount); } // 0xC2F7FE5309181C7D b323 - // Same as 0x350AA5EBC03D3BD2 + // Same as 0x350AA5EBC03D3BD2 inline int NetGameserverTransferBankToWalletGetStatus() { return _i(0x23789E777D14CE44); } // 0x23789E777D14CE44 b323 - // Same as 0x23789E777D14CE44 + // Same as 0x23789E777D14CE44 inline int NetGameserverTransferWalletToBankGetStatus() { return _i(0x350AA5EBC03D3BD2); } // 0x350AA5EBC03D3BD2 b323 - // Used to be NETWORK_SHOP_CASH_TRANSFER_SET_TELEMETRY_NONCE_SEED + // Used to be NETWORK_SHOP_CASH_TRANSFER_SET_TELEMETRY_NONCE_SEED inline BOOL NetGameserverTransferCashSetTelemetryNonceSeed() { return _i(0x498C1E05CE5F7877); } // 0x498C1E05CE5F7877 b323 - // + // inline BOOL NetGameserverSetTelemetryNonceSeed(int p0) { return _i(0x9507D4271988E1AE,p0); } // 0x9507D4271988E1AE b323 } namespace NETWORK { - // Online version is defined here: update\update.rpf\common\data\version.txt + // Online version is defined here: update\update.rpf\common\data\version.txt // // Example: // @@ -8626,18 +8626,18 @@ namespace NETWORK // 1.33 // // _GetOnlineVersion() will return "1.33" - inline String GetOnlineVersion() { return _i(0xFCA9373EF340AC0A); } // 0xFCA9373EF340AC0A b323 - // Returns whether the player is signed into Social Club. + inline const char* GetOnlineVersion() { return _i(0xFCA9373EF340AC0A); } // 0xFCA9373EF340AC0A b323 + // Returns whether the player is signed into Social Club. inline BOOL NetworkIsSignedIn() { return _i(0x54354A99211EB96); } // 0x54354A99211EB96 0xADD0B40F b323 - // Returns whether the game is not in offline mode. + // Returns whether the game is not in offline mode. // // seemed not to work for some ppl inline BOOL NetworkIsSignedOnline() { return _i(0x1077788E268557C2); } // 0x1077788E268557C2 0x6E5BDCE2 b323 - // This function is hard-coded to always return 1. + // This function is hard-coded to always return 1. inline BOOL NetworkIsNpAvailable() { return _i(0xBD545D44CCE70597); } // 0xBD545D44CCE70597 b323 - // This function is hard-coded to always return 1. + // This function is hard-coded to always return 1. inline BOOL NetworkIsNpPending() { return _i(0xEBCAB9E5048434F4); } // 0xEBCAB9E5048434F4 b323 - // Hardcoded to return zero. + // Hardcoded to return zero. // // ==== PS4 specific info ==== // @@ -8652,175 +8652,175 @@ namespace NETWORK // // ================================= inline int NetworkGetNpUnavailableReason() { return _i(0x74FB3E29E6D10FA9); } // 0x74FB3E29E6D10FA9 b323 - // This function is hard-coded to always return 1. + // This function is hard-coded to always return 1. inline BOOL NetworkIsConnetedToNpPresence() { return _i(0x7808619F31FF22DB); } // 0x7808619F31FF22DB b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline BOOL NetworkIsLoggedInToPsn() { return _i(0xA0FA4EC6A05DA44E); } // 0xA0FA4EC6A05DA44E b323 - // Returns whether the signed-in user has valid Rockstar Online Services (ROS) credentials. + // Returns whether the signed-in user has valid Rockstar Online Services (ROS) credentials. inline BOOL NetworkHasValidRosCredentials() { return _i(0x85443FF4C328F53B); } // 0x85443FF4C328F53B 0x3FB40673 b323 - // + // inline BOOL NetworkIsRefreshingRosCredentials() { return _i(0x8D11E61A4ABF49CC); } // 0x8D11E61A4ABF49CC 0xBDC8F63E b323 - // + // inline BOOL NetworkIsCloudAvailable() { return _i(0x9A4CF4F48AD77302); } // 0x9A4CF4F48AD77302 0xC7FF5AFC b323 - // + // inline BOOL NetworkHasSocialClubAccount() { return _i(0x67A5589628E0CFF6); } // 0x67A5589628E0CFF6 0x66EC713F b323 - // + // inline BOOL NetworkAreSocialClubPoliciesCurrent() { return _i(0xBA9775570DB788CF); } // 0xBA9775570DB788CF 0x358D1D77 b323 - // If you are host, returns true else returns false. + // If you are host, returns true else returns false. inline BOOL NetworkIsHost() { return _i(0x8DB296B814EDDA07); } // 0x8DB296B814EDDA07 0xE46AC10F b323 - // + // inline Player NetworkGetHostPlayerIndex() { return _i(0x8251FB94DC4FDFC8); } // 0x8251FB94DC4FDFC8 b2612 - // + // inline BOOL NetworkWasGameSuspended() { return _i(0x4237E822315D8BA9); } // 0x4237E822315D8BA9 b323 - // + // inline BOOL NetworkHaveOnlinePrivileges() { return _i(0x25CB5A9F37BFD063); } // 0x25CB5A9F37BFD063 0xEF63BFDF b323 - // + // inline BOOL NetworkHasAgeRestrictions() { return _i(0x1353F87E89946207); } // 0x1353F87E89946207 b323 - // + // inline BOOL NetworkHaveUserContentPrivileges(int p0) { return _i(0x72D918C99BCACC54,p0); } // 0x72D918C99BCACC54 0x1F88819D b323 - // + // inline BOOL NetworkHaveCommunicationPrivileges(int p0, Player player) { return _i(0xAEEF48CDF5B6CE7C,p0, player); } // 0xAEEF48CDF5B6CE7C 0x2D817A5E b323 - // Appears to be PlayStation-specific. Always returns true on other platforms if signed in with the primary user profile + // Appears to be PlayStation-specific. Always returns true on other platforms if signed in with the primary user profile inline BOOL NetworkHavePlatformCommunicationPrivileges() { return _i(0xE1E02509169C124E); } // 0xE1E02509169C124E b3095 - // + // inline BOOL NetworkCheckOnlinePrivileges(Any p0, BOOL p1) { return _i(0x78321BEA235FD8CD,p0, p1); } // 0x78321BEA235FD8CD b323 - // + // inline BOOL NetworkCheckUserContentPrivileges(int p0, int p1, BOOL p2) { return _i(0x595F028698072DD9,p0, p1, p2); } // 0x595F028698072DD9 0xBB54AA3D b323 - // + // inline BOOL NetworkCheckCommunicationPrivileges(int p0, int p1, BOOL p2) { return _i(0x83F28CE49FBBFFBA,p0, p1, p2); } // 0x83F28CE49FBBFFBA 0xA79E5B05 b323 - // + // inline BOOL NetworkCheckTextCommunicationPrivileges(Any p0, Any p1, Any p2) { return _i(0x7EAB372C8841D99,p0, p1, p2); } // 0x7EAB372C8841D99 b1011 - // + // inline BOOL NetworkIsUsingOnlinePromotion() { return _i(0x906CA41A4B74ECA4); } // 0x906CA41A4B74ECA4 b1493 - // + // inline BOOL NetworkShouldShowPromotionAlertScreen() { return _i(0x23ACAB2DC9DC4A4); } // 0x23ACAB2DC9DC4A4 b1493 - // + // inline BOOL NetworkHasSocialNetworkingSharingPriv() { return _i(0x76BF03FADBF154F5); } // 0x76BF03FADBF154F5 0xEB864288 b323 - // + // inline int NetworkGetAgeGroup() { return _i(0x9614B71F8ADB982B); } // 0x9614B71F8ADB982B 0xAB07CBBE b323 - // + // inline BOOL NetworkCheckPrivileges(Any p0, Any p1, Any p2) { return _i(0xCF6CC51AA18F0F8,p0, p1, p2); } // 0xCF6CC51AA18F0F8 b1180 - // Hardcoded to return false. + // Hardcoded to return false. inline BOOL NetworkIsPrivilegeCheckInProgress() { return _i(0x64E5C4CC82847B73); } // 0x64E5C4CC82847B73 b1734 - // + // inline Void NetworkSetPrivilegeCheckResultNotNeeded() { return _i(0x1F7BC3539F9E0224); } // 0x1F7BC3539F9E0224 b1180 - // Hardcoded to return true. + // Hardcoded to return true. inline BOOL NetworkResolvePrivilegeUserContent() { return _i(0xDE9225854F37BF72); } // 0xDE9225854F37BF72 b2612 - // + // inline BOOL NetworkHavePlatformSubscription() { return _i(0x5EA784D197556507); } // 0x5EA784D197556507 b323 - // + // inline BOOL NetworkIsPlatformSubscriptionCheckPending() { return _i(0xA8ACB6459542A8C8); } // 0xA8ACB6459542A8C8 b323 - // + // inline Void NetworkShowAccountUpgradeUi() { return _i(0x83FE8D7229593017); } // 0x83FE8D7229593017 b323 - // + // inline BOOL NetworkIsShowingSystemUiOrRecentlyRequestedUpsell() { return _i(0x7788DFE15016A182); } // 0x7788DFE15016A182 b2612 - // + // inline BOOL NetworkNeedToStartNewGameButBlocked() { return _i(0x53C10C8BD774F2C9); } // 0x53C10C8BD774F2C9 b1011 - // + // inline BOOL NetworkCanBail() { return _i(0x580CE4438479CC61); } // 0x580CE4438479CC61 0x60E1FEDF b323 - // + // inline Void NetworkBail(int p0, int p1, int p2) { return _i(0x95914459A87EBA28,p0, p1, p2); } // 0x95914459A87EBA28 0x87D79A04 b323 - // + // inline Void NetworkOnReturnToSinglePlayer() { return _i(0x283B6062A2C01E9B); } // 0x283B6062A2C01E9B 0x96E28FE2 b323 - // + // inline BOOL NetworkTransitionStart(int p0, Any p1, Any p2, Any p3) { return _i(0x8B4FFC790CA131EF,p0, p1, p2, p3); } // 0x8B4FFC790CA131EF b617 - // + // inline BOOL NetworkTransitionAddStage(Hash hash, int p1, int p2, int state, int p4) { return _i(0xC3BFED92026A2AAD,hash, p1, p2, state, p4); } // 0xC3BFED92026A2AAD b617 - // + // inline BOOL NetworkTransitionFinish(Any p0, Any p1, Any p2) { return _i(0x4918A41BC9B8157,p0, p1, p2); } // 0x4918A41BC9B8157 b617 - // 11 - Need to download tunables. + // 11 - Need to download tunables. // 12 - Need to download background script. // // Returns 1 if the multiplayer is loaded, otherwhise 0. inline BOOL NetworkCanAccessMultiplayer(int* loadingState) { return _i(0xAF50DA1A3F8B1BA4,loadingState); } // 0xAF50DA1A3F8B1BA4 0xA520B982 b323 - // + // inline BOOL NetworkIsMultiplayerDisabled() { return _i(0x9747292807126EDA); } // 0x9747292807126EDA 0x05518C0F b323 - // + // inline BOOL NetworkCanEnterMultiplayer() { return _i(0x7E782A910C362C25); } // 0x7E782A910C362C25 0x4A23B9C9 b323 - // + // inline BOOL NetworkSessionDoFreeroamQuickmatch(Any p0, Any p1, Any p2) { return _i(0x330ED4D05491934F,p0, p1, p2); } // 0x330ED4D05491934F b323 - // + // inline BOOL NetworkSessionDoFriendMatchmaking(int p0, int p1, int p2) { return _i(0x2CFC76E0D087C994,p0, p1, p2); } // 0x2CFC76E0D087C994 b323 - // p4 seems to be unused in 1.60/build 2628 + // p4 seems to be unused in 1.60/build 2628 inline BOOL NetworkSessionDoCrewMatchmaking(int crewId, int p1, int p2, int maxPlayers) { return _i(0x94BC51E9449D917F,crewId, p1, p2, maxPlayers); } // 0x94BC51E9449D917F b323 - // + // inline BOOL NetworkSessionDoActivityQuickmatch(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0xBE3E347A87ACEB82,p0, p1, p2, p3, p4); } // 0xBE3E347A87ACEB82 b323 - // 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. + // 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. inline BOOL NetworkSessionHost(int p0, int maxPlayers, BOOL p2) { return _i(0x6F3D4ED9BEE4E61D,p0, maxPlayers, p2); } // 0x6F3D4ED9BEE4E61D 0x6716460F b323 - // + // inline BOOL NetworkSessionHostClosed(int p0, int maxPlayers) { return _i(0xED34C0C02C098BB7,p0, maxPlayers); } // 0xED34C0C02C098BB7 0x8AC9EA19 b323 - // 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. + // 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. inline BOOL NetworkSessionHostFriendsOnly(int p0, int maxPlayers) { return _i(0xB9CFD27A5D578D83,p0, maxPlayers); } // 0xB9CFD27A5D578D83 0x26864403 b323 - // + // inline BOOL NetworkSessionIsClosedFriends() { return _i(0xFBCFA2EA2E206890); } // 0xFBCFA2EA2E206890 0x56E75FE4 b323 - // + // inline BOOL NetworkSessionIsClosedCrew() { return _i(0x74732C6CA90DA2B4); } // 0x74732C6CA90DA2B4 0xA95299B9 b323 - // + // inline BOOL NetworkSessionIsSolo() { return _i(0xF3929C2379B60CCE); } // 0xF3929C2379B60CCE 0x3D2C1916 b323 - // + // inline BOOL NetworkSessionIsPrivate() { return _i(0xCEF70AA5B3F89BA1); } // 0xCEF70AA5B3F89BA1 0xDB67785D b323 - // + // inline BOOL NetworkSessionLeaveIncludingReason(int leaveFlags, int leaveReason) { return _i(0xE0128328CF1FD9F4,leaveFlags, leaveReason); } // 0xE0128328CF1FD9F4 b3095 - // p0 is always false and p1 varies. + // p0 is always false and p1 varies. // NetworkSessionEnd(0, 1) // NetworkSessionEnd(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." inline BOOL NetworkSessionEnd(BOOL p0, BOOL p1) { return _i(0xA02E59562D711006,p0, p1); } // 0xA02E59562D711006 0xBCACBEA2 b323 - // + // inline BOOL NetworkSessionLeave(Any p0) { return _i(0xB9351A07A0D458B1,p0); } // 0xB9351A07A0D458B1 b2060 - // Only works as host. + // Only works as host. inline Void NetworkSessionKickPlayer(Player player) { return _i(0xFA8904DC5F304220,player); } // 0xFA8904DC5F304220 0x1E20138A b323 - // + // inline BOOL NetworkSessionGetKickVote(Player player) { return _i(0xD6D09A6F32F49EF1,player); } // 0xD6D09A6F32F49EF1 0x8A559D26 b323 - // + // inline BOOL NetworkSessionReserveSlotsTransition(Any p0, Any p1, Any p2) { return _i(0x41C7F2A6C9894E6,p0, p1, p2); } // 0x41C7F2A6C9894E6 b463 - // + // inline BOOL NetworkJoinPreviouslyFailedSession() { return _i(0x59DF79317F85A7E0); } // 0x59DF79317F85A7E0 0x6CDAA7D2 b323 - // + // inline BOOL NetworkJoinPreviouslyFailedTransition() { return _i(0xFFE1E5B792D92B34); } // 0xFFE1E5B792D92B34 0xBF21818E b323 - // + // inline Void NetworkSessionSetMatchmakingGroup(int matchmakingGroup) { return _i(0x49EC8030F5015F8B,matchmakingGroup); } // 0x49EC8030F5015F8B 0x3C3E2AB6 b323 - // playerType is an unsigned int from 0 to 4 + // playerType is an unsigned int from 0 to 4 // 0 = regular joiner // 4 = spectator inline Void NetworkSessionSetMatchmakingGroupMax(int playerType, int playerCount) { return _i(0x8B6A4DD0AF9CE215,playerType, playerCount); } // 0x8B6A4DD0AF9CE215 0x5F29A7E0 b323 - // + // inline int NetworkSessionGetMatchmakingGroupFree(int p0) { return _i(0x56CE820830EF040B,p0); } // 0x56CE820830EF040B 0x36EAD960 b323 - // groupId range: [0, 4] + // groupId range: [0, 4] inline Void NetworkSessionAddActiveMatchmakingGroup(int groupId) { return _i(0xCAE55F48D3D7875C,groupId); } // 0xCAE55F48D3D7875C 0x5BE529F7 b323 - // + // inline Void NetworkSessionSetUniqueCrewLimit(Any p0) { return _i(0xF49ABC20D8552257,p0); } // 0xF49ABC20D8552257 0x454C7B67 b323 - // + // inline int NetworkSessionGetUniqueCrewLimit() { return _i(0xCDC936BF35EDCB73); } // 0xCDC936BF35EDCB73 b3095 - // + // inline Void NetworkSessionSetUniqueCrewLimitTransition(Any p0) { return _i(0x4811BBAC21C5FCD5,p0); } // 0x4811BBAC21C5FCD5 0xE5961511 b323 - // + // inline Void NetworkSessionSetUniqueCrewOnlyCrewsTransition(BOOL p0) { return _i(0x5539C3EBF104A53A,p0); } // 0x5539C3EBF104A53A 0xAE396263 b323 - // + // inline Void NetworkSessionSetCrewLimitMaxMembersTransition(Any p0) { return _i(0x702BC4D605522539,p0); } // 0x702BC4D605522539 0x913FD7D6 b323 - // + // inline Void NetworkSessionSetMatchmakingPropertyId(BOOL p0) { return _i(0x3F52E880AAF6C8CA,p0); } // 0x3F52E880AAF6C8CA 0xB3D9A67F b323 - // p0 in the decompiled scripts is always the stat mesh_texblend * 0.07 to int + // p0 in the decompiled scripts is always the stat mesh_texblend * 0.07 to int inline Void NetworkSessionSetMatchmakingMentalState(int p0) { return _i(0xF1EEA2DDA9FFA69D,p0); } // 0xF1EEA2DDA9FFA69D 0x6CC062FC b323 - // + // inline Void NetworkSessionSetNumBosses(int num) { return _i(0x59D421683D31835A,num); } // 0x59D421683D31835A b573 - // + // inline Void NetworkSessionSetScriptValidateJoin() { return _i(0x1153FA02A659051C); } // 0x1153FA02A659051C 0x57F9BC83 b323 - // + // inline Void NetworkSessionValidateJoin(BOOL p0) { return _i(0xC19F6C8E7865A6FF,p0); } // 0xC19F6C8E7865A6FF 0xF3768F90 b323 - // .. + // .. inline Void NetworkAddFollowers(int* p0, int p1) { return _i(0x236406F60CF216D6,p0, p1); } // 0x236406F60CF216D6 0x0EC62629 b323 - // + // inline Void NetworkClearFollowers() { return _i(0x58F43EC59A8631A); } // 0x58F43EC59A8631A 0x5E557307 b323 - // + // inline Void NetworkGetGlobalMultiplayerClock(int* hours, int* minutes, int* seconds) { return _i(0x6D03BFBD643B2A02,hours, minutes, seconds); } // 0x6D03BFBD643B2A02 0x74E8C53E b323 - // + // inline Void NetworkSessionSetGamemode(Any p0) { return _i(0x600F8CB31C7AAB6E,p0); } // 0x600F8CB31C7AAB6E 0x959E43A3 b323 - // + // inline int NetworkSessionGetHostAimPreference() { return _i(0xDFFA5BE8381C3314); } // 0xDFFA5BE8381C3314 b463 - // + // inline BOOL NetworkFindGamersInCrew(int crewId) { return _i(0xE532D6811B3A4D2A,crewId); } // 0xE532D6811B3A4D2A 0x7771AB83 b323 - // Uses attributes to find players with similar stats. Upper/Lower limit must be above zero or the fallback limit +/-0.1 is used. + // Uses attributes to find players with similar stats. Upper/Lower limit must be above zero or the fallback limit +/-0.1 is used. // There can be up to 15 attributes, they are as follows: // // 0 = Races @@ -8834,132 +8834,132 @@ namespace NETWORK // 8 = Deathmatch // 9 = MPPLY_MCMWIN/MPPLY_CRMISSION inline BOOL NetworkFindMatchedGamers(int attribute, float fallbackLimit, float lowerLimit, float upperLimit) { return _i(0xF7B2CFDE5C9F700D,attribute, fallbackLimit, lowerLimit, upperLimit); } // 0xF7B2CFDE5C9F700D 0xA13045D4 b323 - // + // inline BOOL NetworkIsFindingGamers() { return _i(0xDDDF64C91BFCF0AA); } // 0xDDDF64C91BFCF0AA 0xA6DAA79F b323 - // + // inline BOOL NetworkDidFindGamersSucceed() { return _i(0xF9B83B77929D8863); } // 0xF9B83B77929D8863 0xBEDC4503 b323 - // + // inline int NetworkGetNumFoundGamers() { return _i(0xA1B043EE79A916FB); } // 0xA1B043EE79A916FB 0xF4B80C7E b323 - // + // inline BOOL NetworkGetFoundGamer(Any* p0, Any p1) { return _i(0x9DCFF2AFB68B3476,p0, p1); } // 0x9DCFF2AFB68B3476 0xA08C9141 b323 - // + // inline Void NetworkClearFoundGamers() { return _i(0x6D14CCEE1B40381A); } // 0x6D14CCEE1B40381A 0x6AA9A154 b323 - // + // inline BOOL NetworkQueueGamerForStatus(Any* p0) { return _i(0x85A0EF54A500882C,p0); } // 0x85A0EF54A500882C 0x42BD0780 b323 - // + // inline BOOL NetworkGetGamerStatusFromQueue() { return _i(0x2CC848A861D01493); } // 0x2CC848A861D01493 0xBEB98840 b323 - // + // inline BOOL NetworkIsGettingGamerStatus() { return _i(0x94A8394D150B013A); } // 0x94A8394D150B013A 0x08029970 b323 - // + // inline BOOL NetworkDidGetGamerStatusSucceed() { return _i(0x5AE17C6B0134B7F1); } // 0x5AE17C6B0134B7F1 0xC871E745 b323 - // + // inline BOOL NetworkGetGamerStatusResult(Any* p0, Any p1) { return _i(0x2A8BEC6FD9AF660,p0, p1); } // 0x2A8BEC6FD9AF660 0xB5ABC4B4 b323 - // + // inline Void NetworkClearGetGamerStatus() { return _i(0x86E0660E4F5C956D); } // 0x86E0660E4F5C956D 0x3F7EDBBD b323 - // + // inline Void NetworkSessionJoinInvite() { return _i(0xC6F8AB8A4189CF3A); } // 0xC6F8AB8A4189CF3A 0x3D6360B5 b323 - // + // inline Void NetworkSessionCancelInvite() { return _i(0x2FBF47B1B36D36F9); } // 0x2FBF47B1B36D36F9 0x20317535 b323 - // + // inline Void NetworkSessionForceCancelInvite() { return _i(0xA29177F7703B5644); } // 0xA29177F7703B5644 0x3FD49D3B b323 - // + // inline BOOL NetworkHasPendingInvite() { return _i(0xAC8C7B9B88C4A668); } // 0xAC8C7B9B88C4A668 0x0C207D6E b323 - // + // inline BOOL NetworkHasConfirmedInvite() { return _i(0xC42DD763159F3461); } // 0xC42DD763159F3461 0xFBBAC350 b323 - // Triggers a CEventNetworkInviteConfirmed event + // Triggers a CEventNetworkInviteConfirmed event inline BOOL NetworkRequestInviteConfirmedEvent() { return _i(0x62A0296C1BB1CEB3); } // 0x62A0296C1BB1CEB3 0x0907A6BF b323 - // + // inline BOOL NetworkSessionWasInvited() { return _i(0x23DFB504655D0CE4); } // 0x23DFB504655D0CE4 0x6A0BEA60 b323 - // + // inline Void NetworkSessionGetInviter(Any* gamerHandle) { return _i(0xE57397B4A3429DD0,gamerHandle); } // 0xE57397B4A3429DD0 0xE9C6B3FD b323 - // Seems to be true while "Getting GTA Online session details" shows up. + // Seems to be true while "Getting GTA Online session details" shows up. inline BOOL NetworkSessionIsAwaitingInviteResponse() { return _i(0xD313DE83394AF134); } // 0xD313DE83394AF134 0x3EA9D44C b323 - // + // inline BOOL NetworkSessionIsDisplayingInviteConfirmation() { return _i(0xBDB6F89C729CF388); } // 0xBDB6F89C729CF388 0x9374523F b323 - // + // inline Void NetworkSuppressInvite(BOOL toggle) { return _i(0xA0682D67EF1FBA3D,toggle); } // 0xA0682D67EF1FBA3D 0x323DC78C b323 - // + // inline Void NetworkBlockInvites(BOOL toggle) { return _i(0x34F9E9049454A7A0,toggle); } // 0x34F9E9049454A7A0 0xD156FD1A b323 - // + // inline Void NetworkBlockJoinQueueInvites(BOOL toggle) { return _i(0xCFEB8AF24FC1D0BB,toggle); } // 0xCFEB8AF24FC1D0BB 0x8AB4890B b323 - // + // inline Void NetworkSetCanReceiveRsInvites(BOOL p0) { return _i(0x68980414688F7F9D,p0); } // 0x68980414688F7F9D b2612 - // + // inline Void NetworkStoreInviteThroughRestart() { return _i(0xF814FEC6A19FD6E0); } // 0xF814FEC6A19FD6E0 0x32B7A076 b323 - // + // inline Void NetworkAllowInviteProcessInPlayerSwitch(BOOL p0) { return _i(0x6B07B9CE4D390375,p0); } // 0x6B07B9CE4D390375 0x0FCE995D b323 - // + // inline Void NetworkSetScriptReadyForEvents(BOOL toggle) { return _i(0x7AC752103856FB20,toggle); } // 0x7AC752103856FB20 0xA639DCA2 b323 - // + // inline BOOL NetworkIsOfflineInvitePending() { return _i(0x74698374C45701D2); } // 0x74698374C45701D2 0x70ED476A b323 - // + // inline Void NetworkClearOfflineInvitePending() { return _i(0x140E6A44870A11CE); } // 0x140E6A44870A11CE 0x50507BED b323 - // Loads up the map that is loaded when beeing in mission creator + // 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 inline Void NetworkSessionHostSinglePlayer(int p0) { return _i(0xC74C33FCA52856D5,p0); } // 0xC74C33FCA52856D5 0xF3B1CA85 b323 - // + // inline Void NetworkSessionLeaveSinglePlayer() { return _i(0x3442775428FD2DAA); } // 0x3442775428FD2DAA 0xC692F86A b323 - // + // inline BOOL NetworkIsGameInProgress() { return _i(0x10FAB35428CCC9D7); } // 0x10FAB35428CCC9D7 0x09B88E3E b323 - // + // inline BOOL NetworkIsSessionActive() { return _i(0xD83C2B94E7508980); } // 0xD83C2B94E7508980 0x715CB8C4 b323 - // + // inline BOOL NetworkIsInSession() { return _i(0xCA97246103B63917); } // 0xCA97246103B63917 0x4BC4105E b323 - // Hardcoded to return 0. + // Hardcoded to return 0. inline BOOL NetworkIsAmericasVersion() { return _i(0x292BD7F3766CEBC); } // 0x292BD7F3766CEBC b3095 - // This checks if player is playing on gta online or not. + // This checks if player is playing on gta online or not. // Please add an if and block your mod if this is "true". inline BOOL NetworkIsSessionStarted() { return _i(0x9DE624D2FC4B603F); } // 0x9DE624D2FC4B603F 0x9D854A37 b323 - // + // inline BOOL NetworkIsSessionBusy() { return _i(0xF4435D66A8E2905E); } // 0xF4435D66A8E2905E 0x8592152D b323 - // + // inline BOOL NetworkCanSessionEnd() { return _i(0x4EEBC3694E49C572); } // 0x4EEBC3694E49C572 0xE1FCCDBA b323 - // + // inline int NetworkGetGameMode() { return _i(0x4C9034162368E206); } // 0x4C9034162368E206 b2060 - // + // inline Void NetworkSessionMarkVisible(BOOL toggle) { return _i(0x271CC6AB59EBF9A5,toggle); } // 0x271CC6AB59EBF9A5 0x7017257D b323 - // + // inline BOOL NetworkSessionIsVisible() { return _i(0xBA416D68C631496A); } // 0xBA416D68C631496A 0x4977AC28 b323 - // + // inline Void NetworkSessionBlockJoinRequests(BOOL toggle) { return _i(0xA73667484D7037C3,toggle); } // 0xA73667484D7037C3 0xE6EEF8AF b323 - // num player slots allowed in session, seems to work? 32 max + // num player slots allowed in session, seems to work? 32 max inline Void NetworkSessionChangeSlots(int slots, BOOL p1) { return _i(0xB4AB419E0D86ACAE,slots, p1); } // 0xB4AB419E0D86ACAE 0x6BB93227 b323 - // + // inline int NetworkSessionGetPrivateSlots() { return _i(0x53AFD64C6758F2F9); } // 0x53AFD64C6758F2F9 0xE642F2FD b323 - // + // inline BOOL NetworkSessionVoiceHost() { return _i(0x9C1556705F864230); } // 0x9C1556705F864230 0x345C2980 b323 - // + // inline BOOL NetworkSessionVoiceLeave() { return _i(0x6793E42BE02B575D); } // 0x6793E42BE02B575D 0xE566C7DA b323 - // + // inline Void NetworkSessionVoiceConnectToPlayer(Any* gamerHandle) { return _i(0xABD5E88B8A2D3DB2,gamerHandle); } // 0xABD5E88B8A2D3DB2 0x9DFD89E6 b323 - // + // inline Void NetworkSessionVoiceRespondToRequest(BOOL p0, int p1) { return _i(0x7F8413B7FC2AA6B9,p0, p1); } // 0x7F8413B7FC2AA6B9 0x075321B5 b323 - // + // inline Void NetworkSessionVoiceSetTimeout(int timeout) { return _i(0x5B8ED3DB018927B1,timeout); } // 0x5B8ED3DB018927B1 0x6EFC2FD0 b323 - // + // inline BOOL NetworkSessionIsInVoiceSession() { return _i(0x855BC38818F6F684); } // 0x855BC38818F6F684 0x60AA4AA1 b323 - // + // inline BOOL NetworkSessionIsVoiceSessionActive() { return _i(0xB5D3453C98456528); } // 0xB5D3453C98456528 b323 - // + // inline BOOL NetworkSessionIsVoiceSessionBusy() { return _i(0xEF0912DDF7C4CB4B); } // 0xEF0912DDF7C4CB4B 0x132CA01E b323 - // Message is limited to 64 characters. - inline BOOL NetworkSendTextMessage(String message, Any* gamerHandle) { return _i(0x3A214F2EC889B100,message, gamerHandle); } // 0x3A214F2EC889B100 0xAFFEA720 b323 - // + // Message is limited to 64 characters. + inline BOOL NetworkSendTextMessage(const char* message, Any* gamerHandle) { return _i(0x3A214F2EC889B100,message, gamerHandle); } // 0x3A214F2EC889B100 0xAFFEA720 b323 + // inline Void NetworkSetActivitySpectator(BOOL toggle) { return _i(0x75138790B4359A74,toggle); } // 0x75138790B4359A74 0xFC9AD060 b323 - // + // inline BOOL NetworkIsActivitySpectator() { return _i(0x12103B9E0C9F92FB); } // 0x12103B9E0C9F92FB 0xAF329720 b323 - // + // inline Void NetworkSetActivityPlayerMax(Any p0) { return _i(0xE4F77F7B9D74D84,p0); } // 0xE4F77F7B9D74D84 0x04CB2AB4 b573 - // + // inline Void NetworkSetActivitySpectatorMax(int maxSpectators) { return _i(0x9D277B76D1D12222,maxSpectators); } // 0x9D277B76D1D12222 0x74E0BC0A b323 - // + // inline int NetworkGetActivityPlayerNum(BOOL p0) { return _i(0x73E2B500410DA5A2,p0); } // 0x73E2B500410DA5A2 0x31F951FD b323 - // + // inline BOOL NetworkIsActivitySpectatorFromHandle(Any* gamerHandle) { return _i(0x2763BBAA72A7BCB9,gamerHandle); } // 0x2763BBAA72A7BCB9 0x58F1DF7D b323 - // p0: Unknown int + // p0: Unknown int // p1: Unknown int // p2: Unknown int // p3: Unknown int @@ -8974,349 +8974,349 @@ namespace NETWORK // 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()`. inline BOOL NetworkHostTransition(int p0, int p1, int p2, int p3, Any p4, BOOL p5, BOOL p6, int p7, Any p8, int p9) { return _i(0xA60BB5CE242BB254,p0, p1, p2, p3, p4, p5, p6, p7, p8, p9); } // 0xA60BB5CE242BB254 0x146764FB b323 - // + // inline BOOL NetworkDoTransitionQuickmatch(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5) { return _i(0x71FB0EBCD4915D56,p0, p1, p2, p3, p4, p5); } // 0x71FB0EBCD4915D56 0x2FF65C0B b323 - // + // inline BOOL NetworkDoTransitionQuickmatchAsync(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5) { return _i(0xA091A5E44F0072E5,p0, p1, p2, p3, p4, p5); } // 0xA091A5E44F0072E5 0x47D61C99 b323 - // + // inline BOOL NetworkDoTransitionQuickmatchWithGroup(Any p0, Any p1, Any p2, Any p3, Any* p4, Any p5, Any p6, Any p7) { return _i(0x9C4AB58491FDC98A,p0, p1, p2, p3, p4, p5, p6, p7); } // 0x9C4AB58491FDC98A 0x5CE60A11 b323 - // + // inline BOOL NetworkJoinGroupActivity() { return _i(0xA06509A691D12BE4); } // 0xA06509A691D12BE4 0x0D7E5CF9 b323 - // + // inline Void NetworkClearGroupActivity() { return _i(0x1888694923EF4591); } // 0x1888694923EF4591 0x157D44D3 b393 - // + // inline Void NetworkRetainActivityGroup() { return _i(0xB13E88E655E5A3BC); } // 0xB13E88E655E5A3BC 0x36A5F2DA b323 - // + // inline BOOL NetworkIsTransitionClosedFriends() { return _i(0x6512765E3BE78C50); } // 0x6512765E3BE78C50 0x95FFACF8 b323 - // + // inline BOOL NetworkIsTransitionClosedCrew() { return _i(0xDBD5D7E3C5BEC3B); } // 0xDBD5D7E3C5BEC3B 0xB97A966B b323 - // + // inline BOOL NetworkIsTransitionSolo() { return _i(0x5DC577201723960A); } // 0x5DC577201723960A 0x063DC4A5 b323 - // + // inline BOOL NetworkIsTransitionPrivate() { return _i(0x5A6AA44FF8E931E6); } // 0x5A6AA44FF8E931E6 0x104DDE8D b323 - // + // inline int NetworkGetNumTransitionNonAsyncGamers() { return _i(0x617F49C2668E6155); } // 0x617F49C2668E6155 b757 - // + // inline Void NetworkMarkAsPreferredActivity(BOOL p0) { return _i(0x261E97AD7BCF3D40,p0); } // 0x261E97AD7BCF3D40 0x7EF353E1 b323 - // + // inline Void NetworkMarkAsWaitingAsync(BOOL p0) { return _i(0x39917E1B4CB0F911,p0); } // 0x39917E1B4CB0F911 0xF60986FC b323 - // + // inline Void NetworkSetInProgressFinishTime(Any p0) { return _i(0x2CE9D95E4051AECD,p0); } // 0x2CE9D95E4051AECD b678 - // + // inline Void NetworkSetTransitionCreatorHandle(Any* p0) { return _i(0xEF26739BCD9907D5,p0); } // 0xEF26739BCD9907D5 0x1DD01FE7 b323 - // + // inline Void NetworkClearTransitionCreatorHandle() { return _i(0xFB3272229A82C759); } // 0xFB3272229A82C759 0x8BB336F7 b323 - // + // inline BOOL NetworkInviteGamersToTransition(Any* p0, Any p1) { return _i(0x4A595C32F77DFF76,p0, p1); } // 0x4A595C32F77DFF76 0x5332E645 b323 - // + // inline Void NetworkSetGamerInvitedToTransition(Any* gamerHandle) { return _i(0xCA2C8073411ECDB6,gamerHandle); } // 0xCA2C8073411ECDB6 0x17F1C69D b323 - // + // inline BOOL NetworkLeaveTransition() { return _i(0xD23A1A815D21DB19); } // 0xD23A1A815D21DB19 0x3A3599B7 b323 - // + // inline BOOL NetworkLaunchTransition() { return _i(0x2DCF46CB1A4F0884); } // 0x2DCF46CB1A4F0884 0xE3570BA2 b323 - // Appears to set whether a transition should be started when the session is migrating. + // Appears to set whether a transition should be started when the session is migrating. inline Void NetworkSetDoNotLaunchFromJoinAsMigratedHost(BOOL toggle) { return _i(0xA2E9C1AB8A92E8CD,toggle); } // 0xA2E9C1AB8A92E8CD 0x8D014B23 b323 - // + // inline Void NetworkCancelTransitionMatchmaking() { return _i(0x23782EFC70585EE); } // 0x23782EFC70585EE b2699 - // + // inline Void NetworkBailTransition(int p0, int p1, int p2) { return _i(0xEAA572036990CD1B,p0, p1, p2); } // 0xEAA572036990CD1B 0xB59D74CA b323 - // + // inline BOOL NetworkDoTransitionToGame(BOOL p0, int maxPlayers) { return _i(0x3E9BB38102A589B0,p0, maxPlayers); } // 0x3E9BB38102A589B0 0x1B2114D2 b323 - // + // inline BOOL NetworkDoTransitionToNewGame(BOOL p0, int maxPlayers, BOOL p2) { return _i(0x4665F51EFED00034,p0, maxPlayers, p2); } // 0x4665F51EFED00034 0x58AFBE63 b323 - // p2 is true 3/4 of the occurrences I found. + // 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. inline BOOL NetworkDoTransitionToFreemode(Any* p0, Any p1, BOOL p2, int players, BOOL p4) { return _i(0x3AAD8B2FCA1E289F,p0, p1, p2, players, p4); } // 0x3AAD8B2FCA1E289F 0xC7CB8ADF b323 - // + // inline BOOL NetworkDoTransitionToNewFreemode(Any* p0, Any p1, int players, BOOL p3, BOOL p4, BOOL p5) { return _i(0x9E80A5BA8109F974,p0, p1, players, p3, p4, p5); } // 0x9E80A5BA8109F974 0xAD13375E b323 - // + // inline BOOL NetworkIsTransitionToGame() { return _i(0x9D7696D8F4FA6CB7); } // 0x9D7696D8F4FA6CB7 0x17146B2B b323 - // Returns count. + // Returns count. inline int NetworkGetTransitionMembers(Any* data, int dataCount) { return _i(0x73B000F7FBC55829,data, dataCount); } // 0x73B000F7FBC55829 0x31F19263 b323 - // + // inline Void NetworkApplyTransitionParameter(int p0, int p1) { return _i(0x521638ADA1BA0D18,p0, p1); } // 0x521638ADA1BA0D18 0xCEE79711 b323 - // - inline Void NetworkApplyTransitionParameterString(int p0, String string, BOOL p2) { return _i(0xEBEFC2E77084F599,p0, string, p2); } // 0xEBEFC2E77084F599 0xE0C28DB5 b323 - // - inline BOOL NetworkSendTransitionGamerInstruction(Any* gamerHandle, String p1, int p2, int p3, BOOL p4) { return _i(0x31D1D2B858D25E6B,gamerHandle, p1, p2, p3, p4); } // 0x31D1D2B858D25E6B 0x468B0884 b323 - // + // + inline Void NetworkApplyTransitionParameterString(int p0, const char* string, BOOL p2) { return _i(0xEBEFC2E77084F599,p0, string, p2); } // 0xEBEFC2E77084F599 0xE0C28DB5 b323 + // + inline BOOL NetworkSendTransitionGamerInstruction(Any* gamerHandle, const char* p1, int p2, int p3, BOOL p4) { return _i(0x31D1D2B858D25E6B,gamerHandle, p1, p2, p3, p4); } // 0x31D1D2B858D25E6B 0x468B0884 b323 + // inline BOOL NetworkMarkTransitionGamerAsFullyJoined(Any* p0) { return _i(0x5728BB6D63E3FF1D,p0); } // 0x5728BB6D63E3FF1D 0x03383F57 b323 - // + // inline BOOL NetworkIsTransitionHost() { return _i(0xB824797C9BF2159); } // 0xB824797C9BF2159 0x0C0900BC b323 - // + // inline BOOL NetworkIsTransitionHostFromHandle(Any* gamerHandle) { return _i(0x6B5C83BA3EFE6A10,gamerHandle); } // 0x6B5C83BA3EFE6A10 0x0E2854C4 b323 - // + // inline BOOL NetworkGetTransitionHost(Any* gamerHandle) { return _i(0x65042B9774C4435E,gamerHandle); } // 0x65042B9774C4435E 0x73098D40 b323 - // + // inline BOOL NetworkIsInTransition() { return _i(0x68049AEFF83D8F0A); } // 0x68049AEFF83D8F0A 0xC3CDB626 b323 - // + // inline BOOL NetworkIsTransitionStarted() { return _i(0x53FA83401D9C07FE); } // 0x53FA83401D9C07FE 0x7917E111 b323 - // + // inline BOOL NetworkIsTransitionBusy() { return _i(0x520F3282A53D26B7); } // 0x520F3282A53D26B7 0xA357A2C6 b323 - // + // inline BOOL NetworkIsTransitionMatchmaking() { return _i(0x292564C735375EDF); } // 0x292564C735375EDF 0x8262C70E b323 - // + // inline BOOL NetworkIsTransitionLeavePostponed() { return _i(0xC571D0E77D8BBC29); } // 0xC571D0E77D8BBC29 0x4F4BB300 b323 - // + // inline Void NetworkTransitionSetInProgress(Any p0) { return _i(0x1398582B7F72B3ED,p0); } // 0x1398582B7F72B3ED b505 - // + // inline Void NetworkTransitionSetContentCreator(Any p0) { return _i(0x1F8E00FB18239600,p0); } // 0x1F8E00FB18239600 b573 - // + // inline Void NetworkTransitionSetActivityIsland(Any p0) { return _i(0xF6F4383B7C92F11A,p0); } // 0xF6F4383B7C92F11A b573 - // + // inline Void NetworkOpenTransitionMatchmaking() { return _i(0x2B3A8F7CA3A38FDE); } // 0x2B3A8F7CA3A38FDE 0xC71E607B b323 - // + // inline Void NetworkCloseTransitionMatchmaking() { return _i(0x43F4DBA69710E01E); } // 0x43F4DBA69710E01E 0x82D32D07 b323 - // + // inline BOOL NetworkIsTransitionOpenToMatchmaking() { return _i(0x37A4494483B9F5C9); } // 0x37A4494483B9F5C9 0xC901AA9F b323 - // + // inline Void NetworkSetTransitionVisibilityLock(BOOL p0, BOOL p1) { return _i(0xC978FDA19692C2C,p0, p1); } // 0xC978FDA19692C2C 0x4AF0ADF5 b323 - // + // inline BOOL NetworkIsTransitionVisibilityLocked() { return _i(0xD0A484CB2F829FBE); } // 0xD0A484CB2F829FBE 0xF637166E b323 - // + // inline Void NetworkSetTransitionActivityId(Any p0) { return _i(0x30DE938B516F0AD2,p0); } // 0x30DE938B516F0AD2 0xCCA9C022 b323 - // + // inline Void NetworkChangeTransitionSlots(Any p0, BOOL p1) { return _i(0xEEEDA5E6D7080987,p0, p1); } // 0xEEEDA5E6D7080987 0x1E5F6AEF b323 - // + // inline Void NetworkTransitionBlockJoinRequests(BOOL p0) { return _i(0x973D76AA760A6CB6,p0); } // 0x973D76AA760A6CB6 0x0532DDD2 b323 - // + // inline BOOL NetworkHasPlayerStartedTransition(Player player) { return _i(0x9AC9CCBFA8C29795,player); } // 0x9AC9CCBFA8C29795 0x4ABD1E59 b323 - // + // inline BOOL NetworkAreTransitionDetailsValid(Any p0) { return _i(0x2615AA2A695930C1,p0); } // 0x2615AA2A695930C1 0xCDEBCCE7 b323 - // int handle[76]; + // int handle[76]; // NetworkHandleFromFriend(iSelectedPlayer, &handle[0], 13); // Player uVar2 = NetworkGetPlayerFromGamerHandle(&handle[0]); // NetworkJoinTransition(uVar2); // nothing doin. inline BOOL NetworkJoinTransition(Player player) { return _i(0x9D060B08CD63321A,player); } // 0x9D060B08CD63321A 0xB054EC4B b323 - // + // inline BOOL NetworkHasInvitedGamerToTransition(Any* p0) { return _i(0x7284A47B3540E6CF,p0); } // 0x7284A47B3540E6CF 0x4F41DF6B b323 - // + // inline BOOL NetworkHasTransitionInviteBeenAcked(Any* p0) { return _i(0x3F9990BF5F22759C,p0); } // 0x3F9990BF5F22759C 0x00F26CDC b323 - // + // inline BOOL NetworkIsActivitySession() { return _i(0x5095437424397FA); } // 0x5095437424397FA 0x577DAA8A b323 - // + // inline Void NetworkDisableRealtimeMultiplayer() { return _i(0x236905C700FDB54D); } // 0x236905C700FDB54D b2612 - // Does nothing. It's just a nullsub. + // Does nothing. It's just a nullsub. inline Void NetworkSetPresenceSessionInvitesBlocked(BOOL toggle) { return _i(0x4A9FDE3A5A6D0437,toggle); } // 0x4A9FDE3A5A6D0437 0x18F03AFD b323 - // - inline BOOL NetworkSendInviteViaPresence(Any* gamerHandle, String p1, int dataCount, int p3) { return _i(0xC3C7A6AFDB244624,gamerHandle, p1, dataCount, p3); } // 0xC3C7A6AFDB244624 0x8B99B72B b323 - // - inline BOOL NetworkSendTransitionInviteViaPresence(Any* gamerHandle, String p1, int dataCount, int p3) { return _i(0xC116FF9B4D488291,gamerHandle, p1, dataCount, p3); } // 0xC116FF9B4D488291 0x877C0E1C b323 - // Contains the string "NETWORK_SEND_PRESENCE_TRANSITION_INVITE" but so does 0xC116FF9B4D488291; seems to fit alphabetically here, tho. - inline BOOL NetworkSendImportantTransitionInviteViaPresence(Any* gamerHandle, String p1, int dataCount, int p3) { return _i(0x1171A97A3D3981B6,gamerHandle, p1, dataCount, p3); } // 0x1171A97A3D3981B6 b323 - // + // + inline BOOL NetworkSendInviteViaPresence(Any* gamerHandle, const char* p1, int dataCount, int p3) { return _i(0xC3C7A6AFDB244624,gamerHandle, p1, dataCount, p3); } // 0xC3C7A6AFDB244624 0x8B99B72B b323 + // + inline BOOL NetworkSendTransitionInviteViaPresence(Any* gamerHandle, const char* p1, int dataCount, int p3) { return _i(0xC116FF9B4D488291,gamerHandle, p1, dataCount, p3); } // 0xC116FF9B4D488291 0x877C0E1C b323 + // Contains the string "NETWORK_SEND_PRESENCE_TRANSITION_INVITE" but so does 0xC116FF9B4D488291; seems to fit alphabetically here, tho. + inline BOOL NetworkSendImportantTransitionInviteViaPresence(Any* gamerHandle, const char* p1, int dataCount, int p3) { return _i(0x1171A97A3D3981B6,gamerHandle, p1, dataCount, p3); } // 0x1171A97A3D3981B6 b323 + // inline int NetworkGetPresenceInviteIndexById(int p0) { return _i(0x742B58F723233ED9,p0); } // 0x742B58F723233ED9 0x5E832444 b323 - // + // inline int NetworkGetNumPresenceInvites() { return _i(0xCEFA968912D0F78D); } // 0xCEFA968912D0F78D 0x3FDA00F3 b323 - // + // inline BOOL NetworkAcceptPresenceInvite(int p0) { return _i(0xFA91550DF9318B22,p0); } // 0xFA91550DF9318B22 0xE5DA4CED b323 - // + // inline BOOL NetworkRemovePresenceInvite(int p0) { return _i(0xF0210268DB0974B1,p0); } // 0xF0210268DB0974B1 0x93C665FA b323 - // + // inline int NetworkGetPresenceInviteId(int p0) { return _i(0xDFF09646E12EC386,p0); } // 0xDFF09646E12EC386 0xD50DF46C b323 - // - inline String NetworkGetPresenceInviteInviter(int p0) { return _i(0x4962CC4AA2F345B7,p0); } // 0x4962CC4AA2F345B7 0x19EC65D9 b323 - // + // + inline const char* NetworkGetPresenceInviteInviter(int p0) { return _i(0x4962CC4AA2F345B7,p0); } // 0x4962CC4AA2F345B7 0x19EC65D9 b323 + // inline BOOL NetworkGetPresenceInviteHandle(Any p0, Any* p1) { return _i(0x38D5B0FEBB086F75,p0, p1); } // 0x38D5B0FEBB086F75 0xB2451429 b323 - // + // inline int NetworkGetPresenceInviteSessionId(Any p0) { return _i(0x26E1CD96B0903D60,p0); } // 0x26E1CD96B0903D60 0xC5E0C989 b323 - // - inline String NetworkGetPresenceInviteContentId(int p0) { return _i(0x24409FC4C55CB22D,p0); } // 0x24409FC4C55CB22D 0xA4302183 b323 - // + // + inline const char* NetworkGetPresenceInviteContentId(int p0) { return _i(0x24409FC4C55CB22D,p0); } // 0x24409FC4C55CB22D 0xA4302183 b323 + // inline int NetworkGetPresenceInvitePlaylistLength(int p0) { return _i(0xD39B3FFF8FFDD5BF,p0); } // 0xD39B3FFF8FFDD5BF 0x51B2D848 b323 - // + // inline int NetworkGetPresenceInvitePlaylistCurrent(int p0) { return _i(0x728C4CC7920CD102,p0); } // 0x728C4CC7920CD102 0x4677C656 b323 - // + // inline BOOL NetworkGetPresenceInviteFromAdmin(int p0) { return _i(0x3DBF2DF0AEB7D289,p0); } // 0x3DBF2DF0AEB7D289 0xF5E3401C b323 - // + // inline BOOL NetworkGetPresenceInviteIsTournament(Any p0) { return _i(0x8806CEBFABD3CE05,p0); } // 0x8806CEBFABD3CE05 0x7D593B4C b323 - // + // inline BOOL NetworkHasFollowInvite() { return _i(0x76D9B976C4C09FDE); } // 0x76D9B976C4C09FDE 0xE96CFE7D b323 - // + // inline BOOL NetworkActionFollowInvite() { return _i(0xC88156EBB786F8D5); } // 0xC88156EBB786F8D5 0xAB969F00 b323 - // + // inline BOOL NetworkClearFollowInvite() { return _i(0x439BFDE3CD0610F6); } // 0x439BFDE3CD0610F6 0x3242F952 b323 - // + // inline Void NetworkRemoveAndCancelAllInvites() { return _i(0xEBF8284D8CADEB53); } // 0xEBF8284D8CADEB53 0x9773F36A b323 - // + // inline Void NetworkRemoveTransitionInvite(Any* p0) { return _i(0x7524B431B2E6F7EE,p0); } // 0x7524B431B2E6F7EE 0xFDE84CB7 b323 - // + // inline Void NetworkRemoveAllTransitionInvite() { return _i(0x726E0375C7A26368); } // 0x726E0375C7A26368 0xF7134E73 b323 - // + // inline Void NetworkRemoveAndCancelAllTransitionInvites() { return _i(0xF083835B70BA9BFE); } // 0xF083835B70BA9BFE 0xC47352E7 b323 - // + // inline BOOL NetworkInviteGamers(Any* p0, Any p1, Any* p2, Any p3) { return _i(0x9D80CD1D0E6327DE,p0, p1, p2, p3); } // 0x9D80CD1D0E6327DE 0x52FB8074 b323 - // + // inline BOOL NetworkHasInvitedGamer(Any* p0) { return _i(0x4D86CD31E8976ECE,p0); } // 0x4D86CD31E8976ECE 0xEC651BC0 b323 - // + // inline BOOL NetworkHasMadeInviteDecision(Any* gamerHandle) { return _i(0x71DC455F5CD1C2B1,gamerHandle); } // 0x71DC455F5CD1C2B1 b505 - // + // inline int NetworkGetInviteReplyStatus(Any p0) { return _i(0x3855FB5EB2C5E8B2,p0); } // 0x3855FB5EB2C5E8B2 b505 - // + // inline BOOL NetworkGetCurrentlySelectedGamerHandleFromInviteMenu(Any* p0) { return _i(0x74881E6BCAE2327C,p0); } // 0x74881E6BCAE2327C 0x72BA00CE b323 - // + // inline BOOL NetworkSetCurrentlySelectedGamerHandleFromInviteMenu(Any* p0) { return _i(0x7206F674F2A3B1BB,p0); } // 0x7206F674F2A3B1BB 0xFD95899E b323 - // + // inline Void NetworkSetInviteOnCallForInviteMenu(Any* p0) { return _i(0x66F010A4B031A331,p0); } // 0x66F010A4B031A331 0x11378777 b323 - // + // inline BOOL NetworkCheckDataManagerSucceededForHandle(int p0, Any* gamerHandle) { return _i(0x44B37CDCAE765AAE,p0, gamerHandle); } // 0x44B37CDCAE765AAE 0x13301529 b323 - // + // inline BOOL NetworkCheckDataManagerForHandle(Any p0, Any* gamerHandle) { return _i(0x4AD490AE1536933B,p0, gamerHandle); } // 0x4AD490AE1536933B b372 - // + // inline Void NetworkSetInviteFailedMessageForInviteMenu(Any* p0, Any* p1) { return _i(0xD77A82DC2D0DA59,p0, p1); } // 0xD77A82DC2D0DA59 0x0808D4CC b323 - // + // inline BOOL FilloutPmPlayerList(Any* gamerHandle, Any p1, Any p2) { return _i(0xCBBD7C4991B64809,gamerHandle, p1, p2); } // 0xCBBD7C4991B64809 0xCE40F423 b323 - // + // inline BOOL FilloutPmPlayerListWithNames(Any* p0, Any* p1, Any p2, Any p3) { return _i(0x716B6DB9D1886106,p0, p1, p2, p3); } // 0x716B6DB9D1886106 0xB8DF604E b323 - // + // inline BOOL RefreshPlayerListStats(int p0) { return _i(0xE26CCFF8094D8C74,p0); } // 0xE26CCFF8094D8C74 0xF49C1533 b323 - // + // inline BOOL NetworkSetCurrentDataManagerHandle(Any* p0) { return _i(0x796A87B3B68D1F3D,p0); } // 0x796A87B3B68D1F3D b323 - // Hardcoded to return false. + // Hardcoded to return false. inline BOOL NetworkIsInPlatformParty() { return _i(0x2FC5650B0271CB57); } // 0x2FC5650B0271CB57 0xA812B6CB b323 - // + // inline int NetworkGetPlatformPartyMemberCount() { return _i(0x1ABCE5E7CBDA196); } // 0x1ABCE5E7CBDA196 b323 - // + // inline int NetworkGetPlatformPartyMembers(Any* data, int dataSize) { return _i(0x120364DE2845DAF8,data, dataSize); } // 0x120364DE2845DAF8 0xF30E5814 b323 - // Hardcoded to return false. + // Hardcoded to return false. inline BOOL NetworkIsInPlatformPartyChat() { return _i(0xFD8B834A8BA05048); } // 0xFD8B834A8BA05048 0xC6609191 b323 - // This would be nice to see if someone is in party chat, but 2 sad notes. + // 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. inline BOOL NetworkIsChattingInPlatformParty(Any* gamerHandle) { return _i(0x8DE9945BCC9AEC52,gamerHandle); } // 0x8DE9945BCC9AEC52 0x51367B34 b323 - // + // inline BOOL NetworkCanQueueForPreviousSessionJoin() { return _i(0x2BF66D2E7414F686); } // 0x2BF66D2E7414F686 0x9156EFC0 b323 - // + // inline BOOL NetworkIsQueuingForSessionJoin() { return _i(0x14922ED3E38761F0); } // 0x14922ED3E38761F0 0x8FA6EE0E b323 - // + // inline Void NetworkClearQueuedJoinRequest() { return _i(0x6CE50E47F5543D0C); } // 0x6CE50E47F5543D0C b573 - // + // inline Void NetworkSendQueuedJoinRequest() { return _i(0xFA2888E3833C8E96); } // 0xFA2888E3833C8E96 0x7F70C15A b323 - // + // inline Void NetworkRemoveAllQueuedJoinRequests() { return _i(0x25D990F8E0E3F13C); } // 0x25D990F8E0E3F13C 0x4FD83F5B b323 - // + // inline Void NetworkSeedRandomNumberGenerator(int seed) { return _i(0xF1B84178F8674195,seed); } // 0xF1B84178F8674195 0x41702C8A b323 - // + // inline int NetworkGetRandomInt() { return _i(0x599E4FA1F87EB5FF); } // 0x599E4FA1F87EB5FF 0x208DD848 b323 - // Same as GetRandomIntInRange + // Same as GetRandomIntInRange inline int NetworkGetRandomIntRanged(int rangeStart, int rangeEnd) { return _i(0xE30CF56F1EFA5F43,rangeStart, rangeEnd); } // 0xE30CF56F1EFA5F43 0xF9B6426D b323 - // + // inline float NetworkGetRandomFloatRanged(float rangeStart, float rangeEnd) { return _i(0x4BD27B5ACB67067,rangeStart, rangeEnd); } // 0x4BD27B5ACB67067 b2802 - // + // inline BOOL NetworkPlayerIsCheater() { return _i(0x655B91F1495A9090); } // 0x655B91F1495A9090 0xA51DC214 b323 - // + // inline int NetworkPlayerGetCheaterReason() { return _i(0x172F75B6EE2233BA); } // 0x172F75B6EE2233BA 0x1720ABA6 b323 - // + // inline BOOL NetworkPlayerIsBadsport() { return _i(0x19D8DA0E5A68045A); } // 0x19D8DA0E5A68045A 0xA19708E3 b323 - // + // inline BOOL RemoteCheaterPlayerDetected(Player player, int a, int b) { return _i(0x472841A026D26D8B,player, a, b); } // 0x472841A026D26D8B b1103 - // + // inline BOOL BadSportPlayerLeftDetected(Any* gamerHandle, int event, int amountReceived) { return _i(0xEC5E3AF5289DCA81,gamerHandle, event, amountReceived); } // 0xEC5E3AF5289DCA81 0x4C2C6B6A b323 - // + // inline Void NetworkAddInvalidObjectModel(Hash modelHash) { return _i(0x7F562DBC212E81F9,modelHash); } // 0x7F562DBC212E81F9 b2545 - // + // inline Void NetworkRemoveInvalidObjectModel(Hash modelHash) { return _i(0x791EDB5803B2F468,modelHash); } // 0x791EDB5803B2F468 b2545 - // + // inline Void NetworkClearInvalidObjectModels() { return _i(0x3B2F03A53D85E41); } // 0x3B2F03A53D85E41 b2545 - // + // inline Void NetworkApplyPedScarData(Ped ped, int p1) { return _i(0xE66C690248F11150,ped, p1); } // 0xE66C690248F11150 0x4818ACD0 b323 - // + // inline Void NetworkSetThisScriptIsNetworkScript(int maxNumMissionParticipants, BOOL p1, int instanceId) { return _i(0x1CA59E306ECB80A5,maxNumMissionParticipants, p1, instanceId); } // 0x1CA59E306ECB80A5 0x470810ED b323 - // + // inline BOOL NetworkTryToSetThisScriptIsNetworkScript(Any p0, BOOL p1, Any p2) { return _i(0xD1110739EEADB592,p0, p1, p2); } // 0xD1110739EEADB592 b323 - // + // inline BOOL NetworkGetThisScriptIsNetworkScript() { return _i(0x2910669969E9535E); } // 0x2910669969E9535E 0xD9BF6549 b323 - // + // inline int NetworkGetMaxNumParticipants() { return _i(0xA6C90FBC38E395EE); } // 0xA6C90FBC38E395EE 0xCCD8C02D b323 - // + // inline int NetworkGetNumParticipants() { return _i(0x18D0456E86604654); } // 0x18D0456E86604654 0x3E25A3C5 b323 - // + // inline int NetworkGetScriptStatus() { return _i(0x57D158647A6BFABF); } // 0x57D158647A6BFABF 0x2BE9235A b323 - // - inline Void NetworkRegisterHostBroadcastVariables(int* vars, int numVars, String debugName) { return _i(0x3E9B2F01C50DF595,vars, numVars, debugName); } // 0x3E9B2F01C50DF595 0xDAF3B0AE b323 - // - inline Void NetworkRegisterPlayerBroadcastVariables(int* vars, int numVars, String debugName) { return _i(0x3364AA97340CA215,vars, numVars, debugName); } // 0x3364AA97340CA215 0xBE3D32B4 b323 - // + // + inline Void NetworkRegisterHostBroadcastVariables(int* vars, int numVars, const char* debugName) { return _i(0x3E9B2F01C50DF595,vars, numVars, debugName); } // 0x3E9B2F01C50DF595 0xDAF3B0AE b323 + // + inline Void NetworkRegisterPlayerBroadcastVariables(int* vars, int numVars, const char* debugName) { return _i(0x3364AA97340CA215,vars, numVars, debugName); } // 0x3364AA97340CA215 0xBE3D32B4 b323 + // inline Void NetworkRegisterHighFrequencyHostBroadcastVariables(Any p0, Any p1, Any p2) { return _i(0xEA8C0DDB10E2822A,p0, p1, p2); } // 0xEA8C0DDB10E2822A b1868 - // + // inline Void NetworkRegisterHighFrequencyPlayerBroadcastVariables(Any p0, Any p1, Any p2) { return _i(0xD6D7478CA62B8D41,p0, p1, p2); } // 0xD6D7478CA62B8D41 b1868 - // + // inline Void NetworkFinishBroadcastingData() { return _i(0x64F62AFB081E260D); } // 0x64F62AFB081E260D 0xA71A1D2A b323 - // + // inline BOOL NetworkHasReceivedHostBroadcastData() { return _i(0x5D10B3795F3FC886); } // 0x5D10B3795F3FC886 0x0B739F53 b323 - // + // inline Player NetworkGetPlayerIndex(Player player) { return _i(0x24FB80D107371267,player); } // 0x24FB80D107371267 0xBE1C1506 b323 - // + // inline int NetworkGetParticipantIndex(int index) { return _i(0x1B84DF6AF2A46938,index); } // 0x1B84DF6AF2A46938 0xC4D91094 b323 - // Returns the Player associated to a given Ped when in an online session. + // Returns the Player associated to a given Ped when in an online session. inline Player NetworkGetPlayerIndexFromPed(Ped ped) { return _i(0x6C0E2E0125610278,ped); } // 0x6C0E2E0125610278 0x40DBF464 b323 - // Returns the amount of players connected in the current session. Only works when connected to a session/server. + // Returns the amount of players connected in the current session. Only works when connected to a session/server. inline int NetworkGetNumConnectedPlayers() { return _i(0xA4A79DD2D9600654); } // 0xA4A79DD2D9600654 0xF7952E62 b323 - // + // inline BOOL NetworkIsPlayerConnected(Player player) { return _i(0x93DC1BE4E1ABE9D1,player); } // 0x93DC1BE4E1ABE9D1 0x168EE2C2 b323 - // + // inline int NetworkGetTotalNumPlayers() { return _i(0xCF61D4B4702EE9EB); } // 0xCF61D4B4702EE9EB 0xF4F13B06 b323 - // + // inline BOOL NetworkIsParticipantActive(int p0) { return _i(0x6FF8FF40B6357D45,p0); } // 0x6FF8FF40B6357D45 0x4E2C348B b323 - // + // inline BOOL NetworkIsPlayerActive(Player player) { return _i(0xB8DFD30D6973E135,player); } // 0xB8DFD30D6973E135 0x43657B17 b323 - // + // inline BOOL NetworkIsPlayerAParticipant(Player player) { return _i(0x3CA58F6CB7CBD784,player); } // 0x3CA58F6CB7CBD784 0xB08B6992 b323 - // + // inline BOOL NetworkIsHostOfThisScript() { return _i(0x83CD99A1E6061AB5); } // 0x83CD99A1E6061AB5 0x6970BA94 b323 - // + // inline Player NetworkGetHostOfThisScript() { return _i(0xC7B4D79B01FA7A5C); } // 0xC7B4D79B01FA7A5C 0x89EA7B54 b323 - // scriptName examples: + // scriptName examples: // "freemode", "AM_CR_SecurityVan", ... // // Most of the time, these values are used: // instance_id = -1 // position_hash = 0 - inline Player NetworkGetHostOfScript(String scriptName, int instance_id, int position_hash) { return _i(0x1D6A14F1F9A736FC,scriptName, instance_id, position_hash); } // 0x1D6A14F1F9A736FC 0x9C95D0BB b323 - // + inline Player NetworkGetHostOfScript(const char* scriptName, int instance_id, int position_hash) { return _i(0x1D6A14F1F9A736FC,scriptName, instance_id, position_hash); } // 0x1D6A14F1F9A736FC 0x9C95D0BB b323 + // inline Void NetworkSetMissionFinished() { return _i(0x3B3D11CD9FFCDFC9); } // 0x3B3D11CD9FFCDFC9 0x3083FAD7 b323 - // - inline BOOL NetworkIsScriptActive(String scriptName, int instance_id, BOOL p2, int position_hash) { return _i(0x9D40DF90FAD26098,scriptName, instance_id, p2, position_hash); } // 0x9D40DF90FAD26098 0x4A65250C b323 - // + // + inline BOOL NetworkIsScriptActive(const char* scriptName, int instance_id, BOOL p2, int position_hash) { return _i(0x9D40DF90FAD26098,scriptName, instance_id, p2, position_hash); } // 0x9D40DF90FAD26098 0x4A65250C b323 + // inline BOOL NetworkIsScriptActiveByHash(Hash scriptHash, int p1, BOOL p2, int p3) { return _i(0xDA7DE67F5FE5EE13,scriptHash, p1, p2, p3); } // 0xDA7DE67F5FE5EE13 b2245 - // + // inline BOOL NetworkIsThreadANetworkScript(int threadId) { return _i(0x560B423D73015E77,threadId); } // 0x560B423D73015E77 b1604 - // - inline int NetworkGetNumScriptParticipants(String scriptName, int instance_id, int position_hash) { return _i(0x3658E8CD94FC121A,scriptName, instance_id, position_hash); } // 0x3658E8CD94FC121A 0x8F7D9F46 b323 - // + // + inline int NetworkGetNumScriptParticipants(const char* scriptName, int instance_id, int position_hash) { return _i(0x3658E8CD94FC121A,scriptName, instance_id, position_hash); } // 0x3658E8CD94FC121A 0x8F7D9F46 b323 + // inline int NetworkGetInstanceIdOfThisScript() { return _i(0x638A3A81733086DB); } // 0x638A3A81733086DB 0xDB8B5D71 b323 - // + // inline Hash NetworkGetPositionHashOfThisScript() { return _i(0x257ED0FADF750BCF); } // 0x257ED0FADF750BCF b2372 - // - inline BOOL NetworkIsPlayerAParticipantOnScript(Player player, String script, int instance_id) { return _i(0x1AD5B71586B94820,player, script, instance_id); } // 0x1AD5B71586B94820 0xCEA55F4C b323 - // + // + inline BOOL NetworkIsPlayerAParticipantOnScript(Player player, const char* script, int instance_id) { return _i(0x1AD5B71586B94820,player, script, instance_id); } // 0x1AD5B71586B94820 0xCEA55F4C b323 + // inline Void NetworkPreventScriptHostMigration() { return _i(0x2302C0264EA58D31); } // 0x2302C0264EA58D31 0x8DCFE77D b323 - // + // inline Void NetworkRequestToBeHostOfThisScript() { return _i(0x741A3D8380319A81); } // 0x741A3D8380319A81 0x331D9A27 b323 - // Return the local Participant ID + // Return the local Participant ID inline Player ParticipantId() { return _i(0x90986E8876CE0A83); } // 0x90986E8876CE0A83 0x9C35A221 b323 - // Return the local Participant ID. + // Return the local Participant ID. // // This native is exactly the same as 'ParticipantId' native. inline int ParticipantIdToInt() { return _i(0x57A3BDDAD8E5AA0A); } // 0x57A3BDDAD8E5AA0A 0x907498B0 b323 - // + // inline Player NetworkGetKillerOfPlayer(Player player, Hash* weaponHash) { return _i(0x2DA41ED6E1FCD7A5,player, weaponHash); } // 0x2DA41ED6E1FCD7A5 b463 - // + // inline Player NetworkGetDestroyerOfNetworkId(int netId, Hash* weaponHash) { return _i(0x7A1ADEEF01740A24,netId, weaponHash); } // 0x7A1ADEEF01740A24 0x4FCA6436 b323 - // + // inline Player NetworkGetDestroyerOfEntity(Entity entity, Hash* weaponHash) { return _i(0xC434133D9BA52777,entity, weaponHash); } // 0xC434133D9BA52777 b463 - // NetworkGetAssistedDamageOfEntity that ensures the entity is dead (IsEntityDead) + // NetworkGetAssistedDamageOfEntity that ensures the entity is dead (IsEntityDead) inline BOOL NetworkGetAssistedKillOfEntity(Player player, Entity entity, int* p2) { return _i(0x83660B734994124D,player, entity, p2); } // 0x83660B734994124D b463 - // + // inline BOOL NetworkGetAssistedDamageOfEntity(Player player, Entity entity, int* p2) { return _i(0x4CACA84440FA26F6,player, entity, p2); } // 0x4CACA84440FA26F6 0x28A45454 b323 - // + // inline Entity NetworkGetEntityKillerOfPlayer(Player player, Hash* weaponHash) { return _i(0x42B2DAA6B596F5F8,player, weaponHash); } // 0x42B2DAA6B596F5F8 0xA7E7E04F b323 - // - inline Void NetworkSetCurrentPublicContentId(String missionId) { return _i(0x2C863ACDCD12B3DB,missionId); } // 0x2C863ACDCD12B3DB b2699 - // + // + inline Void NetworkSetCurrentPublicContentId(const char* missionId) { return _i(0x2C863ACDCD12B3DB,missionId); } // 0x2C863ACDCD12B3DB b2699 + // inline Void NetworkSetCurrentChatOption(int newChatOption) { return _i(0x3DAD00265FBF356B,newChatOption); } // 0x3DAD00265FBF356B b2802 - // mpSettingSpawn: + // mpSettingSpawn: // // enum eMpSettingSpawn // { @@ -9343,175 +9343,175 @@ namespace NETWORK // MP_SETTING_SPAWN_MAX, // }; inline Void NetworkSetCurrentSpawnLocationOption(Hash mpSettingSpawn) { return _i(0xAA6D5451DC3448B6,mpSettingSpawn); } // 0xAA6D5451DC3448B6 b2699 - // Used by MetricVEHICLE_DIST_DRIVEN + // Used by MetricVEHICLE_DIST_DRIVEN inline Void NetworkSetVehicleDrivenInTestDrive(BOOL toggle) { return _i(0x8C70252FC40F320B,toggle); } // 0x8C70252FC40F320B b2699 - // Sets 'loc' variable used in MetricVEHICLE_DIST_DRIVEN + // Sets 'loc' variable used in MetricVEHICLE_DIST_DRIVEN inline Void NetworkSetVehicleDrivenLocation(Hash location) { return _i(0xA0CE91E47531D3BB,location); } // 0xA0CE91E47531D3BB b2944 - // + // inline Void NetworkResurrectLocalPlayer(float x, float y, float z, float heading, BOOL p4, BOOL changetime, BOOL p6, int p7, int p8) { return _i(0xEA23C49EAA83ACFB,x, y, z, heading, p4, changetime, p6, p7, p8); } // 0xEA23C49EAA83ACFB 0xF1F9D4B4 b323 - // + // inline Void NetworkSetLocalPlayerInvincibleTime(int time) { return _i(0x2D95C7E2D7E07307,time); } // 0x2D95C7E2D7E07307 0xFEA9B85C b323 - // + // inline BOOL NetworkIsLocalPlayerInvincible() { return _i(0x8A8694B48715B000); } // 0x8A8694B48715B000 0x8DE13B36 b323 - // + // inline Void NetworkDisableInvincibleFlashing(Player player, BOOL toggle) { return _i(0x9DD368BF06983221,player, toggle); } // 0x9DD368BF06983221 0x8D27280E b323 - // + // inline Void NetworkPatchPostCutsceneHs4FTunEnt(Ped ped) { return _i(0xF0BC9BCD24A511D5,ped); } // 0xF0BC9BCD24A511D5 b2372 - // + // inline Void NetworkSetLocalPlayerSyncLookAt(BOOL toggle) { return _i(0x524FF0AEFF9C3973,toggle); } // 0x524FF0AEFF9C3973 0xB72F086D b323 - // + // inline BOOL NetworkHasEntityBeenRegisteredWithThisThread(Entity entity) { return _i(0xB07D3185E11657A5,entity); } // 0xB07D3185E11657A5 0xEDA68956 b323 - // + // inline int NetworkGetNetworkIdFromEntity(Entity entity) { return _i(0xA11700682F3AD45C,entity); } // 0xA11700682F3AD45C 0x9E35DAB6 b323 - // + // inline Entity NetworkGetEntityFromNetworkId(int netId) { return _i(0xCE4E5D9B0A4FF560,netId); } // 0xCE4E5D9B0A4FF560 0x5B912C3F b323 - // + // inline BOOL NetworkGetEntityIsNetworked(Entity entity) { return _i(0xC7827959479DCC78,entity); } // 0xC7827959479DCC78 0xD7F934F4 b323 - // + // inline BOOL NetworkGetEntityIsLocal(Entity entity) { return _i(0x991549DE4D64762,entity); } // 0x991549DE4D64762 0x813353ED b323 - // + // inline Void NetworkRegisterEntityAsNetworked(Entity entity) { return _i(0x6FAACD625D80CAA,entity); } // 0x6FAACD625D80CAA 0x31A630A4 b323 - // + // inline Void NetworkUnregisterNetworkedEntity(Entity entity) { return _i(0x7368E683BB9038D6,entity); } // 0x7368E683BB9038D6 0x5C645F64 b323 - // + // inline BOOL NetworkDoesNetworkIdExist(int netId) { return _i(0x38CE16C96BD11344,netId); } // 0x38CE16C96BD11344 0xB8D2C99E b323 - // + // inline BOOL NetworkDoesEntityExistWithNetworkId(int netId) { return _i(0x18A47D074708FD68,netId); } // 0x18A47D074708FD68 0x1E2E3177 b323 - // + // inline BOOL NetworkRequestControlOfNetworkId(int netId) { return _i(0xA670B3662FAFFBD0,netId); } // 0xA670B3662FAFFBD0 0x9262A60A b323 - // + // inline BOOL NetworkHasControlOfNetworkId(int netId) { return _i(0x4D36070FE0215186,netId); } // 0x4D36070FE0215186 0x92E77D21 b323 - // Returns true if the specified network id is controlled by someone else. + // Returns true if the specified network id is controlled by someone else. inline BOOL NetworkIsNetworkIdRemotelyControlled(int netId) { return _i(0x7242F8B741CE1086,netId); } // 0x7242F8B741CE1086 b678 - // + // inline BOOL NetworkRequestControlOfEntity(Entity entity) { return _i(0xB69317BF5E782347,entity); } // 0xB69317BF5E782347 0xA05FEBD7 b323 - // + // inline BOOL NetworkRequestControlOfDoor(int doorID) { return _i(0x870DDFD5A4A796E4,doorID); } // 0x870DDFD5A4A796E4 0xF60DAAF6 b323 - // + // inline BOOL NetworkHasControlOfEntity(Entity entity) { return _i(0x1BF60A500E28887,entity); } // 0x1BF60A500E28887 0x005FD797 b323 - // + // inline BOOL NetworkHasControlOfPickup(Pickup pickup) { return _i(0x5BC9495F0B3B6FA6,pickup); } // 0x5BC9495F0B3B6FA6 0xF7784FC8 b323 - // + // inline BOOL NetworkHasControlOfDoor(Hash doorHash) { return _i(0xCB3C68ADB06195DF,doorHash); } // 0xCB3C68ADB06195DF 0x136326EC b323 - // + // inline BOOL NetworkIsDoorNetworked(Hash doorHash) { return _i(0xC01E93FAC20C3346,doorHash); } // 0xC01E93FAC20C3346 0xD14D9C07 b323 - // calls from vehicle to net. + // calls from vehicle to net. // inline int VehToNet(Vehicle vehicle) { return _i(0xB4C94523F023419C,vehicle); } // 0xB4C94523F023419C 0xF17634EB b323 - // gets the network id of a ped + // gets the network id of a ped inline int PedToNet(Ped ped) { return _i(0xEDEC3C276198689,ped); } // 0xEDEC3C276198689 0x86A0B759 b323 - // Lets objects spawn online simply do it like this: + // Lets objects spawn online simply do it like this: // // int createdObject = ObjToNet(CreateObject_NO_OFFSET(oball, pCoords.x, pCoords.y, pCoords.z, 1, 0, 0)); inline int ObjToNet(Object object) { return _i(0x99BFDC94A603E541,object); } // 0x99BFDC94A603E541 0x1E05F29F b323 - // + // inline Vehicle NetToVeh(int netHandle) { return _i(0x367B936610BA360C,netHandle); } // 0x367B936610BA360C 0x7E02FAEA b323 - // gets the ped id of a network id + // gets the ped id of a network id inline Ped NetToPed(int netHandle) { return _i(0xBDCD95FC216A8B3E,netHandle); } // 0xBDCD95FC216A8B3E 0x87717DD4 b323 - // gets the object id of a network id + // gets the object id of a network id inline Object NetToObj(int netHandle) { return _i(0xD8515F5FEA14CB3F,netHandle); } // 0xD8515F5FEA14CB3F 0x27AA14D8 b323 - // gets the entity id of a network id + // gets the entity id of a network id inline Entity NetToEnt(int netHandle) { return _i(0xBFFEAB45A9A9094A,netHandle); } // 0xBFFEAB45A9A9094A 0x5E149683 b323 - // + // inline Void NetworkGetLocalHandle(Any* gamerHandle, int gamerHandleSize) { return _i(0xE86051786B66CD8E,gamerHandle, gamerHandleSize); } // 0xE86051786B66CD8E 0x08023B16 b323 - // - inline Void NetworkHandleFromUserId(String userId, Any* gamerHandle, int gamerHandleSize) { return _i(0xDCD51DD8F87AEC5C,userId, gamerHandle, gamerHandleSize); } // 0xDCD51DD8F87AEC5C 0x74C2C1B7 b323 - // - inline Void NetworkHandleFromMemberId(String memberId, Any* gamerHandle, int gamerHandleSize) { return _i(0xA0FD21BED61E5C4C,memberId, gamerHandle, gamerHandleSize); } // 0xA0FD21BED61E5C4C 0x9BFC9FE2 b323 - // + // + inline Void NetworkHandleFromUserId(const char* userId, Any* gamerHandle, int gamerHandleSize) { return _i(0xDCD51DD8F87AEC5C,userId, gamerHandle, gamerHandleSize); } // 0xDCD51DD8F87AEC5C 0x74C2C1B7 b323 + // + inline Void NetworkHandleFromMemberId(const char* memberId, Any* gamerHandle, int gamerHandleSize) { return _i(0xA0FD21BED61E5C4C,memberId, gamerHandle, gamerHandleSize); } // 0xA0FD21BED61E5C4C 0x9BFC9FE2 b323 + // inline Void NetworkHandleFromPlayer(Player player, Any* gamerHandle, int gamerHandleSize) { return _i(0x388EB2B86C73B6B3,player, gamerHandle, gamerHandleSize); } // 0x388EB2B86C73B6B3 0xD3498917 b323 - // + // inline Hash NetworkHashFromPlayerHandle(Player player) { return _i(0xBC1D768F2F5D6C05,player); } // 0xBC1D768F2F5D6C05 0xF8D7AF3B b323 - // + // inline Hash NetworkHashFromGamerHandle(Any* gamerHandle) { return _i(0x58575AC3CF2CA8EC,gamerHandle); } // 0x58575AC3CF2CA8EC 0x5AC9F04D b323 - // + // inline Void NetworkHandleFromFriend(int friendIndex, Any* gamerHandle, int gamerHandleSize) { return _i(0xD45CB817D7E177D2,friendIndex, gamerHandle, gamerHandleSize); } // 0xD45CB817D7E177D2 0x3B0BB3A3 b323 - // + // inline BOOL NetworkGamertagFromHandleStart(Any* gamerHandle) { return _i(0x9F0C0A981D73FA56,gamerHandle); } // 0x9F0C0A981D73FA56 0xEBA00C2A b323 - // + // inline BOOL NetworkGamertagFromHandlePending() { return _i(0xB071E27958EF4CF0); } // 0xB071E27958EF4CF0 0xF000828E b323 - // + // inline BOOL NetworkGamertagFromHandleSucceeded() { return _i(0xFD00798DBA7523DD); } // 0xFD00798DBA7523DD 0x89C2B5EA b323 - // - inline String NetworkGetGamertagFromHandle(Any* gamerHandle) { return _i(0x426141162EBE5CDB,gamerHandle); } // 0x426141162EBE5CDB 0xA18A1B26 b323 - // Hardcoded to return -1. + // + inline const char* NetworkGetGamertagFromHandle(Any* gamerHandle) { return _i(0x426141162EBE5CDB,gamerHandle); } // 0x426141162EBE5CDB 0xA18A1B26 b323 + // Hardcoded to return -1. inline int NetworkDisplaynamesFromHandlesStart(Any* p0, Any p1) { return _i(0xD66C9E72B3CC4982,p0, p1); } // 0xD66C9E72B3CC4982 b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline int NetworkGetDisplaynamesFromHandles(Any p0, Any p1, Any p2) { return _i(0x58CC181719256197,p0, p1, p2); } // 0x58CC181719256197 b323 - // + // inline BOOL NetworkAreHandlesTheSame(Any* gamerHandle1, Any* gamerHandle2) { return _i(0x57DBA049E110F217,gamerHandle1, gamerHandle2); } // 0x57DBA049E110F217 0x45975AE3 b323 - // + // inline BOOL NetworkIsHandleValid(Any* gamerHandle, int gamerHandleSize) { return _i(0x6F79B93B0A8E4133,gamerHandle, gamerHandleSize); } // 0x6F79B93B0A8E4133 0xF0996C6E b323 - // + // inline Player NetworkGetPlayerFromGamerHandle(Any* gamerHandle) { return _i(0xCE5F689CF5A0A49D,gamerHandle); } // 0xCE5F689CF5A0A49D 0x2E96EF1E b323 - // - inline String NetworkMemberIdFromGamerHandle(Any* gamerHandle) { return _i(0xC82630132081BB6F,gamerHandle); } // 0xC82630132081BB6F 0x62EF0A63 b323 - // + // + inline const char* NetworkMemberIdFromGamerHandle(Any* gamerHandle) { return _i(0xC82630132081BB6F,gamerHandle); } // 0xC82630132081BB6F 0x62EF0A63 b323 + // inline BOOL NetworkIsGamerInMySession(Any* gamerHandle) { return _i(0xF10B05DDF8D16E9,gamerHandle); } // 0xF10B05DDF8D16E9 0x59127716 b323 - // + // inline Void NetworkShowProfileUi(Any* gamerHandle) { return _i(0x859ED1CEA343FCA8,gamerHandle); } // 0x859ED1CEA343FCA8 0xF00A20B0 b323 - // Returns the name of a given player. Returns "**Invalid**" if rlGamerInfo of the given player cannot be retrieved or the player doesn't exist. - inline String NetworkPlayerGetName(Player player) { return _i(0x7718D2E2060837D2,player); } // 0x7718D2E2060837D2 0xCE48F260 b323 - // Returns a string of the player's Rockstar Id. + // Returns the name of a given player. Returns "**Invalid**" if rlGamerInfo of the given player cannot be retrieved or the player doesn't exist. + inline const char* NetworkPlayerGetName(Player player) { return _i(0x7718D2E2060837D2,player); } // 0x7718D2E2060837D2 0xCE48F260 b323 + // Returns a string of the player's Rockstar Id. // Takes a 24 char buffer. Returns the buffer or "**Invalid**" if rlGamerInfo of the given player cannot be retrieved or the player doesn't exist. - inline String NetworkPlayerGetUserid(Player player, int* userID) { return _i(0x4927FC39CD0869A0,player, userID); } // 0x4927FC39CD0869A0 0x4EC0D983 b323 - // Checks if a specific value (BYTE) in CNetGamePlayer is nonzero. + inline const char* NetworkPlayerGetUserid(Player player, int* userID) { return _i(0x4927FC39CD0869A0,player, userID); } // 0x4927FC39CD0869A0 0x4EC0D983 b323 + // Checks if a specific value (BYTE) in CNetGamePlayer 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 IsDlcPresent native for the dlc hash 2532323046, // if that is present it will unlock dev stuff. inline BOOL NetworkPlayerIsRockstarDev(Player player) { return _i(0x544ABDDA3B409B6D,player); } // 0x544ABDDA3B409B6D 0xF6659045 b323 - // + // inline BOOL NetworkPlayerIndexIsCheater(Player player) { return _i(0x565E430DB3B05BEC,player); } // 0x565E430DB3B05BEC 0xD265B049 b323 - // + // inline int NetworkEntityGetObjectId(Entity entity) { return _i(0x815F18AD865F057F,entity); } // 0x815F18AD865F057F b463 - // I've had this return the player's ped handle sometimes, but also other random entities. + // 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. inline Entity NetworkGetEntityFromObjectId(Any p0) { return _i(0x37D5F739FD494675,p0); } // 0x37D5F739FD494675 b505 - // + // inline BOOL NetworkIsInactiveProfile(Any* p0) { return _i(0x7E58745504313A2E,p0); } // 0x7E58745504313A2E 0x95481343 b323 - // + // inline int NetworkGetMaxFriends() { return _i(0xAFEBB0D5D8F687D2); } // 0xAFEBB0D5D8F687D2 0x048171BC b323 - // + // inline int NetworkGetFriendCount() { return _i(0x203F1CFD823B27A4); } // 0x203F1CFD823B27A4 0xA396ACDE b323 - // - inline String NetworkGetFriendName(int friendIndex) { return _i(0xE11EBBB2A783FE8B,friendIndex); } // 0xE11EBBB2A783FE8B 0x97420B6D b323 - // - inline String NetworkGetFriendDisplayName(int friendIndex) { return _i(0x4164F227D052E293,friendIndex); } // 0x4164F227D052E293 b323 - // - inline BOOL NetworkIsFriendOnline(String name) { return _i(0x425A44533437B64D,name); } // 0x425A44533437B64D 0xE0A42430 b323 - // + // + inline const char* NetworkGetFriendName(int friendIndex) { return _i(0xE11EBBB2A783FE8B,friendIndex); } // 0xE11EBBB2A783FE8B 0x97420B6D b323 + // + inline const char* NetworkGetFriendDisplayName(int friendIndex) { return _i(0x4164F227D052E293,friendIndex); } // 0x4164F227D052E293 b323 + // + inline BOOL NetworkIsFriendOnline(const char* name) { return _i(0x425A44533437B64D,name); } // 0x425A44533437B64D 0xE0A42430 b323 + // inline BOOL NetworkIsFriendHandleOnline(Any* gamerHandle) { return _i(0x87EB7A3FFCB314DB,gamerHandle); } // 0x87EB7A3FFCB314DB b323 - // In scripts R* calls 'NetworkGetFriendName' in this param. - inline BOOL NetworkIsFriendInSameTitle(String friendName) { return _i(0x2EA9A3BEDF3F17B8,friendName); } // 0x2EA9A3BEDF3F17B8 0xC54365C2 b323 - // - inline BOOL NetworkIsFriendInMultiplayer(String friendName) { return _i(0x57005C18827F3A28,friendName); } // 0x57005C18827F3A28 0x400BDDD9 b323 - // + // In scripts R* calls 'NetworkGetFriendName' in this param. + inline BOOL NetworkIsFriendInSameTitle(const char* friendName) { return _i(0x2EA9A3BEDF3F17B8,friendName); } // 0x2EA9A3BEDF3F17B8 0xC54365C2 b323 + // + inline BOOL NetworkIsFriendInMultiplayer(const char* friendName) { return _i(0x57005C18827F3A28,friendName); } // 0x57005C18827F3A28 0x400BDDD9 b323 + // inline BOOL NetworkIsFriend(Any* gamerHandle) { return _i(0x1A24A179F9B31654,gamerHandle); } // 0x1A24A179F9B31654 0x2DA4C282 b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline BOOL NetworkIsPendingFriend(Any p0) { return _i(0xBE73DA6984A6E33,p0); } // 0xBE73DA6984A6E33 0x5C85FF81 b323 - // + // inline BOOL NetworkIsAddingFriend() { return _i(0x6EA101606F6E4D81); } // 0x6EA101606F6E4D81 0xBB7EC8C4 b323 - // - inline BOOL NetworkAddFriend(Any* gamerHandle, String message) { return _i(0x8E02D73914064223,gamerHandle, message); } // 0x8E02D73914064223 0x20E5B3EE b323 - // + // + inline BOOL NetworkAddFriend(Any* gamerHandle, const char* message) { return _i(0x8E02D73914064223,gamerHandle, message); } // 0x8E02D73914064223 0x20E5B3EE b323 + // inline BOOL NetworkIsFriendIndexOnline(int friendIndex) { return _i(0xBAD8F2A42B844821,friendIndex); } // 0xBAD8F2A42B844821 0x94AE7172 b323 - // + // inline Void NetworkSetPlayerIsPassive(BOOL toggle) { return _i(0x1B857666604B1A74,toggle); } // 0x1B857666604B1A74 0x76A9FEB6 b323 - // + // inline BOOL NetworkGetPlayerOwnsWaypoint(Player player) { return _i(0x82377B65E943F72D,player); } // 0x82377B65E943F72D 0xB802B671 b323 - // + // inline BOOL NetworkCanSetWaypoint() { return _i(0xC927EC229934AF60); } // 0xC927EC229934AF60 0x009E68F3 b323 - // + // inline Void NetworkIgnoreRemoteWaypoints() { return _i(0x4C2A9FDC22377075); } // 0x4C2A9FDC22377075 b372 - // communicationType: 0 = VOICE; 1 = TEXT_CHAT; 2 = TEXT_MESSAGE; 3 = EMAIL; 4 = USER_CONTENT; 5 = USER_TEXT + // communicationType: 0 = VOICE; 1 = TEXT_CHAT; 2 = TEXT_MESSAGE; 3 = EMAIL; 4 = USER_CONTENT; 5 = USER_TEXT inline BOOL NetworkDoesCommunicationGroupExist(int communicationType) { return _i(0xDBDF80673BBA3D65,communicationType); } // 0xDBDF80673BBA3D65 b3095 - // Returns communicationGroupFlag + // Returns communicationGroupFlag // communicationType: see 0xDBDF80673BBA3D65 // // enum eCommunicationGroupFlag @@ -9526,126 +9526,126 @@ namespace NETWORK // COMMUNICATION_GROUP_INVALID = 1 << 7, // }; inline int NetworkGetCommunicationGroupFlags(int communicationType) { return _i(0x40DF02F371F40883,communicationType); } // 0x40DF02F371F40883 b3095 - // communicationType: see 0xDBDF80673BBA3D65 + // communicationType: see 0xDBDF80673BBA3D65 // communicationGroupFlag: see 0x40DF02F371F40883 inline Void NetworkSetCommunicationGroupFlags(int communicationType, int communicationGroupFlag) { return _i(0xE549F846DE7D32D5,communicationType, communicationGroupFlag); } // 0xE549F846DE7D32D5 b3095 - // + // inline BOOL NetworkIsPlayerOnBlocklist(Any* gamerHandle) { return _i(0xAD4326FCA30D62F8,gamerHandle); } // 0xAD4326FCA30D62F8 b2802 - // + // inline BOOL NetworkSetScriptAutomuted(Any p0) { return _i(0xB309EBEA797E001F,p0); } // 0xB309EBEA797E001F 0x5C0AB2A9 b323 - // + // inline BOOL NetworkHasAutomuteOverride() { return _i(0x26F07DD83A5F7F98); } // 0x26F07DD83A5F7F98 0x9A176B6E b323 - // + // inline BOOL NetworkHasHeadset() { return _i(0xE870F9F1F7B4F1FA); } // 0xE870F9F1F7B4F1FA 0xA7DC5657 b323 - // + // inline Void NetworkSetLookAtTalkers(BOOL p0) { return _i(0x7D395EA61622E116,p0); } // 0x7D395EA61622E116 0x5C05B7E1 b323 - // + // inline BOOL NetworkIsPushToTalkActive() { return _i(0xC0D2AF00BCC234CA); } // 0xC0D2AF00BCC234CA b323 - // + // inline BOOL NetworkGamerHasHeadset(Any* gamerHandle) { return _i(0xF2FD55CB574BCC55,gamerHandle); } // 0xF2FD55CB574BCC55 0xD036DA4A b323 - // + // inline BOOL NetworkIsGamerTalking(Any* gamerHandle) { return _i(0x71C33B22606CD88A,gamerHandle); } // 0x71C33B22606CD88A 0x99B58DBC b323 - // + // inline BOOL NetworkPermissionsHasGamerRecord(Any* gamerHandle) { return _i(0x559EBF901A8C68E0,gamerHandle); } // 0x559EBF901A8C68E0 b2699 - // + // inline BOOL NetworkCanCommunicateWithGamer(Any* gamerHandle) { return _i(0x8F5D1AD832AEB06C,gamerHandle); } // 0x8F5D1AD832AEB06C 0xD05EB7F6 b323 - // + // inline BOOL NetworkCanTextChatWithGamer(Any* gamerHandle) { return _i(0xA150A4F065806B1F,gamerHandle); } // 0xA150A4F065806B1F b944 - // + // inline BOOL NetworkIsGamerMutedByMe(Any* gamerHandle) { return _i(0xCE60DE011B6C7978,gamerHandle); } // 0xCE60DE011B6C7978 0x001B4046 b323 - // + // inline BOOL NetworkAmIMutedByGamer(Any* gamerHandle) { return _i(0xDF02A2C93F1F26DA,gamerHandle); } // 0xDF02A2C93F1F26DA 0x7685B333 b323 - // + // inline BOOL NetworkIsGamerBlockedByMe(Any* gamerHandle) { return _i(0xE944C4F5AF1B5883,gamerHandle); } // 0xE944C4F5AF1B5883 0x3FDCC8D7 b323 - // + // inline BOOL NetworkAmIBlockedByGamer(Any* gamerHandle) { return _i(0x15337C7C268A27B2,gamerHandle); } // 0x15337C7C268A27B2 0xD19B312C b323 - // + // inline BOOL NetworkCanViewGamerUserContent(Any* gamerHandle) { return _i(0xB57A49545BA53CE7,gamerHandle); } // 0xB57A49545BA53CE7 b323 - // + // inline BOOL NetworkHasViewGamerUserContentResult(Any* gamerHandle) { return _i(0xCCA4318E1AB03F1F,gamerHandle); } // 0xCCA4318E1AB03F1F b323 - // + // inline BOOL NetworkCanPlayMultiplayerWithGamer(Any* gamerHandle) { return _i(0x7DD29D5E22763F1,gamerHandle); } // 0x7DD29D5E22763F1 b323 - // + // inline BOOL NetworkCanGamerPlayMultiplayerWithMe(Any* gamerHandle) { return _i(0x135F9B7B7ADD2185,gamerHandle); } // 0x135F9B7B7ADD2185 b323 - // + // inline BOOL NetworkCanSendLocalInvite(Any* gamerHandle) { return _i(0x21ABCBD98EC4320,gamerHandle); } // 0x21ABCBD98EC4320 b2612 - // + // inline BOOL NetworkCanReceiveLocalInvite(Any* gamerHandle) { return _i(0x421E34C55F125964,gamerHandle); } // 0x421E34C55F125964 b2612 - // returns true if someone is screaming or talking in a microphone + // returns true if someone is screaming or talking in a microphone inline BOOL NetworkIsPlayerTalking(Player player) { return _i(0x31E11F3D447647E,player); } // 0x31E11F3D447647E 0xDA9FD9DB b323 - // + // inline BOOL NetworkPlayerHasHeadset(Player player) { return _i(0x3FB99A8B08D18FD6,player); } // 0x3FB99A8B08D18FD6 0x451FB6B6 b323 - // + // inline BOOL NetworkIsPlayerMutedByMe(Player player) { return _i(0x8C71288AE68EDE39,player); } // 0x8C71288AE68EDE39 0x7A21050E b323 - // + // inline BOOL NetworkAmIMutedByPlayer(Player player) { return _i(0x9D6981DFC91A8604,player); } // 0x9D6981DFC91A8604 0xE128F2B0 b323 - // + // inline BOOL NetworkIsPlayerBlockedByMe(Player player) { return _i(0x57AF1F8E27483721,player); } // 0x57AF1F8E27483721 0xAE4F4560 b323 - // + // inline BOOL NetworkAmIBlockedByPlayer(Player player) { return _i(0x87F395D957D4353D,player); } // 0x87F395D957D4353D 0x953EF45E b323 - // + // inline float NetworkGetPlayerLoudness(Player player) { return _i(0x21A1684A25C2867F,player); } // 0x21A1684A25C2867F 0xF2F67014 b323 - // + // inline Void NetworkSetTalkerProximity(float value) { return _i(0xCBF12D65F95AD686,value); } // 0xCBF12D65F95AD686 0x67555C66 b323 - // + // inline float NetworkGetTalkerProximity() { return _i(0x84F0F13120B4E098); } // 0x84F0F13120B4E098 0x19991ADD b323 - // + // inline Void NetworkSetVoiceActive(BOOL toggle) { return _i(0xBABEC9E69A91C57B,toggle); } // 0xBABEC9E69A91C57B 0x8011247F b323 - // + // inline Void NetworkRemainInGameChat(BOOL p0) { return _i(0xCFEB46DCD7D8D5EB,p0); } // 0xCFEB46DCD7D8D5EB 0x1A3EA6CD b323 - // + // inline Void NetworkOverrideTransitionChat(BOOL p0) { return _i(0xAF66059A131AA269,p0); } // 0xAF66059A131AA269 0xCAB21090 b323 - // + // inline Void NetworkSetTeamOnlyChat(BOOL toggle) { return _i(0xD5B4883AC32F24C3,toggle); } // 0xD5B4883AC32F24C3 0x3813019A b323 - // + // inline Void NetworkSetScriptControllingTeams(Any p0) { return _i(0x265559DA40B3F327,p0); } // 0x265559DA40B3F327 b573 - // + // inline BOOL NetworkSetSameTeamAsLocalPlayer(Any p0, Any p1) { return _i(0x4348BFDA56023A2F,p0, p1); } // 0x4348BFDA56023A2F b573 - // + // inline Void NetworkOverrideTeamRestrictions(int team, BOOL toggle) { return _i(0x6F697A66CE78674E,team, toggle); } // 0x6F697A66CE78674E 0xC8CC9E75 b323 - // + // inline Void NetworkSetOverrideSpectatorMode(BOOL toggle) { return _i(0x70DA3BF8DACD3210,toggle); } // 0x70DA3BF8DACD3210 0xA0FD42D3 b323 - // + // inline Void NetworkSetOverrideTutorialSessionChat(BOOL toggle) { return _i(0x3C5C1E2C2FF814B1,toggle); } // 0x3C5C1E2C2FF814B1 0xC9DDA85B b323 - // + // inline Void NetworkSetProximityAffectsTeam(BOOL toggle) { return _i(0x9D7AFCBF21C51712,toggle); } // 0x9D7AFCBF21C51712 0xE5219410 b323 - // + // inline Void NetworkSetNoSpectatorChat(BOOL toggle) { return _i(0xF46A1E03E8755980,toggle); } // 0xF46A1E03E8755980 0xD33AFF79 b323 - // + // inline Void NetworkSetIgnoreSpectatorChatLimitsSameTeam(BOOL toggle) { return _i(0x6A5D89D7769A40D8,toggle); } // 0x6A5D89D7769A40D8 0x4FFEFE43 b323 - // Could possibly bypass being muted or automatically muted + // Could possibly bypass being muted or automatically muted inline Void NetworkOverrideChatRestrictions(Player player, BOOL toggle) { return _i(0x3039AE5AD2C9C0C4,player, toggle); } // 0x3039AE5AD2C9C0C4 0x74EE2D8B b323 - // This is used alongside the native, + // This is used alongside the native, // 'NetworkOverrideReceiveRestrictions'. Read its description for more info. inline Void NetworkOverrideSendRestrictions(Player player, BOOL toggle) { return _i(0x97DD4C5944CC2E6A,player, toggle); } // 0x97DD4C5944CC2E6A 0x6C344AE3 b323 - // + // inline Void NetworkOverrideSendRestrictionsAll(BOOL toggle) { return _i(0x57B192B4D4AD23D5,toggle); } // 0x57B192B4D4AD23D5 0x2F98B405 b323 - // R* uses this to hear all player when spectating. + // 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 inline Void NetworkOverrideReceiveRestrictions(Player player, BOOL toggle) { return _i(0xDDF73E2B1FEC5AB4,player, toggle); } // 0xDDF73E2B1FEC5AB4 0x95F1C60D b323 - // p0 is always false in scripts. + // p0 is always false in scripts. inline Void NetworkOverrideReceiveRestrictionsAll(BOOL toggle) { return _i(0xFF2862B61A58AF9,toggle); } // 0xFF2862B61A58AF9 0x1BCD3DDF b323 - // + // inline Void NetworkSetVoiceChannel(int channel) { return _i(0xEF6212C2EFEF1A23,channel); } // 0xEF6212C2EFEF1A23 0x3974879F b323 - // + // inline Void NetworkClearVoiceChannel() { return _i(0xE036A705F989E049); } // 0xE036A705F989E049 0x9ECF722A b323 - // + // inline Void NetworkApplyVoiceProximityOverride(float x, float y, float z) { return _i(0xDBD2056652689917,x, y, z); } // 0xDBD2056652689917 0xF1E84832 b323 - // + // inline Void NetworkClearVoiceProximityOverride() { return _i(0xF03755696450470C); } // 0xF03755696450470C 0x7F9B9052 b323 - // + // inline Void NetworkEnableVoiceBandwidthRestriction(Player player) { return _i(0x5E3AA4CA2B6FB0EE,player); } // 0x5E3AA4CA2B6FB0EE 0x7BBEA8CF b323 - // + // inline Void NetworkDisableVoiceBandwidthRestriction(Player player) { return _i(0xCA575C391FEA25CC,player); } // 0xCA575C391FEA25CC 0xE797A4B6 b323 - // NETWORK_GET_M[A-U] + // NETWORK_GET_M[A-U] inline Void NetworkGetMuteCountForPlayer(Player p0, float* p1, float* p2) { return _i(0xADB57E5B663CCA8B,p0, p1, p2); } // 0xADB57E5B663CCA8B 0x92268BB5 b323 - // + // inline Void NetworkSetSpectatorToNonSpectatorTextChat(BOOL toggle) { return _i(0x8EF52ACAECC51D9C,toggle); } // 0x8EF52ACAECC51D9C b1734 - // Same as _IS_TEXT_CHAT_ACTIVE, except it does not check if the text chat HUD component is initialized, and therefore may crash. + // Same as _IS_TEXT_CHAT_ACTIVE, except it does not check if the text chat HUD component is initialized, and therefore may crash. inline BOOL NetworkTextChatIsTyping() { return _i(0x5FCF4D7069B09026); } // 0x5FCF4D7069B09026 b323 - // Starts a new singleplayer game (at the prologue). + // Starts a new singleplayer game (at the prologue). inline Void ShutdownAndLaunchSinglePlayerGame() { return _i(0x593850C16A36B692); } // 0x593850C16A36B692 0x92B7351C b323 - // In singleplayer this will re-load your game. + // 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. // @@ -9653,29 +9653,29 @@ namespace NETWORK // // Somewhat related note: opening the pause menu after loading into this 'singleplayer' mode crashes the game. inline BOOL ShutdownAndLoadMostRecentSave() { return _i(0x9ECA15ADFE141431); } // 0x9ECA15ADFE141431 b505 - // + // inline Void NetworkSetFriendlyFireOption(BOOL toggle) { return _i(0xF808475FA571D823,toggle); } // 0xF808475FA571D823 0x6BAF95FA b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void NetworkSetRichPresence(int p0, int p1, Any p2, Any p3) { return _i(0x1DCCACDCFC569362,p0, p1, p2, p3); } // 0x1DCCACDCFC569362 0x932A6CED b323 - // This native does absolutely nothing, just a nullsub - inline Void NetworkSetRichPresenceString(int p0, String textLabel) { return _i(0x3E200C2BCF4164EB,p0, textLabel); } // 0x3E200C2BCF4164EB 0x017E6777 b323 - // + // This native does absolutely nothing, just a nullsub + inline Void NetworkSetRichPresenceString(int p0, const char* textLabel) { return _i(0x3E200C2BCF4164EB,p0, textLabel); } // 0x3E200C2BCF4164EB 0x017E6777 b323 + // inline int NetworkGetTimeoutTime() { return _i(0x5ED0356A0CE3A34F); } // 0x5ED0356A0CE3A34F 0xE1F86C6A b323 - // p4 and p5 are always 0 in scripts + // p4 and p5 are always 0 in scripts inline Void NetworkLeavePedBehindBeforeWarp(Player player, float x, float y, float z, BOOL p4, BOOL p5) { return _i(0x9769F811D1785B03,player, x, y, z, p4, p5); } // 0x9769F811D1785B03 0xBE6A30C3 b323 - // + // inline Void NetworkLeavePedBehindBeforeCutscene(Player player, BOOL p1) { return _i(0xBF22E0F32968E967,player, p1); } // 0xBF22E0F32968E967 0x22E03AD0 b323 - // entity must be a valid entity; ped can be NULL + // entity must be a valid entity; ped can be NULL inline Void RemoveAllStickyBombsFromEntity(Entity entity, Ped ped) { return _i(0x715135F4B82AC90D,entity, ped); } // 0x715135F4B82AC90D 0xCEAE5AFC b323 - // + // inline Void NetworkKeepEntityCollisionDisabledAfterAnimScene(Any p0, Any p1) { return _i(0x17C9E241111A674D,p0, p1); } // 0x17C9E241111A674D b2060 - // + // inline BOOL NetworkIsAnyPlayerNear(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6) { return _i(0x2E4C123D1C8A710E,p0, p1, p2, p3, p4, p5, p6); } // 0x2E4C123D1C8A710E b505 - // + // inline BOOL NetworkClanServiceIsValid() { return _i(0x579CCED0265D4896); } // 0x579CCED0265D4896 0xF5F4BD95 b323 - // + // inline BOOL NetworkClanPlayerIsActive(Any* gamerHandle) { return _i(0xB124B57F571D8F18,gamerHandle); } // 0xB124B57F571D8F18 0xAB8319A3 b323 - // bufferSize is 35 in the scripts. + // 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::NetworkHandleFromPlayer. And no, I can't explain why 35 * sizeof(int) == 280 and not 140, but I'll get back to you on that. // @@ -9683,71 +9683,71 @@ namespace NETWORK // // https://pastebin.com/cSZniHak inline BOOL NetworkClanPlayerGetDesc(Any* clanDesc, int bufferSize, Any* gamerHandle) { return _i(0xEEE6EACBE8874FBA,clanDesc, bufferSize, gamerHandle); } // 0xEEE6EACBE8874FBA 0x6EE4A282 b323 - // bufferSize is 35 in the scripts. + // bufferSize is 35 in the scripts. inline BOOL NetworkClanIsRockstarClan(Any* clanDesc, int bufferSize) { return _i(0x7543BB439F63792B,clanDesc, bufferSize); } // 0x7543BB439F63792B 0x54E79E9C b323 - // bufferSize is 35 in the scripts. + // bufferSize is 35 in the scripts. inline Void NetworkClanGetUiFormattedTag(Any* clanDesc, int bufferSize, char* formattedTag) { return _i(0xF45352426FF3A4F0,clanDesc, bufferSize, formattedTag); } // 0xF45352426FF3A4F0 0xF633805A b323 - // + // inline int NetworkClanGetLocalMembershipsCount() { return _i(0x1F471B79ACC90BEF); } // 0x1F471B79ACC90BEF 0x807B3450 b323 - // + // inline BOOL NetworkClanGetMembershipDesc(Any* memberDesc, int p1) { return _i(0x48DE78AF2C8885B8,memberDesc, p1); } // 0x48DE78AF2C8885B8 0x3369DD1F b323 - // + // inline BOOL NetworkClanDownloadMembership(Any* gamerHandle) { return _i(0xA989044E70010ABE,gamerHandle); } // 0xA989044E70010ABE 0x8E8CB520 b323 - // + // inline BOOL NetworkClanDownloadMembershipPending(Any* p0) { return _i(0x5B9E023DC6EBEDC0,p0); } // 0x5B9E023DC6EBEDC0 0x1FDB590F b323 - // + // inline BOOL NetworkClanAnyDownloadMembershipPending() { return _i(0xB3F64A6A91432477); } // 0xB3F64A6A91432477 0x83ED8E08 b323 - // + // inline BOOL NetworkClanRemoteMembershipsAreInCache(int* p0) { return _i(0xBB6E6FEE99D866B2,p0); } // 0xBB6E6FEE99D866B2 0x40202867 b323 - // + // inline int NetworkClanGetMembershipCount(int* p0) { return _i(0xAAB11F6C4ADBC2C1,p0); } // 0xAAB11F6C4ADBC2C1 0x25924010 b323 - // + // inline BOOL NetworkClanGetMembershipValid(int* p0, Any p1) { return _i(0x48A59CF88D43DF0E,p0, p1); } // 0x48A59CF88D43DF0E 0x48914F6A b323 - // + // inline BOOL NetworkClanGetMembership(int* p0, Any* clanMembership, int p2) { return _i(0xC8BC2011F67B3411,p0, clanMembership, p2); } // 0xC8BC2011F67B3411 0xCDC4A590 b323 - // + // inline BOOL NetworkClanJoin(int clanDesc) { return _i(0x9FAAA4F4FC71F87F,clanDesc); } // 0x9FAAA4F4FC71F87F 0x79C916C5 b323 - // Only documented... + // Only documented... // // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline BOOL NetworkClanCrewinfoGetStringValue(String animDict, String animName) { return _i(0x729E3401F0430686,animDict, animName); } // 0x729E3401F0430686 0xBDA90BAC b323 - // - inline BOOL NetworkClanCrewinfoGetCrewranktitle(int p0, String p1) { return _i(0x2B51EDBEFC301339,p0, p1); } // 0x2B51EDBEFC301339 0x8E952B12 b323 - // + inline BOOL NetworkClanCrewinfoGetStringValue(const char* animDict, const char* animName) { return _i(0x729E3401F0430686,animDict, animName); } // 0x729E3401F0430686 0xBDA90BAC b323 + // + inline BOOL NetworkClanCrewinfoGetCrewranktitle(int p0, const char* p1) { return _i(0x2B51EDBEFC301339,p0, p1); } // 0x2B51EDBEFC301339 0x8E952B12 b323 + // inline BOOL NetworkClanHasCrewinfoMetadataBeenReceived() { return _i(0xC32EA7A2F6CA7557); } // 0xC32EA7A2F6CA7557 0x966C90FD b323 - // + // inline BOOL NetworkClanGetEmblemTxdName(Any* netHandle, char* txdName) { return _i(0x5835D9CD92E83184,netHandle, txdName); } // 0x5835D9CD92E83184 0xBA672146 b323 - // + // inline BOOL NetworkClanRequestEmblem(Any p0) { return _i(0x13518FF1C6B28938,p0); } // 0x13518FF1C6B28938 0x7963FA4D b323 - // + // inline BOOL NetworkClanIsEmblemReady(Any p0, Any* p1) { return _i(0xA134777FF7F33331,p0, p1); } // 0xA134777FF7F33331 0x88B13CDC b323 - // + // inline Void NetworkClanReleaseEmblem(Any p0) { return _i(0x113E6E3E50E286B0,p0); } // 0x113E6E3E50E286B0 0xD6E3D5EA b323 - // + // inline BOOL NetworkGetPrimaryClanDataClear() { return _i(0x9AA46BADAD0E27ED); } // 0x9AA46BADAD0E27ED 0xE22445DA b323 - // + // inline Void NetworkGetPrimaryClanDataCancel() { return _i(0x42E4B70B93E6054); } // 0x42E4B70B93E6054 0x455DDF5C b323 - // + // inline BOOL NetworkGetPrimaryClanDataStart(Any* p0, Any p1) { return _i(0xCE86D8191B762107,p0, p1); } // 0xCE86D8191B762107 0x89DB0EC7 b323 - // + // inline BOOL NetworkGetPrimaryClanDataPending() { return _i(0xB5074DB804E28CE7); } // 0xB5074DB804E28CE7 0xA4EF02F3 b323 - // + // inline BOOL NetworkGetPrimaryClanDataSuccess() { return _i(0x5B4F04F19376A0BA); } // 0x5B4F04F19376A0BA 0x068A054E b323 - // + // inline BOOL NetworkGetPrimaryClanDataNew(Any* p0, Any* p1) { return _i(0xC080FF658B2E41DA,p0, p1); } // 0xC080FF658B2E41DA 0x9B8631EB b323 - // Whether or not another player is allowed to take control of the entity + // Whether or not another player is allowed to take control of the entity inline Void SetNetworkIdCanMigrate(int netId, BOOL toggle) { return _i(0x299EEB23175895FC,netId, toggle); } // 0x299EEB23175895FC 0x47C8E5FF b323 - // + // inline Void SetNetworkIdExistsOnAllMachines(int netId, BOOL toggle) { return _i(0xE05E81A888FA63C8,netId, toggle); } // 0xE05E81A888FA63C8 0x68D486B2 b323 - // + // inline Void SetNetworkIdAlwaysExistsForPlayer(int netId, Player player, BOOL toggle) { return _i(0xA8A024587329F36A,netId, player, toggle); } // 0xA8A024587329F36A 0x4D15FDB1 b323 - // "No Reassign" in CPhysicalScriptGameStateDataNode + // "No Reassign" in CPhysicalScriptGameStateDataNode inline Void SetNetworkIdCanBeReassigned(int netId, BOOL toggle) { return _i(0x9D724B400A7E8FFC,netId, toggle); } // 0x9D724B400A7E8FFC b2189 - // + // inline Void NetworkSetEntityCanBlend(Entity entity, BOOL toggle) { return _i(0xD830567D88A1E873,entity, toggle); } // 0xD830567D88A1E873 0xDE8C0DB8 b323 - // + // inline Void NetworkSetObjectCanBlendWhenFixed(Object object, BOOL toggle) { return _i(0x379DAF89BA09AA5,object, toggle); } // 0x379DAF89BA09AA5 b944 - // if set to true other network players can't see it + // 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 GetEntityPlayerIsFreeAimingAt and setting this naive no matter the toggle he could still see it. @@ -9756,145 +9756,145 @@ namespace NETWORK // // ^^ last-gen inline Void NetworkSetEntityOnlyExistsForParticipants(Entity entity, BOOL toggle) { return _i(0xF1CA12B18AEF5298,entity, toggle); } // 0xF1CA12B18AEF5298 0x09CBC4B0 b323 - // + // inline Void SetNetworkIdVisibleInCutscene(int netId, BOOL p1, BOOL p2) { return _i(0xA6928482543022B4,netId, p1, p2); } // 0xA6928482543022B4 0x199E75EF b323 - // + // inline Void SetNetworkIdVisibleInCutsceneHack(int netId, BOOL p1, BOOL p2) { return _i(0x32EBD154CB6B8B99,netId, p1, p2); } // 0x32EBD154CB6B8B99 b505 - // + // inline Void SetNetworkIdVisibleInCutsceneRemainHack(Any p0, Any p1, Any p2) { return _i(0x76B3F29D3F967692,p0, p1, p2); } // 0x76B3F29D3F967692 b2189 - // + // inline Void SetNetworkCutsceneEntities(BOOL toggle) { return _i(0xAAA553E7DD28A457,toggle); } // 0xAAA553E7DD28A457 0xFD0F7EDD b323 - // Getter for SetNetworkCutsceneEntities. + // Getter for SetNetworkCutsceneEntities. inline BOOL AreCutsceneEntitiesNetworked() { return _i(0x66D6A5E9C511214A); } // 0x66D6A5E9C511214A b2699 - // + // inline Void SetNetworkIdPassControlInTutorial(int netId, BOOL state) { return _i(0x3FA36981311FA4FF,netId, state); } // 0x3FA36981311FA4FF 0x00AE4E17 b323 - // + // inline BOOL IsNetworkIdOwnedByParticipant(int netId) { return _i(0xA1607996431332DF,netId); } // 0xA1607996431332DF 0xEA5176C0 b323 - // + // inline Void SetRemotePlayerVisibleInCutscene(Player player, BOOL locallyVisible) { return _i(0x96320E6549DAE7B4,player, locallyVisible); } // 0x96320E6549DAE7B4 b2802 - // + // inline Void SetLocalPlayerVisibleInCutscene(BOOL p0, BOOL p1) { return _i(0xD1065D68947E7B6E,p0, p1); } // 0xD1065D68947E7B6E 0x59F3479B b323 - // + // inline Void SetLocalPlayerInvisibleLocally(BOOL bIncludePlayersVehicle) { return _i(0xE5F773C1A1D9D168,bIncludePlayersVehicle); } // 0xE5F773C1A1D9D168 0x764F6222 b323 - // + // inline Void SetLocalPlayerVisibleLocally(BOOL bIncludePlayersVehicle) { return _i(0x7619364C82D3BF14,bIncludePlayersVehicle); } // 0x7619364C82D3BF14 0x324B56DB b323 - // + // inline Void SetPlayerInvisibleLocally(Player player, BOOL bIncludePlayersVehicle) { return _i(0x12B37D54667DB0B8,player, bIncludePlayersVehicle); } // 0x12B37D54667DB0B8 0x18227209 b323 - // + // inline Void SetPlayerVisibleLocally(Player player, BOOL bIncludePlayersVehicle) { return _i(0xFAA10F1FAFB11AF2,player, bIncludePlayersVehicle); } // 0xFAA10F1FAFB11AF2 0xBA2BB4B4 b323 - // Hardcoded to not work in SP. + // Hardcoded to not work in SP. inline Void FadeOutLocalPlayer(BOOL p0) { return _i(0x416DBD4CD6ED8DD2,p0); } // 0x416DBD4CD6ED8DD2 0x8FA7CEBD b323 - // normal - transition like when your coming out of LSC + // normal - transition like when your coming out of LSC // slow - transition like when you walk into a mission // inline Void NetworkFadeOutEntity(Entity entity, BOOL normal, BOOL slow) { return _i(0xDE564951F95E09ED,entity, normal, slow); } // 0xDE564951F95E09ED 0x47EDEE56 b323 - // state - 0 does 5 fades + // state - 0 does 5 fades // state - 1 does 6 fades // // p3: setting to 1 made vehicle fade in slower, probably "slow" as per NetworkFadeOutEntity inline Void NetworkFadeInEntity(Entity entity, BOOL state, Any p2) { return _i(0x1F4ED342ACEFE62D,entity, state, p2); } // 0x1F4ED342ACEFE62D 0x9B9FCD02 b323 - // + // inline BOOL NetworkIsPlayerFading(Player player) { return _i(0x631DC5DFF4B110E3,player); } // 0x631DC5DFF4B110E3 0x065C597B b323 - // + // inline BOOL NetworkIsEntityFading(Entity entity) { return _i(0x422F32CC7E56ABAD,entity); } // 0x422F32CC7E56ABAD 0xB5087ACF b323 - // + // inline BOOL IsPlayerInCutscene(Player player) { return _i(0xE73092F4157CD126,player); } // 0xE73092F4157CD126 0xE0A619BD b323 - // + // inline Void SetEntityVisibleInCutscene(Any p0, BOOL p1, BOOL p2) { return _i(0xE0031D3C8F36AB82,p0, p1, p2); } // 0xE0031D3C8F36AB82 0xDBFB067B b323 - // Makes the provided entity visible for yourself for the current frame. + // Makes the provided entity visible for yourself for the current frame. inline Void SetEntityLocallyInvisible(Entity entity) { return _i(0xE135A9FF3F5D05D8,entity); } // 0xE135A9FF3F5D05D8 0x51ADCC5F b323 - // + // inline Void SetEntityLocallyVisible(Entity entity) { return _i(0x241E289B5C059EDC,entity); } // 0x241E289B5C059EDC 0x235A57B3 b323 - // + // inline BOOL IsDamageTrackerActiveOnNetworkId(int netID) { return _i(0x6E192E33AD436366,netID); } // 0x6E192E33AD436366 0x597063BA b323 - // + // inline Void ActivateDamageTrackerOnNetworkId(int netID, BOOL toggle) { return _i(0xD45B1FFCCD52FF19,netID, toggle); } // 0xD45B1FFCCD52FF19 0x95D07BA5 b323 - // + // inline BOOL IsDamageTrackerActiveOnPlayer(Player player) { return _i(0xB2092A1EAA7FD45F,player); } // 0xB2092A1EAA7FD45F b757 - // + // inline Void ActivateDamageTrackerOnPlayer(Player player, BOOL toggle) { return _i(0xBEC0816FF5ACBCDA,player, toggle); } // 0xBEC0816FF5ACBCDA b757 - // + // inline BOOL IsSphereVisibleToAnotherMachine(float p0, float p1, float p2, float p3) { return _i(0xD82CF8E64C8729D8,p0, p1, p2, p3); } // 0xD82CF8E64C8729D8 0x23C5274E b323 - // + // inline BOOL IsSphereVisibleToPlayer(Any p0, float p1, float p2, float p3, float p4) { return _i(0xDC3A310219E5DA62,p0, p1, p2, p3, p4); } // 0xDC3A310219E5DA62 0xE9FCFB32 b323 - // + // inline Void ReserveNetworkMissionObjects(int amount) { return _i(0x4E5C93BD0C32FBF8,amount); } // 0x4E5C93BD0C32FBF8 0x391DF4F3 b323 - // + // inline Void ReserveNetworkMissionPeds(int amount) { return _i(0xB60FEBA45333D36F,amount); } // 0xB60FEBA45333D36F 0x54998C37 b323 - // + // inline Void ReserveNetworkMissionVehicles(int amount) { return _i(0x76B02E21ED27A469,amount); } // 0x76B02E21ED27A469 0x5062875E b323 - // + // inline Void ReserveLocalNetworkMissionObjects(int amount) { return _i(0x797F9C5E661D920E,amount); } // 0x797F9C5E661D920E b1290 - // + // inline Void ReserveLocalNetworkMissionPeds(int amount) { return _i(0x2C8DF5D129595281,amount); } // 0x2C8DF5D129595281 b1493 - // + // inline Void ReserveLocalNetworkMissionVehicles(int amount) { return _i(0x42613035157E4208,amount); } // 0x42613035157E4208 b1103 - // + // inline BOOL CanRegisterMissionObjects(int amount) { return _i(0x800DD4721A8B008B,amount); } // 0x800DD4721A8B008B 0x7F85DFDE b323 - // + // inline BOOL CanRegisterMissionPeds(int amount) { return _i(0xBCBF4FEF9FA5D781,amount); } // 0xBCBF4FEF9FA5D781 0xCCAA5CE9 b323 - // + // inline BOOL CanRegisterMissionVehicles(int amount) { return _i(0x7277F1F2E085EE74,amount); } // 0x7277F1F2E085EE74 0x818B6830 b323 - // + // inline BOOL CanRegisterMissionPickups(int amount) { return _i(0xA49D1CB6E34AF72,amount); } // 0xA49D1CB6E34AF72 b757 - // + // inline BOOL CanRegisterMissionDoors(Any p0) { return _i(0xE16AA70CE9BEEDC3,p0); } // 0xE16AA70CE9BEEDC3 b877 - // + // inline BOOL CanRegisterMissionEntities(int ped_amt, int vehicle_amt, int object_amt, int pickup_amt) { return _i(0x69778E7564BADE6D,ped_amt, vehicle_amt, object_amt, pickup_amt); } // 0x69778E7564BADE6D 0x83794008 b323 - // p0 appears to be for MP + // p0 appears to be for MP inline int GetNumReservedMissionObjects(BOOL p0, Any p1) { return _i(0xAA81B5F10BC43AC2,p0, p1); } // 0xAA81B5F10BC43AC2 0x16A80CD6 b323 - // p0 appears to be for MP + // p0 appears to be for MP inline int GetNumReservedMissionPeds(BOOL p0, Any p1) { return _i(0x1F13D5AE5CB17E17,p0, p1); } // 0x1F13D5AE5CB17E17 0x6C25975C b323 - // p0 appears to be for MP + // p0 appears to be for MP inline int GetNumReservedMissionVehicles(BOOL p0, Any p1) { return _i(0xCF3A965906452031,p0, p1); } // 0xCF3A965906452031 0xA9A308F3 b323 - // + // inline int GetNumCreatedMissionObjects(BOOL p0) { return _i(0x12B6281B6C6706C0,p0); } // 0x12B6281B6C6706C0 0x603FA104 b323 - // + // inline int GetNumCreatedMissionPeds(BOOL p0) { return _i(0xCB215C4B56A7FAE7,p0); } // 0xCB215C4B56A7FAE7 0xD8FEC4F8 b323 - // + // inline int GetNumCreatedMissionVehicles(BOOL p0) { return _i(0xCD9AB83489430EA,p0); } // 0xCD9AB83489430EA 0x20527695 b323 - // + // inline Void GetReservedMissionEntitiesInArea(float x, float y, float z, Any p3, Any* out1, Any* out2, Any* out3) { return _i(0xE42D626EEC94E5D9,x, y, z, p3, out1, out2, out3); } // 0xE42D626EEC94E5D9 b1290 - // + // inline int GetMaxNumNetworkObjects() { return _i(0xC7BE335216B5EC7C); } // 0xC7BE335216B5EC7C 0x8687E285 b323 - // + // inline int GetMaxNumNetworkPeds() { return _i(0xC1F7D49C39D2289); } // 0xC1F7D49C39D2289 0x744AC008 b323 - // + // inline int GetMaxNumNetworkVehicles() { return _i(0xAFCE529F69B21FF); } // 0xAFCE529F69B21FF 0xC3A12135 b323 - // + // inline int GetMaxNumNetworkPickups() { return _i(0xA72835064DD63E4C); } // 0xA72835064DD63E4C 0x6A036061 b323 - // + // inline Void NetworkSetObjectScopeDistance(Object object, float range) { return _i(0xBA7F0B77D80A4EB7,object, range); } // 0xBA7F0B77D80A4EB7 b372 - // + // inline Void NetworkAllowCloningWhileInTutorial(Any p0, Any p1) { return _i(0xF1A4B45B7693B95,p0, p1); } // 0xF1A4B45B7693B95 b2189 - // A value between 1.0 and 5.0 + // A value between 1.0 and 5.0 // // _NETWORK_SET_TASK_CUTSCENE_PROXIMITY_SCALE? inline Void NetworkSetTaskCutsceneInscopeMultipler(Any p0) { return _i(0xC6FCEE21C6FCEE21,p0); } // 0xC6FCEE21C6FCEE21 b2545 - // + // inline int GetNetworkTime() { return _i(0x7A5487FE9FAA6B48); } // 0x7A5487FE9FAA6B48 0x998103C2 b323 - // Returns the same value as GetNetworkTime in freemode, but as opposed to `GetNetworkTime` it always gets the most recent time, instead of once per tick. + // Returns the same value as GetNetworkTime in freemode, but as opposed to `GetNetworkTime` it always gets the most recent time, instead of once per tick. // Could be used for benchmarking since it can return times in ticks. inline int GetNetworkTimeAccurate() { return _i(0x89023FBBF9200E9F); } // 0x89023FBBF9200E9F 0x98AA48E5 b323 - // + // inline BOOL HasNetworkTimeStarted() { return _i(0x46718ACEEDEAFC84); } // 0x46718ACEEDEAFC84 0x4538C4A2 b323 - // Adds the first argument to the second. + // Adds the first argument to the second. inline int GetTimeOffset(int timeA, int timeB) { return _i(0x17008CCDAD48503,timeA, timeB); } // 0x17008CCDAD48503 0x2E079AE6 b323 - // Subtracts the second argument from the first, then returns whether the result is negative. + // Subtracts the second argument from the first, then returns whether the result is negative. inline BOOL IsTimeLessThan(int timeA, int timeB) { return _i(0xCB2CF5148012C8D0,timeA, timeB); } // 0xCB2CF5148012C8D0 0x50EF8FC6 b323 - // Subtracts the first argument from the second, then returns whether the result is negative. + // Subtracts the first argument from the second, then returns whether the result is negative. inline BOOL IsTimeMoreThan(int timeA, int timeB) { return _i(0xDE350F8651E4346C,timeA, timeB); } // 0xDE350F8651E4346C 0xBBB6DF61 b323 - // Returns true if the two times are equal; otherwise returns false. + // Returns true if the two times are equal; otherwise returns false. inline BOOL IsTimeEqualTo(int timeA, int timeB) { return _i(0xF5BC95857BD6D512,timeA, timeB); } // 0xF5BC95857BD6D512 0x8B4D1C06 b323 - // Subtracts the second argument from the first. + // Subtracts the second argument from the first. inline int GetTimeDifference(int timeA, int timeB) { return _i(0xA2C6FC031D46FFF0,timeA, timeB); } // 0xA2C6FC031D46FFF0 0x5666A837 b323 - // - inline String GetTimeAsString(int time) { return _i(0x9E23B1777A927DAD,time); } // 0x9E23B1777A927DAD 0x8218944E b323 - // Same as GetCloudTimeAsInt but returns the value as a hex string (%I64X). - inline String GetCloudTimeAsString() { return _i(0xF12E6CD06C73D69E); } // 0xF12E6CD06C73D69E b1103 - // Returns POSIX timestamp, an int representing the cloud time. + // + inline const char* GetTimeAsString(int time) { return _i(0x9E23B1777A927DAD,time); } // 0x9E23B1777A927DAD 0x8218944E b323 + // Same as GetCloudTimeAsInt but returns the value as a hex string (%I64X). + inline const char* GetCloudTimeAsString() { return _i(0xF12E6CD06C73D69E); } // 0xF12E6CD06C73D69E b1103 + // Returns POSIX timestamp, an int representing the cloud time. inline int GetCloudTimeAsInt() { return _i(0x9A73240B49945C76); } // 0x9A73240B49945C76 0xF2FDF2E0 b323 - // Takes the specified time and writes it to the structure specified in the second argument. + // Takes the specified time and writes it to the structure specified in the second argument. // // struct date_time // { @@ -9912,190 +9912,190 @@ namespace NETWORK // int PADDING6; // }; inline Void ConvertPosixTime(int posixTime, Any* timeStructure) { return _i(0xAC97AF97FA68E5D5,posixTime, timeStructure); } // 0xAC97AF97FA68E5D5 0xBB7CCE49 b323 - // + // inline Void NetworkSetInSpectatorMode(BOOL toggle, Ped playerPed) { return _i(0x423DE3854BB50894,toggle, playerPed); } // 0x423DE3854BB50894 0x5C4C8458 b323 - // + // inline Void NetworkSetInSpectatorModeExtended(BOOL toggle, Ped playerPed, BOOL p2) { return _i(0x419594E137637120,toggle, playerPed, p2); } // 0x419594E137637120 0x54058F5F b323 - // + // inline Void NetworkSetInFreeCamMode(BOOL toggle) { return _i(0xFC18DB55AE19E046,toggle); } // 0xFC18DB55AE19E046 0xA7E36020 b323 - // + // inline Void NetworkSetAntagonisticToPlayer(BOOL toggle, Player player) { return _i(0x5C707A667DF8B9FA,toggle, player); } // 0x5C707A667DF8B9FA 0x64235620 b323 - // + // inline BOOL NetworkIsInSpectatorMode() { return _i(0x48746E388762E11); } // 0x48746E388762E11 0x3EAD9DB8 b323 - // + // inline Void NetworkSetInMpCutscene(BOOL p0, BOOL p1) { return _i(0x9CA5DE655269FEC4,p0, p1); } // 0x9CA5DE655269FEC4 0x8434CB43 b323 - // + // inline BOOL NetworkIsInMpCutscene() { return _i(0x6CC27C9FA2040220); } // 0x6CC27C9FA2040220 0x4BB33316 b323 - // + // inline BOOL NetworkIsPlayerInMpCutscene(Player player) { return _i(0x63F9EE203C3619F2,player); } // 0x63F9EE203C3619F2 0x56F961E4 b323 - // + // inline Void NetworkHideProjectileInCutscene() { return _i(0xFAC18E7356BD3210); } // 0xFAC18E7356BD3210 b1180 - // + // inline Void SetNetworkVehicleRespotTimer(int netId, int time, Any p2, Any p3) { return _i(0xEC51713AB6EC36E8,netId, time, p2, p3); } // 0xEC51713AB6EC36E8 0x2C30912D b323 - // + // inline BOOL IsNetworkVehicleRunningRespotTimer(int networkID) { return _i(0xDD7CEF5B3A4DA8A6,networkID); } // 0xDD7CEF5B3A4DA8A6 b2802 - // + // inline Void SetNetworkVehicleAsGhost(Vehicle vehicle, BOOL toggle) { return _i(0x6274C4712850841E,vehicle, toggle); } // 0x6274C4712850841E 0xEA235081 b323 - // rage::netBlenderLinInterp::GetPositionMaxForUpdateLevel + // rage::netBlenderLinInterp::GetPositionMaxForUpdateLevel inline Void SetNetworkVehicleMaxPositionDeltaMultiplier(Vehicle vehicle, float multiplier) { return _i(0xA2A707979FE754DC,vehicle, multiplier); } // 0xA2A707979FE754DC b877 - // Enables a periodic ShapeTest within the NetBlender and invokes rage::netBlenderLinInterp::GoStraightToTarget (or some functional wrapper). + // Enables a periodic ShapeTest within the NetBlender and invokes rage::netBlenderLinInterp::GoStraightToTarget (or some functional wrapper). inline Void SetNetworkEnableHighSpeedEdgeFallDetection(Vehicle vehicle, BOOL toggle) { return _i(0x838DA0936A24ED4D,vehicle, toggle); } // 0x838DA0936A24ED4D b944 - // + // inline Void SetLocalPlayerAsGhost(BOOL toggle, BOOL p1) { return _i(0x5FFE9B4144F9712F,toggle, p1); } // 0x5FFE9B4144F9712F b323 - // + // inline BOOL IsEntityAGhost(Entity entity) { return _i(0x21D04D7BC538C146,entity); } // 0x21D04D7BC538C146 b323 - // + // inline Void SetNonParticipantsOfThisScriptAsGhosts(BOOL p0) { return _i(0x13F1FCB111B820B0,p0); } // 0x13F1FCB111B820B0 b877 - // Enables ghosting between specific players + // Enables ghosting between specific players inline Void SetRemotePlayerAsGhost(Player player, BOOL p1) { return _i(0xA7C511FA1C5BDA38,player, p1); } // 0xA7C511FA1C5BDA38 b463 - // Must be a value between 1 and 254 + // Must be a value between 1 and 254 inline Void SetGhostAlpha(int alpha) { return _i(0x658500AE6D723A7E,alpha); } // 0x658500AE6D723A7E b791 - // Resets the entity ghost alpha to the default value (128) + // Resets the entity ghost alpha to the default value (128) inline Void ResetGhostAlpha() { return _i(0x17330EBF2F2124A8); } // 0x17330EBF2F2124A8 b791 - // + // inline Void SetEntityGhostedForGhostPlayers(Entity entity, BOOL toggle) { return _i(0x4BA166079D658ED4,entity, toggle); } // 0x4BA166079D658ED4 b944 - // + // inline Void SetInvertGhosting(BOOL p0) { return _i(0xD7B6C73CAD419BCF,p0); } // 0xD7B6C73CAD419BCF b944 - // + // inline BOOL IsEntityInGhostCollision(Entity entity) { return _i(0x7EF7649B64D7FF10,entity); } // 0x7EF7649B64D7FF10 b944 - // + // inline Void UsePlayerColourInsteadOfTeamColour(BOOL toggle) { return _i(0x77758139EC9B66C7,toggle); } // 0x77758139EC9B66C7 0x4DD46DAE b323 - // + // inline int NetworkCreateSynchronisedScene(float x, float y, float z, float xRot, float yRot, float zRot, int rotationOrder, BOOL useOcclusionPortal, BOOL looped, float p9, float animTime, float p11) { return _i(0x7CD6BC4C2BBDD526,x, y, z, xRot, yRot, zRot, rotationOrder, useOcclusionPortal, looped, p9, animTime, p11); } // 0x7CD6BC4C2BBDD526 0xB06FE3FE b323 - // - inline Void NetworkAddPedToSynchronisedScene(Ped ped, int netScene, String animDict, String animnName, float speed, float speedMultiplier, int duration, int flag, float playbackRate, Any p9) { return _i(0x742A637471BCECD9,ped, netScene, animDict, animnName, speed, speedMultiplier, duration, flag, playbackRate, p9); } // 0x742A637471BCECD9 0xB386713E b323 - // + // + inline Void NetworkAddPedToSynchronisedScene(Ped ped, int netScene, const char* animDict, const char* animnName, float speed, float speedMultiplier, int duration, int flag, float playbackRate, Any p9) { return _i(0x742A637471BCECD9,ped, netScene, animDict, animnName, speed, speedMultiplier, duration, flag, playbackRate, p9); } // 0x742A637471BCECD9 0xB386713E b323 + // inline Void NetworkAddPedToSynchronisedSceneWithIk(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6, Any p7, Any p8, Any p9) { return _i(0xA5EAFE473E45C442,p0, p1, p2, p3, p4, p5, p6, p7, p8, p9); } // 0xA5EAFE473E45C442 b1290 - // - inline Void NetworkAddEntityToSynchronisedScene(Entity entity, int netScene, String animDict, String animName, float speed, float speedMulitiplier, int flag) { return _i(0xF2404D68CBC855FA,entity, netScene, animDict, animName, speed, speedMulitiplier, flag); } // 0xF2404D68CBC855FA 0x10DD636C b323 - // Similar structure as NetworkAddEntityToSynchronisedScene but it includes this time a hash. + // + inline Void NetworkAddEntityToSynchronisedScene(Entity entity, int netScene, const char* animDict, const char* animName, float speed, float speedMulitiplier, int flag) { return _i(0xF2404D68CBC855FA,entity, netScene, animDict, animName, speed, speedMulitiplier, flag); } // 0xF2404D68CBC855FA 0x10DD636C b323 + // Similar structure as NetworkAddEntityToSynchronisedScene 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? - inline Void NetworkAddMapEntityToSynchronisedScene(int netScene, Hash modelHash, float x, float y, float z, float p5, String p6, float p7, float p8, int flags) { return _i(0x45F35C0EDC33B03B,netScene, modelHash, x, y, z, p5, p6, p7, p8, flags); } // 0x45F35C0EDC33B03B b1734 - // - inline Void NetworkAddSynchronisedSceneCamera(int netScene, String animDict, String animName) { return _i(0xCF8BD3B0BD6D42D7,netScene, animDict, animName); } // 0xCF8BD3B0BD6D42D7 0xBFFE8B5C b323 - // + inline Void NetworkAddMapEntityToSynchronisedScene(int netScene, Hash modelHash, float x, float y, float z, float p5, const char* p6, float p7, float p8, int flags) { return _i(0x45F35C0EDC33B03B,netScene, modelHash, x, y, z, p5, p6, p7, p8, flags); } // 0x45F35C0EDC33B03B b1734 + // + inline Void NetworkAddSynchronisedSceneCamera(int netScene, const char* animDict, const char* animName) { return _i(0xCF8BD3B0BD6D42D7,netScene, animDict, animName); } // 0xCF8BD3B0BD6D42D7 0xBFFE8B5C b323 + // inline Void NetworkAttachSynchronisedSceneToEntity(int netScene, Entity entity, int bone) { return _i(0x478DCBD2A98B705A,netScene, entity, bone); } // 0x478DCBD2A98B705A 0x3FE5B222 b323 - // + // inline Void NetworkStartSynchronisedScene(int netScene) { return _i(0x9A1B3FCDB36C8697,netScene); } // 0x9A1B3FCDB36C8697 0xA9DFDC40 b323 - // + // inline Void NetworkStopSynchronisedScene(int netScene) { return _i(0xC254481A4574CB2F,netScene); } // 0xC254481A4574CB2F 0x97B1CDF6 b323 - // + // inline int NetworkGetLocalSceneFromNetworkId(int netId) { return _i(0x2C40BF885C567B6,netId); } // 0x2C40BF885C567B6 0x16AED87B b323 - // + // inline Void NetworkForceLocalUseOfSyncedSceneCamera(int netScene) { return _i(0xC9B43A33D09CADA7,netScene); } // 0xC9B43A33D09CADA7 0xC3AA2EC7 b323 - // + // inline Void NetworkAllowRemoteSyncedSceneLocalPlayerRequests(Any p0) { return _i(0x144DA052257AE7D8,p0); } // 0x144DA052257AE7D8 b1103 - // p0 is always 0. p1 is pointing to a global. + // p0 is always 0. p1 is pointing to a global. inline BOOL NetworkFindLargestBunchOfPlayers(int p0, Any p1) { return _i(0xFB1F9381E80FA13F,p0, p1); } // 0xFB1F9381E80FA13F 0x0679CE71 b323 - // One of the first things it does is get the players ped. + // 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 `GetBlipCoords, in the decompiled scripts. inline BOOL NetworkStartRespawnSearchForPlayer(Player player, float x, float y, float z, float radius, float p5, float p6, float p7, int flags) { return _i(0x5A6FFA2433E2F14C,player, x, y, z, radius, p5, p6, p7, flags); } // 0x5A6FFA2433E2F14C 0xC62E77B3 b323 - // p8, p9, p10 is another coordinate, or zero, often related to `GetBlipCoords in the decompiled scripts. + // p8, p9, p10 is another coordinate, or zero, often related to `GetBlipCoords in the decompiled scripts. inline BOOL NetworkStartRespawnSearchInAngledAreaForPlayer(Player player, float x1, float y1, float z1, float x2, float y2, float z2, float width, float p8, float p9, float p10, int flags) { return _i(0x4BA92A18502BCA61,player, x1, y1, z1, x2, y2, z2, width, p8, p9, p10, flags); } // 0x4BA92A18502BCA61 0x74D6B13C b323 - // + // inline int NetworkQueryRespawnResults(Any* p0) { return _i(0x3C891A251567DFCE,p0); } // 0x3C891A251567DFCE 0x90700C7D b323 - // + // inline Void NetworkCancelRespawnSearch() { return _i(0xFB8F2A6F3DF08CBE); } // 0xFB8F2A6F3DF08CBE 0x44BFB619 b323 - // 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.. + // 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.. inline Void NetworkGetRespawnResult(int randomInt, Vector3* coordinates, float* heading) { return _i(0x371EA43692861CF1,randomInt, coordinates, heading); } // 0x371EA43692861CF1 0xDDFE9FBC b323 - // + // inline int NetworkGetRespawnResultFlags(int p0) { return _i(0x6C34F1208B8923FD,p0); } // 0x6C34F1208B8923FD 0x03287FD2 b323 - // + // inline Void NetworkStartSoloTutorialSession() { return _i(0x17E0198B3882C2CB); } // 0x17E0198B3882C2CB 0x408A9436 b323 - // teamId must be < 3, instanceId must be < 64 + // teamId must be < 3, instanceId must be < 64 inline Void NetworkAllowGangToJoinTutorialSession(int teamId, int instanceId) { return _i(0xFB680D403909DC70,teamId, instanceId); } // 0xFB680D403909DC70 0xFFB2ADA1 b323 - // + // inline Void NetworkEndTutorialSession() { return _i(0xD0AFAFF5A51D72F7); } // 0xD0AFAFF5A51D72F7 0xBA57E53E b323 - // + // inline BOOL NetworkIsInTutorialSession() { return _i(0xADA24309FE08DACF); } // 0xADA24309FE08DACF 0x34DD7B28 b323 - // + // inline BOOL NetworkWaitingPopClearTutorialSession() { return _i(0xB37E4E6A2388CA7B); } // 0xB37E4E6A2388CA7B 0x755A2B3E b323 - // + // inline BOOL NetworkIsTutorialSessionChangePending() { return _i(0x35F0B98A8387274D); } // 0x35F0B98A8387274D 0xA003C40B b323 - // + // inline int NetworkGetPlayerTutorialSessionInstance(Player player) { return _i(0x3B39236746714134,player); } // 0x3B39236746714134 0x5E1020CC b323 - // + // inline BOOL NetworkArePlayersInSameTutorialSession(Player player, int index) { return _i(0x9DE986FC9A87C474,player, index); } // 0x9DE986FC9A87C474 0xE66A0B40 b323 - // + // inline Void NetworkBlockProxyMigrationBetweenTutorialSessions(Any p0) { return _i(0xFEA7A352DDB34D52,p0); } // 0xFEA7A352DDB34D52 b2545 - // + // inline Void NetworkConcealPlayer(Player player, BOOL toggle, BOOL p2) { return _i(0xBBDF066252829606,player, toggle, p2); } // 0xBBDF066252829606 0x72052DB3 b323 - // + // inline BOOL NetworkIsPlayerConcealed(Player player) { return _i(0x919B3C98ED8292F9,player); } // 0x919B3C98ED8292F9 0xB0313590 b323 - // + // inline Void NetworkConcealEntity(Entity entity, BOOL toggle) { return _i(0x1632BE0AC1E62876,entity, toggle); } // 0x1632BE0AC1E62876 b877 - // 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). + // 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). inline BOOL NetworkIsEntityConcealed(Entity entity) { return _i(0x71302EC70689052A,entity); } // 0x71302EC70689052A b877 - // Works in Singleplayer too. + // Works in Singleplayer too. // Passing wrong data (e.g. hours above 23) will cause the game to crash. inline Void NetworkOverrideClockTime(int hours, int minutes, int seconds) { return _i(0xE679E3E06E363892,hours, minutes, seconds); } // 0xE679E3E06E363892 0xC077BCD6 b323 - // + // inline Void NetworkOverrideClockRate(int ms) { return _i(0x42BF1D2E723B6D7E,ms); } // 0x42BF1D2E723B6D7E b2189 - // + // inline Void NetworkClearClockTimeOverride() { return _i(0xD972DF67326F966E); } // 0xD972DF67326F966E 0xC4AEAF49 b323 - // + // inline BOOL NetworkIsClockTimeOverridden() { return _i(0xD7C95D322FF57522); } // 0xD7C95D322FF57522 0x2465296D b323 - // + // inline int NetworkAddEntityArea(float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0x494C8FB299290269,x1, y1, z1, x2, y2, z2); } // 0x494C8FB299290269 0x51030E5B b323 - // To remove, see: NetworkRemoveEntityArea + // To remove, see: NetworkRemoveEntityArea // See IsPointInAngledArea for the definition of an angled area. inline int NetworkAddEntityAngledArea(float x1, float y1, float z1, float x2, float y2, float z2, float width) { return _i(0x376C6375BA60293A,x1, y1, z1, x2, y2, z2, width); } // 0x376C6375BA60293A 0xCD69BEA1 b323 - // + // inline int NetworkAddClientEntityArea(float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0x25B99872D588A101,x1, y1, z1, x2, y2, z2); } // 0x25B99872D588A101 0x4C2C2B12 b323 - // + // inline int NetworkAddClientEntityAngledArea(float x1, float y1, float z1, float x2, float y2, float z2, float radius) { return _i(0x2B1C623823DB0D9D,x1, y1, z1, x2, y2, z2, radius); } // 0x2B1C623823DB0D9D b1103 - // + // inline BOOL NetworkRemoveEntityArea(int areaHandle) { return _i(0x93CF869BAA0C4874,areaHandle); } // 0x93CF869BAA0C4874 0xEAB97F25 b323 - // + // inline BOOL NetworkEntityAreaDoesExist(int areaHandle) { return _i(0xE64A3CA08DFA37A9,areaHandle); } // 0xE64A3CA08DFA37A9 0x69956127 b323 - // + // inline BOOL NetworkEntityAreaHaveAllReplied(int areaHandle) { return _i(0x4DF7CFFF471A7FB1,areaHandle); } // 0x4DF7CFFF471A7FB1 0xCB1CD6D3 b323 - // + // inline BOOL NetworkEntityAreaIsOccupied(int areaHandle) { return _i(0x4A2D4E8BF4265B0F,areaHandle); } // 0x4A2D4E8BF4265B0F 0xC6D53AA0 b323 - // + // inline Void NetworkUseHighPrecisionBlending(int netID, BOOL toggle) { return _i(0x2B1813ABA29016C5,netID, toggle); } // 0x2B1813ABA29016C5 0x155465EE b323 - // + // inline Void NetworkSetCustomArenaBallParams(int netId) { return _i(0xA6FCECCF4721D679,netId); } // 0xA6FCECCF4721D679 b1604 - // + // inline Void NetworkEntityUseHighPrecisionRotation(int netId, BOOL toggle) { return _i(0x95BAF97C82464629,netId, toggle); } // 0x95BAF97C82464629 b1604 - // + // inline BOOL NetworkRequestCloudBackgroundScripts() { return _i(0x924426BFFD82E915); } // 0x924426BFFD82E915 0x98EFB921 b323 - // + // inline BOOL NetworkIsCloudBackgroundScriptRequestPending() { return _i(0x8132C0EB8B2B3293); } // 0x8132C0EB8B2B3293 0x20AB933A b323 - // + // inline Void NetworkRequestCloudTunables() { return _i(0x42FB3B532D526E6C); } // 0x42FB3B532D526E6C 0xD760CAD5 b323 - // + // inline BOOL NetworkIsTunableCloudRequestPending() { return _i(0x467C11ED88B7D28); } // 0x467C11ED88B7D28 0x47978D7F b323 - // Actually returns the version (TUNABLE_VERSION) + // Actually returns the version (TUNABLE_VERSION) inline int NetworkGetTunableCloudCrc() { return _i(0x10BD227A753B0D84); } // 0x10BD227A753B0D84 0x231CFD12 b323 - // - inline BOOL NetworkDoesTunableExist(String tunableContext, String tunableName) { return _i(0x85E5F8B9B898B20A,tunableContext, tunableName); } // 0x85E5F8B9B898B20A 0x9FCE9C9A b323 - // - inline BOOL NetworkAccessTunableInt(String tunableContext, String tunableName, int* value) { return _i(0x8BE1146DFD5D4468,tunableContext, tunableName, value); } // 0x8BE1146DFD5D4468 0xE4B3726A b323 - // - inline BOOL NetworkAccessTunableFloat(String tunableContext, String tunableName, float* value) { return _i(0xE5608CA7BC163A5F,tunableContext, tunableName, value); } // 0xE5608CA7BC163A5F 0x41E8912A b323 - // - inline BOOL NetworkAccessTunableBool(String tunableContext, String tunableName) { return _i(0xAA6A47A573ABB75A,tunableContext, tunableName); } // 0xAA6A47A573ABB75A 0x8A04E1FE b323 - // + // + inline BOOL NetworkDoesTunableExist(const char* tunableContext, const char* tunableName) { return _i(0x85E5F8B9B898B20A,tunableContext, tunableName); } // 0x85E5F8B9B898B20A 0x9FCE9C9A b323 + // + inline BOOL NetworkAccessTunableInt(const char* tunableContext, const char* tunableName, int* value) { return _i(0x8BE1146DFD5D4468,tunableContext, tunableName, value); } // 0x8BE1146DFD5D4468 0xE4B3726A b323 + // + inline BOOL NetworkAccessTunableFloat(const char* tunableContext, const char* tunableName, float* value) { return _i(0xE5608CA7BC163A5F,tunableContext, tunableName, value); } // 0xE5608CA7BC163A5F 0x41E8912A b323 + // + inline BOOL NetworkAccessTunableBool(const char* tunableContext, const char* tunableName) { return _i(0xAA6A47A573ABB75A,tunableContext, tunableName); } // 0xAA6A47A573ABB75A 0x8A04E1FE b323 + // inline BOOL NetworkDoesTunableExistHash(Hash tunableContext, Hash tunableName) { return _i(0xE4E53E1419D81127,tunableContext, tunableName); } // 0xE4E53E1419D81127 0x25915CB9 b323 - // + // inline BOOL NetworkAccessTunableModificationDetectionClear() { return _i(0xFAFC23AEE23868DB); } // 0xFAFC23AEE23868DB b393 - // + // inline BOOL NetworkAccessTunableIntHash(Hash tunableContext, Hash tunableName, int* value) { return _i(0x40FCE03E50E8DBE8,tunableContext, tunableName, value); } // 0x40FCE03E50E8DBE8 0xB2E83B75 b323 - // + // inline BOOL NetworkAccessTunableIntModificationDetectionRegistrationHash(Hash contextHash, Hash nameHash, int* value) { return _i(0x3A8B55FDA4C8DDEF,contextHash, nameHash, value); } // 0x3A8B55FDA4C8DDEF b393 - // + // inline BOOL NetworkAccessTunableFloatHash(Hash tunableContext, Hash tunableName, float* value) { return _i(0x972BC203BBC4C4D5,tunableContext, tunableName, value); } // 0x972BC203BBC4C4D5 0x3972551F b323 - // + // inline BOOL NetworkAccessTunableFloatModificationDetectionRegistrationHash(Hash contextHash, Hash nameHash, float* value) { return _i(0x1950DAE9848A4739,contextHash, nameHash, value); } // 0x1950DAE9848A4739 b393 - // + // inline BOOL NetworkAccessTunableBoolHash(Hash tunableContext, Hash tunableName) { return _i(0xEA16B69D93D71A45,tunableContext, tunableName); } // 0xEA16B69D93D71A45 0x18867C61 b323 - // + // inline BOOL NetworkAccessTunableBoolModificationDetectionRegistrationHash(Hash contextHash, Hash nameHash, BOOL* value) { return _i(0x697F508861875B42,contextHash, nameHash, value); } // 0x697F508861875B42 b393 - // Returns defaultValue if the tunable doesn't exist. + // Returns defaultValue if the tunable doesn't exist. inline BOOL NetworkTryAccessTunableBoolHash(Hash tunableContext, Hash tunableName, BOOL defaultValue) { return _i(0xC7420099936CE286,tunableContext, tunableName, defaultValue); } // 0xC7420099936CE286 0x8AFE3D90 b323 - // Return the content modifier id (the tunables context if you want) of a specific content. + // 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. // @@ -10104,23 +10104,23 @@ namespace NETWORK // 'A8M6Bz8MLEC5xngvDCzGwA' is the mission id, so the game hash this and use it as the parameter for this native. // inline int NetworkGetContentModifierListId(Hash contentHash) { return _i(0x187382F8A3E0A6C3,contentHash); } // 0x187382F8A3E0A6C3 0xA78571CA b323 - // + // inline int NetworkGetBoneIdOfFatalHit() { return _i(0x7DB53B37A2F211A0); } // 0x7DB53B37A2F211A0 0x053BB329 b323 - // + // inline Void NetworkResetBodyTracker() { return _i(0x72433699B4E6DD64); } // 0x72433699B4E6DD64 0x3914463F b323 - // + // inline int NetworkGetNumberBodyTrackerHits() { return _i(0xD38C4A6D047C019D); } // 0xD38C4A6D047C019D 0x17CBC608 b323 - // + // inline BOOL NetworkHasBoneBeenHitByKiller(int boneIndex) { return _i(0x2E0BF682CC778D49,boneIndex); } // 0x2E0BF682CC778D49 0xBFAA349B b323 - // + // inline BOOL NetworkSetAttributeDamageToPlayer(Ped ped, Player player) { return _i(0xEDE326D47CD0F3E,ped, player); } // 0xEDE326D47CD0F3E 0xBEB7281A b323 - // Allows vehicle wheels to be destructible even when the vehicle entity is invincible. + // Allows vehicle wheels to be destructible even when the vehicle entity is invincible. inline Void NetworkTriggerDamageEventForZeroDamage(Entity entity, BOOL toggle) { return _i(0x890E2C5ABED7236D,entity, toggle); } // 0x890E2C5ABED7236D b1365 - // + // inline Void NetworkTriggerDamageEventForZeroWeaponHash(Entity entity, BOOL toggle) { return _i(0x38B7C51AB1EDC7D8,entity, toggle); } // 0x38B7C51AB1EDC7D8 b1734 - // + // inline Void NetworkSetNoLongerNeeded(Entity entity, BOOL toggle) { return _i(0x3FC795691834481D,entity, toggle); } // 0x3FC795691834481D b1868 - // In the console script dumps, this is only referenced once. + // In the console script dumps, this is only referenced once. // NETWORK::NetworkExplodeVehicle(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. @@ -10142,422 +10142,422 @@ namespace NETWORK // Seems it's like AddExplosion, etc. the first 2 params. The 3rd atm no need to worry since it always seems to be 0. // inline BOOL NetworkExplodeVehicle(Vehicle vehicle, BOOL isAudible, BOOL isInvisible, int netId) { return _i(0x301A42153C9AD707,vehicle, isAudible, isInvisible, netId); } // 0x301A42153C9AD707 0x0E1B38AE b323 - // + // inline Void NetworkExplodeHeli(Vehicle vehicle, BOOL isAudible, BOOL isInvisible, int netId) { return _i(0x2A5E0621DD815A9A,vehicle, isAudible, isInvisible, netId); } // 0x2A5E0621DD815A9A 0x955B31BF b463 - // + // inline Void NetworkUseLogarithmicBlendingThisFrame(Entity entity) { return _i(0xCD71A4ECAB22709E,entity); } // 0xCD71A4ECAB22709E 0xBC54371B b323 - // + // inline Void NetworkOverrideCoordsAndHeading(Entity entity, float x, float y, float z, float heading) { return _i(0xA7E30DE9272B6D49,entity, x, y, z, heading); } // 0xA7E30DE9272B6D49 0x644141C5 b323 - // + // inline Void NetworkEnableExtraVehicleOrientationBlendChecks(int netId, BOOL toggle) { return _i(0xE6717E652B8C8D8A,netId, toggle); } // 0xE6717E652B8C8D8A b617 - // + // inline Void NetworkDisableProximityMigration(int netID) { return _i(0x407091CF6037118E,netID); } // 0x407091CF6037118E 0x9F82917F b323 - // value must be < 255 + // value must be < 255 inline Void NetworkSetPropertyId(int id) { return _i(0x1775961C2FBBCB5C,id); } // 0x1775961C2FBBCB5C 0x5A74E873 b323 - // + // inline Void NetworkClearPropertyId() { return _i(0xC2B82527CA77053E); } // 0xC2B82527CA77053E 0x38BC35C8 b323 - // p0 in the decompiled scripts is always the stat mesh_texblend * 0.07 to int + // p0 in the decompiled scripts is always the stat mesh_texblend * 0.07 to int inline Void NetworkSetPlayerMentalState(int p0) { return _i(0x367EF5E2F439B4C6,p0); } // 0x367EF5E2F439B4C6 0x53C9563C b323 - // + // inline Void NetworkSetMinimumRankForMission(BOOL p0) { return _i(0x94538037EE44F5CF,p0); } // 0x94538037EE44F5CF 0x6B97075B b323 - // + // inline Void NetworkCacheLocalPlayerHeadBlendData() { return _i(0xBD0BE0BFC927EAC1); } // 0xBD0BE0BFC927EAC1 0x94AB35A9 b323 - // + // inline BOOL NetworkHasCachedPlayerHeadBlendData(Player player) { return _i(0x237D5336A9A54108,player); } // 0x237D5336A9A54108 0x7B2A0337 b323 - // + // inline BOOL NetworkApplyCachedPlayerHeadBlendData(Ped ped, Player player) { return _i(0x99B72C7ABDE5C910,ped, player); } // 0x99B72C7ABDE5C910 0x99F58A07 b323 - // + // inline int GetNumCommerceItems() { return _i(0xF2EAC213D5EA0623); } // 0xF2EAC213D5EA0623 0x965EA007 b323 - // + // inline BOOL IsCommerceDataValid() { return _i(0xEA14EEF5B7CD2C30); } // 0xEA14EEF5B7CD2C30 0xEEFC8A55 b323 - // Does nothing (it's a nullsub). + // Does nothing (it's a nullsub). inline Void TriggerCommerceDataFetch(Any p0) { return _i(0xB606E6CC59664972,p0); } // 0xB606E6CC59664972 0x866D1B67 b323 - // + // inline BOOL IsCommerceDataFetchInProgress() { return _i(0x1D4DC17C38FEAFF0); } // 0x1D4DC17C38FEAFF0 0xED4A272F b323 - // - inline String GetCommerceItemId(int index) { return _i(0x662635855957C411,index); } // 0x662635855957C411 0x4ACF110C b323 - // - inline String GetCommerceItemName(int index) { return _i(0xB4271092CA7EDF48,index); } // 0xB4271092CA7EDF48 0x1AA3A0D5 b323 - // - inline String GetCommerceProductPrice(int index) { return _i(0xCA94551B50B4932C,index); } // 0xCA94551B50B4932C 0x37877757 b323 - // + // + inline const char* GetCommerceItemId(int index) { return _i(0x662635855957C411,index); } // 0x662635855957C411 0x4ACF110C b323 + // + inline const char* GetCommerceItemName(int index) { return _i(0xB4271092CA7EDF48,index); } // 0xB4271092CA7EDF48 0x1AA3A0D5 b323 + // + inline const char* GetCommerceProductPrice(int index) { return _i(0xCA94551B50B4932C,index); } // 0xCA94551B50B4932C 0x37877757 b323 + // inline int GetCommerceItemNumCats(int index) { return _i(0x2A7776C709904AB0,index); } // 0x2A7776C709904AB0 0x1CF89DA5 b323 - // index2 is unused - inline String GetCommerceItemCat(int index, int index2) { return _i(0x6F44CBF56D79FAC0,index, index2); } // 0x6F44CBF56D79FAC0 0x16E53875 b323 - // - inline Void OpenCommerceStore(String p0, String p1, int p2) { return _i(0x58C21165F6545892,p0, p1, p2); } // 0x58C21165F6545892 0x365C50EE b323 - // + // index2 is unused + inline const char* GetCommerceItemCat(int index, int index2) { return _i(0x6F44CBF56D79FAC0,index, index2); } // 0x6F44CBF56D79FAC0 0x16E53875 b323 + // + inline Void OpenCommerceStore(const char* p0, const char* p1, int p2) { return _i(0x58C21165F6545892,p0, p1, p2); } // 0x58C21165F6545892 0x365C50EE b323 + // inline BOOL IsCommerceStoreOpen() { return _i(0x2EAC52B4019E2782); } // 0x2EAC52B4019E2782 0x25E2DBA9 b323 - // Access to the store for shark cards etc... + // Access to the store for shark cards etc... inline Void SetStoreEnabled(BOOL toggle) { return _i(0x9641A9FF718E9C5E,toggle); } // 0x9641A9FF718E9C5E 0xC1F6443B b323 - // + // inline BOOL RequestCommerceItemImage(int index) { return _i(0xA2F952104FC6DD4B,index); } // 0xA2F952104FC6DD4B 0x1FDC75DC b323 - // + // inline Void ReleaseAllCommerceItemImages() { return _i(0x72D0706CD6CCDB58); } // 0x72D0706CD6CCDB58 0xCA7A0A49 b323 - // - inline String GetCommerceItemTexturename(int index) { return _i(0x722F5D28B61C5EA8,index); } // 0x722F5D28B61C5EA8 0x44A58B0A b323 - // + // + inline const char* GetCommerceItemTexturename(int index) { return _i(0x722F5D28B61C5EA8,index); } // 0x722F5D28B61C5EA8 0x44A58B0A b323 + // inline BOOL IsStoreAvailableToUser() { return _i(0x883D79C4071E18B3); } // 0x883D79C4071E18B3 0xD32FA11F b323 - // + // inline Void DelayMpStoreOpen() { return _i(0x265635150FB0D82E); } // 0x265635150FB0D82E 0xA7FA70AE b323 - // + // inline Void ResetStoreNetworkGameTracking() { return _i(0x444C4525ECE0A4B9); } // 0x444C4525ECE0A4B9 0xCC7DCE24 b323 - // + // inline BOOL IsUserOldEnoughToAccessStore() { return _i(0x59328EB08C5CEB2B); } // 0x59328EB08C5CEB2B 0x70F6D3AD b323 - // + // inline Void SetLastViewedShopItem(Hash p0, int p1, Hash p2) { return _i(0xFAE628F1E9ADB239,p0, p1, p2); } // 0xFAE628F1E9ADB239 0xD59A822B b323 - // Checks some commerce stuff + // Checks some commerce stuff inline int GetUserPremiumAccess() { return _i(0x754615490A029508); } // 0x754615490A029508 b1290 - // Checks some commerce stuff + // Checks some commerce stuff inline int GetUserStarterAccess() { return _i(0x155467ACA0F55705); } // 0x155467ACA0F55705 b1290 - // - inline int CloudDeleteMemberFile(String p0) { return _i(0xC64DED7EF0D2FE37,p0); } // 0xC64DED7EF0D2FE37 0x2B7B57B3 b323 - // + // + inline int CloudDeleteMemberFile(const char* p0) { return _i(0xC64DED7EF0D2FE37,p0); } // 0xC64DED7EF0D2FE37 0x2B7B57B3 b323 + // inline BOOL CloudHasRequestCompleted(int requestId) { return _i(0x4C61B39930D045DA,requestId); } // 0x4C61B39930D045DA 0xBAF52DD8 b323 - // + // inline BOOL CloudDidRequestSucceed(int requestId) { return _i(0x3A3D5568AF297CD5,requestId); } // 0x3A3D5568AF297CD5 0x9B9AFFF1 b323 - // Downloads prod.cloud.rockstargames.com/titles/gta5/[platform]/check.json + // Downloads prod.cloud.rockstargames.com/titles/gta5/[platform]/check.json inline Void CloudCheckAvailability() { return _i(0x4F18196C8D38768D); } // 0x4F18196C8D38768D 0xC38E9DB0 b323 - // + // inline BOOL CloudIsCheckingAvailability() { return _i(0xC7ABAC5DE675EE3B); } // 0xC7ABAC5DE675EE3B 0x32A4EB22 b323 - // + // inline BOOL CloudGetAvailabilityCheckResult() { return _i(0xB0CC10720653F3B); } // 0xB0CC10720653F3B 0x9262744C b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline int GetContentToLoadType() { return _i(0x8B0C2964BA471961); } // 0x8B0C2964BA471961 b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline BOOL GetIsLaunchFromLiveArea() { return _i(0x88B588B41FF7868E); } // 0x88B588B41FF7868E b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline BOOL GetIsLiveAreaLaunchWithContent() { return _i(0x67FC09BC554A75E5); } // 0x67FC09BC554A75E5 b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void ClearServiceEventArguments() { return _i(0x966DD84FB6A46017); } // 0x966DD84FB6A46017 b323 - // + // inline BOOL UgcCopyContent(Any* p0, Any* p1) { return _i(0x152D90E4C1B4738A,p0, p1); } // 0x152D90E4C1B4738A 0x08243B79 b323 - // + // inline BOOL UgcIsCreating() { return _i(0x9FEDF86898F100E9); } // 0x9FEDF86898F100E9 0x798D6C27 b323 - // + // inline BOOL UgcHasCreateFinished() { return _i(0x5E24341A7F92A74B); } // 0x5E24341A7F92A74B 0xE69E8D0D b323 - // + // inline BOOL UgcDidCreateSucceed() { return _i(0x24E4E51FC16305F9); } // 0x24E4E51FC16305F9 0x742075FE b323 - // + // inline int UgcGetCreateResult() { return _i(0xFBC5E768C7A77A6A); } // 0xFBC5E768C7A77A6A 0xCE569932 b323 - // - inline String UgcGetCreateContentId() { return _i(0xC55A0B40FFB1ED23); } // 0xC55A0B40FFB1ED23 0x82146BE9 b323 - // + // + inline const char* UgcGetCreateContentId() { return _i(0xC55A0B40FFB1ED23); } // 0xC55A0B40FFB1ED23 0x82146BE9 b323 + // inline Void UgcClearCreateResult() { return _i(0x17440AA15D1D3739); } // 0x17440AA15D1D3739 0x133FF2D5 b323 - // + // inline BOOL UgcQueryMyContent(Any p0, Any p1, Any* p2, Any p3, Any p4, Any p5) { return _i(0x9BF438815F5D96EA,p0, p1, p2, p3, p4, p5); } // 0x9BF438815F5D96EA 0xCBA7242F b323 - // - inline BOOL UgcQueryByCategory(Any p0, Any p1, Any p2, String p3, Any p4, BOOL p5) { return _i(0x692D58DF40657E8C,p0, p1, p2, p3, p4, p5); } // 0x692D58DF40657E8C b323 - // - inline BOOL UgcQueryByContentId(String contentId, BOOL latestVersion, String contentTypeName) { return _i(0x158EC424F35EC469,contentId, latestVersion, contentTypeName); } // 0x158EC424F35EC469 0xDED82A6E b323 - // - inline BOOL UgcQueryByContentIds(Any* data, int count, BOOL latestVersion, String contentTypeName) { return _i(0xC7397A83F7A2A462,data, count, latestVersion, contentTypeName); } // 0xC7397A83F7A2A462 0x47B3C35E b323 - // - inline BOOL UgcQueryMostRecentlyCreatedContent(int offset, int count, String contentTypeName, int p3) { return _i(0x6D4CB481FAC835E8,offset, count, contentTypeName, p3); } // 0x6D4CB481FAC835E8 0x40CF0783 b323 - // - inline BOOL UgcGetBookmarkedContent(Any p0, Any p1, String p2, Any* p3) { return _i(0xD5A4B59980401588,p0, p1, p2, p3); } // 0xD5A4B59980401588 0x4609D596 b323 - // - inline BOOL UgcGetMyContent(Any p0, Any p1, String p2, Any* p3) { return _i(0x3195F8DD0D531052,p0, p1, p2, p3); } // 0x3195F8DD0D531052 0x4C2C0D1F b323 - // - inline BOOL UgcGetFriendContent(Any p0, Any p1, String p2, Any* p3) { return _i(0xF9E1CCAE8BA4C281,p0, p1, p2, p3); } // 0xF9E1CCAE8BA4C281 0x9EFBD5D1 b323 - // - inline BOOL UgcGetCrewContent(Any p0, Any p1, Any p2, String p3, Any* p4) { return _i(0x9F6E2821885CAEE2,p0, p1, p2, p3, p4); } // 0x9F6E2821885CAEE2 0xA6D8B798 b323 - // - inline BOOL UgcGetGetByCategory(Any p0, Any p1, Any p2, String p3, Any* p4) { return _i(0x678BB03C1A3BD51E,p0, p1, p2, p3, p4); } // 0x678BB03C1A3BD51E 0x67E74842 b323 - // - inline BOOL UgcGetGetByContentId(String contentId, String contentTypeName) { return _i(0x815E5E3073DA1D67,contentId, contentTypeName); } // 0x815E5E3073DA1D67 0xE123C7AC b323 - // - inline BOOL UgcGetGetByContentIds(Any* data, int dataCount, String contentTypeName) { return _i(0xB8322EEB38BE7C26,data, dataCount, contentTypeName); } // 0xB8322EEB38BE7C26 0x22C33603 b323 - // + // + inline BOOL UgcQueryByCategory(Any p0, Any p1, Any p2, const char* p3, Any p4, BOOL p5) { return _i(0x692D58DF40657E8C,p0, p1, p2, p3, p4, p5); } // 0x692D58DF40657E8C b323 + // + inline BOOL UgcQueryByContentId(const char* contentId, BOOL latestVersion, const char* contentTypeName) { return _i(0x158EC424F35EC469,contentId, latestVersion, contentTypeName); } // 0x158EC424F35EC469 0xDED82A6E b323 + // + inline BOOL UgcQueryByContentIds(Any* data, int count, BOOL latestVersion, const char* contentTypeName) { return _i(0xC7397A83F7A2A462,data, count, latestVersion, contentTypeName); } // 0xC7397A83F7A2A462 0x47B3C35E b323 + // + inline BOOL UgcQueryMostRecentlyCreatedContent(int offset, int count, const char* contentTypeName, int p3) { return _i(0x6D4CB481FAC835E8,offset, count, contentTypeName, p3); } // 0x6D4CB481FAC835E8 0x40CF0783 b323 + // + inline BOOL UgcGetBookmarkedContent(Any p0, Any p1, const char* p2, Any* p3) { return _i(0xD5A4B59980401588,p0, p1, p2, p3); } // 0xD5A4B59980401588 0x4609D596 b323 + // + inline BOOL UgcGetMyContent(Any p0, Any p1, const char* p2, Any* p3) { return _i(0x3195F8DD0D531052,p0, p1, p2, p3); } // 0x3195F8DD0D531052 0x4C2C0D1F b323 + // + inline BOOL UgcGetFriendContent(Any p0, Any p1, const char* p2, Any* p3) { return _i(0xF9E1CCAE8BA4C281,p0, p1, p2, p3); } // 0xF9E1CCAE8BA4C281 0x9EFBD5D1 b323 + // + inline BOOL UgcGetCrewContent(Any p0, Any p1, Any p2, const char* p3, Any* p4) { return _i(0x9F6E2821885CAEE2,p0, p1, p2, p3, p4); } // 0x9F6E2821885CAEE2 0xA6D8B798 b323 + // + inline BOOL UgcGetGetByCategory(Any p0, Any p1, Any p2, const char* p3, Any* p4) { return _i(0x678BB03C1A3BD51E,p0, p1, p2, p3, p4); } // 0x678BB03C1A3BD51E 0x67E74842 b323 + // + inline BOOL UgcGetGetByContentId(const char* contentId, const char* contentTypeName) { return _i(0x815E5E3073DA1D67,contentId, contentTypeName); } // 0x815E5E3073DA1D67 0xE123C7AC b323 + // + inline BOOL UgcGetGetByContentIds(Any* data, int dataCount, const char* contentTypeName) { return _i(0xB8322EEB38BE7C26,data, dataCount, contentTypeName); } // 0xB8322EEB38BE7C26 0x22C33603 b323 + // inline BOOL UgcGetMostRecentlyCreatedContent(Any p0, Any p1, Any* p2, Any* p3) { return _i(0xA7862BC5ED1DFD7E,p0, p1, p2, p3); } // 0xA7862BC5ED1DFD7E 0x37F5BD93 b323 - // + // inline BOOL UgcGetMostRecentlyPlayedContent(Any p0, Any p1, Any* p2, Any* p3) { return _i(0x97A770BEEF227E2B,p0, p1, p2, p3); } // 0x97A770BEEF227E2B 0x1CFB3F51 b323 - // + // inline BOOL UgcGetTopRatedContent(Any p0, Any p1, Any* p2, Any* p3) { return _i(0x5324A0E3E4CE3570,p0, p1, p2, p3); } // 0x5324A0E3E4CE3570 0x87D1E6BD b323 - // + // inline Void UgcCancelQuery() { return _i(0xE9B99B6853181409); } // 0xE9B99B6853181409 0x021D5A94 b323 - // + // inline BOOL UgcIsGetting() { return _i(0xD53ACDBEF24A46E8); } // 0xD53ACDBEF24A46E8 0x4908A514 b323 - // + // inline BOOL UgcHasGetFinished() { return _i(0x2ADA21EA2F6918F); } // 0x2ADA21EA2F6918F 0x50296140 b323 - // + // inline BOOL UgcDidGetSucceed() { return _i(0x941E5306BCD7C2C7); } // 0x941E5306BCD7C2C7 0x3970B0DA b323 - // + // inline BOOL UgcWasQueryForceCancelled() { return _i(0xC87E740D9F3872CC); } // 0xC87E740D9F3872CC 0xC1487110 b323 - // + // inline int UgcGetQueryResult() { return _i(0xEDF7F927136C224B); } // 0xEDF7F927136C224B 0xCC2356E3 b323 - // + // inline int UgcGetContentNum() { return _i(0xE0A6138401BCB837); } // 0xE0A6138401BCB837 0x2DE69817 b323 - // + // inline int UgcGetContentTotal() { return _i(0x769951E2455E2EB5); } // 0x769951E2455E2EB5 0x81BD8D3B b323 - // + // inline Hash UgcGetContentHash() { return _i(0x3A17A27D75C74887); } // 0x3A17A27D75C74887 0x8E1D8F78 b323 - // + // inline Void UgcClearQueryResults() { return _i(0xBA96394A0EECFA65); } // 0xBA96394A0EECFA65 0x0D35DD93 b323 - // - inline String UgcGetContentUserId(int p0) { return _i(0xCD67AD041A394C9C,p0); } // 0xCD67AD041A394C9C 0x8F3137E6 b323 - // + // + inline const char* UgcGetContentUserId(int p0) { return _i(0xCD67AD041A394C9C,p0); } // 0xCD67AD041A394C9C 0x8F3137E6 b323 + // inline BOOL UgcGetContentCreatorGamerHandle(int p0, Any* p1) { return _i(0x584770794D758C18,p0, p1); } // 0x584770794D758C18 b323 - // + // inline BOOL UgcGetContentCreatedByLocalPlayer(Any p0) { return _i(0x8C8D2739BA44AF0F,p0); } // 0x8C8D2739BA44AF0F b323 - // - inline String UgcGetContentUserName(Any p0) { return _i(0x703F12425ECA8BF5,p0); } // 0x703F12425ECA8BF5 0xB9137BA7 b323 - // + // + inline const char* UgcGetContentUserName(Any p0) { return _i(0x703F12425ECA8BF5,p0); } // 0x703F12425ECA8BF5 0xB9137BA7 b323 + // inline BOOL UgcGetContentIsUsingScNickname(Any p0) { return _i(0xAEAB987727C5A8A4,p0); } // 0xAEAB987727C5A8A4 0x9FEEAA9C b323 - // + // inline int UgcGetContentCategory(int p0) { return _i(0xA7BAB11E7C9C6C5A,p0); } // 0xA7BAB11E7C9C6C5A 0x5E8A7559 b323 - // Return the mission id of a job. - inline String UgcGetContentId(int p0) { return _i(0x55AA95F481D694D2,p0); } // 0x55AA95F481D694D2 0x331AEABF b323 - // Return the root content id of a job. - inline String UgcGetRootContentId(int p0) { return _i(0xC0173D6BFF4E0348,p0); } // 0xC0173D6BFF4E0348 0x0E5E8E5C b323 - // - inline String UgcGetContentName(Any p0) { return _i(0xBF09786A7FCAB582,p0); } // 0xBF09786A7FCAB582 0xA5A0C695 b323 - // + // Return the mission id of a job. + inline const char* UgcGetContentId(int p0) { return _i(0x55AA95F481D694D2,p0); } // 0x55AA95F481D694D2 0x331AEABF b323 + // Return the root content id of a job. + inline const char* UgcGetRootContentId(int p0) { return _i(0xC0173D6BFF4E0348,p0); } // 0xC0173D6BFF4E0348 0x0E5E8E5C b323 + // + inline const char* UgcGetContentName(Any p0) { return _i(0xBF09786A7FCAB582,p0); } // 0xBF09786A7FCAB582 0xA5A0C695 b323 + // inline int UgcGetContentDescriptionHash(Any p0) { return _i(0x7CF0448787B23758,p0); } // 0x7CF0448787B23758 0x91534C6E b323 - // - inline String UgcGetContentPath(int p0, int p1) { return _i(0xBAF6BABF9E7CCC13,p0, p1); } // 0xBAF6BABF9E7CCC13 0x744A9EA5 b323 - // + // + inline const char* UgcGetContentPath(int p0, int p1) { return _i(0xBAF6BABF9E7CCC13,p0, p1); } // 0xBAF6BABF9E7CCC13 0x744A9EA5 b323 + // inline Void UgcGetContentUpdatedDate(Any p0, Any* p1) { return _i(0xCFD115B373C0DF63,p0, p1); } // 0xCFD115B373C0DF63 0xA19A238D b323 - // + // inline int UgcGetContentFileVersion(Any p0, Any p1) { return _i(0x37025B27D9B658B1,p0, p1); } // 0x37025B27D9B658B1 0xFF7D44E6 b323 - // + // inline BOOL UgcGetContentHasLoResPhoto(int p0) { return _i(0x1D610EB0FEA716D9,p0); } // 0x1D610EB0FEA716D9 b323 - // + // inline BOOL UgcGetContentHasHiResPhoto(int p0) { return _i(0x7FCC39C46C3C03BD,p0); } // 0x7FCC39C46C3C03BD b323 - // + // inline int UgcGetContentLanguage(Any p0) { return _i(0x32DD916F3F7C9672,p0); } // 0x32DD916F3F7C9672 0xA2C5BD9D b323 - // + // inline BOOL UgcGetContentIsPublished(Any p0) { return _i(0x3054F114121C21EA,p0); } // 0x3054F114121C21EA 0xA850DDE1 b323 - // + // inline BOOL UgcGetContentIsVerified(Any p0) { return _i(0xA9240A96C74CCA13,p0); } // 0xA9240A96C74CCA13 0x8F6754AE b323 - // + // inline float UgcGetContentRating(Any p0, Any p1) { return _i(0x1ACCFBA3D8DAB2EE,p0, p1); } // 0x1ACCFBA3D8DAB2EE 0x1E34953F b323 - // + // inline int UgcGetContentRatingCount(Any p0, Any p1) { return _i(0x759299C5BB31D2A9,p0, p1); } // 0x759299C5BB31D2A9 0x771FE190 b323 - // + // inline int UgcGetContentRatingPositiveCount(Any p0, Any p1) { return _i(0x87E5C46C187FE0AE,p0, p1); } // 0x87E5C46C187FE0AE 0x3276D9D3 b323 - // + // inline int UgcGetContentRatingNegativeCount(Any p0, Any p1) { return _i(0x4E548C0D7AE39FF9,p0, p1); } // 0x4E548C0D7AE39FF9 0x41A0FB02 b323 - // + // inline BOOL UgcGetContentHasPlayerRecord(Any p0) { return _i(0x70EA8DA57840F9BE,p0); } // 0x70EA8DA57840F9BE 0x11DC0F27 b323 - // + // inline BOOL UgcGetContentHasPlayerBookmarked(Any p0) { return _i(0x993CBE59D350D225,p0); } // 0x993CBE59D350D225 0x0DEB3F5A b323 - // + // inline int UgcRequestContentDataFromIndex(int p0, int p1) { return _i(0x171DF6A0C07FB3DC,p0, p1); } // 0x171DF6A0C07FB3DC 0x84315226 b323 - // - inline int UgcRequestContentDataFromParams(String contentTypeName, String contentId, int p2, int p3, int p4) { return _i(0x7FD2990AF016795E,contentTypeName, contentId, p2, p3, p4); } // 0x7FD2990AF016795E 0x38FC2EEB b323 - // + // + inline int UgcRequestContentDataFromParams(const char* contentTypeName, const char* contentId, int p2, int p3, int p4) { return _i(0x7FD2990AF016795E,contentTypeName, contentId, p2, p3, p4); } // 0x7FD2990AF016795E 0x38FC2EEB b323 + // inline int UgcRequestCachedDescription(int p0) { return _i(0x5E0165278F6339EE,p0); } // 0x5E0165278F6339EE 0x1C4F9FDB b323 - // + // inline BOOL UgcIsDescriptionRequestInProgress(Any p0) { return _i(0x2D5DC831176D0114,p0); } // 0x2D5DC831176D0114 0xA69AE16C b323 - // + // inline BOOL UgcHasDescriptionRequestFinished(Any p0) { return _i(0xEBFA8D50ADDC54C4,p0); } // 0xEBFA8D50ADDC54C4 0xF50BC67A b323 - // + // inline BOOL UgcDidDescriptionRequestSucceed(Any p0) { return _i(0x162C23CA83ED0A62,p0); } // 0x162C23CA83ED0A62 0xB3BBD241 b323 - // - inline String UgcGetCachedDescription(Any p0, Any p1) { return _i(0x40F7E66472DF3E5C,p0, p1); } // 0x40F7E66472DF3E5C 0x70A2845C b323 - // + // + inline const char* UgcGetCachedDescription(Any p0, Any p1) { return _i(0x40F7E66472DF3E5C,p0, p1); } // 0x40F7E66472DF3E5C 0x70A2845C b323 + // inline BOOL UgcReleaseCachedDescription(Any p0) { return _i(0x5A34CD9C3C5BEC44,p0); } // 0x5A34CD9C3C5BEC44 0x346B506C b323 - // + // inline Void UgcReleaseAllCachedDescriptions() { return _i(0x68103E2247887242); } // 0x68103E2247887242 0x0095DB71 b323 - // + // inline BOOL UgcHasPermissionToWrite() { return _i(0xC33E7CBC06EC1A8D); } // 0xC33E7CBC06EC1A8D b3095 - // - inline BOOL UgcPublish(String contentId, String baseContentId, String contentTypeName) { return _i(0x1DE0F5F50D723CAA,contentId, baseContentId, contentTypeName); } // 0x1DE0F5F50D723CAA 0xAD334B40 b323 - // - inline BOOL UgcSetBookmarked(String contentId, BOOL bookmarked, String contentTypeName) { return _i(0x274A1519DFC1094F,contentId, bookmarked, contentTypeName); } // 0x274A1519DFC1094F 0x980D45D7 b323 - // - inline BOOL UgcSetDeleted(Any* p0, BOOL p1, String p2) { return _i(0xD05D1A6C74DA3498,p0, p1, p2); } // 0xD05D1A6C74DA3498 0x48CCC328 b323 - // + // + inline BOOL UgcPublish(const char* contentId, const char* baseContentId, const char* contentTypeName) { return _i(0x1DE0F5F50D723CAA,contentId, baseContentId, contentTypeName); } // 0x1DE0F5F50D723CAA 0xAD334B40 b323 + // + inline BOOL UgcSetBookmarked(const char* contentId, BOOL bookmarked, const char* contentTypeName) { return _i(0x274A1519DFC1094F,contentId, bookmarked, contentTypeName); } // 0x274A1519DFC1094F 0x980D45D7 b323 + // + inline BOOL UgcSetDeleted(Any* p0, BOOL p1, const char* p2) { return _i(0xD05D1A6C74DA3498,p0, p1, p2); } // 0xD05D1A6C74DA3498 0x48CCC328 b323 + // inline BOOL UgcIsModifying() { return _i(0x45E816772E93A9DB); } // 0x45E816772E93A9DB 0x8E664EFD b323 - // + // inline BOOL UgcHasModifyFinished() { return _i(0x299EF3C576773506); } // 0x299EF3C576773506 0x611E0BE2 b323 - // + // inline BOOL UgcDidModifySucceed() { return _i(0x793FF272D5B365F4); } // 0x793FF272D5B365F4 0xF0211AC1 b323 - // + // inline int UgcGetModifyResult() { return _i(0x5A0A3D1A186A5508); } // 0x5A0A3D1A186A5508 0x1F0DD8AF b323 - // + // inline Void UgcClearModifyResult() { return _i(0xA1E5E0204A6FCC70); } // 0xA1E5E0204A6FCC70 0x405ECA16 b323 - // + // inline BOOL UgcGetCreatorsByUserId(Any* p0, Any* p1) { return _i(0xB746D20B17F2A229,p0, p1); } // 0xB746D20B17F2A229 0x9567392B b323 - // + // inline BOOL UgcHasQueryCreatorsFinished() { return _i(0x63B406D7884BFA95); } // 0x63B406D7884BFA95 0xF79FFF3C b323 - // + // inline BOOL UgcDidQueryCreatorsSucceed() { return _i(0x4D02279C83BE69FE); } // 0x4D02279C83BE69FE 0xA7F3F82B b323 - // + // inline int UgcGetCreatorNum() { return _i(0x597F8DBA9B206FC7); } // 0x597F8DBA9B206FC7 0x410C61D1 b323 - // + // inline BOOL UgcLoadOfflineQuery(Any p0) { return _i(0x5CAE833B0EE0C500,p0); } // 0x5CAE833B0EE0C500 0x0D4F845D b323 - // + // inline Void UgcClearOfflineQuery() { return _i(0x61A885D3F7CFEE9A); } // 0x61A885D3F7CFEE9A 0xE13C1F7F b323 - // + // inline Void UgcSetQueryDataFromOffline(BOOL p0) { return _i(0xF98DDE0A8ED09323,p0); } // 0xF98DDE0A8ED09323 0x213C6D36 b323 - // + // inline Void UgcSetUsingOfflineContent(BOOL p0) { return _i(0xFD75DABC0957BF33,p0); } // 0xFD75DABC0957BF33 0x511E6F50 b323 - // + // inline BOOL UgcIsLanguageSupported(Any p0) { return _i(0xF53E48461B71EECB,p0); } // 0xF53E48461B71EECB 0xB4668B23 b323 - // - inline BOOL FacebookPostCompletedHeist(String heistName, int cashEarned, int xpEarned) { return _i(0x98AB65B9ED9A9EC,heistName, cashEarned, xpEarned); } // 0x98AB65B9ED9A9EC 0x30B51753 b323 - // + // + inline BOOL FacebookPostCompletedHeist(const char* heistName, int cashEarned, int xpEarned) { return _i(0x98AB65B9ED9A9EC,heistName, cashEarned, xpEarned); } // 0x98AB65B9ED9A9EC 0x30B51753 b323 + // inline BOOL FacebookPostCreateCharacter() { return _i(0xDC48473142545431); } // 0xDC48473142545431 0x02DAD93F b323 - // + // inline BOOL FacebookPostCompletedMilestone(int milestoneId) { return _i(0xAE1F1653B554AB9,milestoneId); } // 0xAE1F1653B554AB9 0x2D947814 b323 - // + // inline BOOL FacebookHasPostCompleted() { return _i(0x62B9FEC9A11F10EF); } // 0x62B9FEC9A11F10EF 0x37A28C26 b323 - // + // inline BOOL FacebookDidPostSucceed() { return _i(0xA75E2B6733DA5142); } // 0xA75E2B6733DA5142 0x11E8B5CD b323 - // + // inline BOOL FacebookCanPostToFacebook() { return _i(0x43865688AE10F0D7); } // 0x43865688AE10F0D7 0x429AEAB3 b323 - // - inline int TextureDownloadRequest(Any* gamerHandle, String filePath, String name, BOOL p3) { return _i(0x16160DA74A8E74A2,gamerHandle, filePath, name, p3); } // 0x16160DA74A8E74A2 0xAD546CC3 b323 - // - inline int TitleTextureDownloadRequest(String filePath, String name, BOOL p2) { return _i(0xB203B4AFDE53A4F,filePath, name, p2); } // 0xB203B4AFDE53A4F 0x1856D008 b323 - // - inline int UgcTextureDownloadRequest(String p0, int p1, int p2, int p3, String p4, BOOL p5) { return _i(0x308F96458B7087CC,p0, p1, p2, p3, p4, p5); } // 0x308F96458B7087CC 0x68C9AF69 b323 - // + // + inline int TextureDownloadRequest(Any* gamerHandle, const char* filePath, const char* name, BOOL p3) { return _i(0x16160DA74A8E74A2,gamerHandle, filePath, name, p3); } // 0x16160DA74A8E74A2 0xAD546CC3 b323 + // + inline int TitleTextureDownloadRequest(const char* filePath, const char* name, BOOL p2) { return _i(0xB203B4AFDE53A4F,filePath, name, p2); } // 0xB203B4AFDE53A4F 0x1856D008 b323 + // + inline int UgcTextureDownloadRequest(const char* p0, int p1, int p2, int p3, const char* p4, BOOL p5) { return _i(0x308F96458B7087CC,p0, p1, p2, p3, p4, p5); } // 0x308F96458B7087CC 0x68C9AF69 b323 + // inline Void TextureDownloadRelease(int p0) { return _i(0x487EB90B98E9FB19,p0); } // 0x487EB90B98E9FB19 0xEE8D9E70 b323 - // + // inline BOOL TextureDownloadHasFailed(int p0) { return _i(0x5776ED562C134687,p0); } // 0x5776ED562C134687 0xE4547765 b323 - // - inline String TextureDownloadGetName(int p0) { return _i(0x3448505B6E35262D,p0); } // 0x3448505B6E35262D 0xA40EF65A b323 - // 0 = succeeded + // + inline const char* TextureDownloadGetName(int p0) { return _i(0x3448505B6E35262D,p0); } // 0x3448505B6E35262D 0xA40EF65A b323 + // 0 = succeeded // 1 = pending // 2 = failed inline int GetStatusOfTextureDownload(int p0) { return _i(0x8BD6C6DEA20E82C6,p0); } // 0x8BD6C6DEA20E82C6 0x03225BA3 b323 - // Returns true if profile setting 901 is set to true and sets it to false. + // Returns true if profile setting 901 is set to true and sets it to false. inline BOOL NetworkCheckRosLinkWentdownNotNet() { return _i(0x60EDD13EB3AC1FF3); } // 0x60EDD13EB3AC1FF3 0x4DEBC227 b323 - // Returns true if the NAT type is Strict (3) and a certain number of connections have failed. + // Returns true if the NAT type is Strict (3) and a certain number of connections have failed. inline BOOL NetworkShouldShowStrictNatWarning() { return _i(0x82A2B386716608F1); } // 0x82A2B386716608F1 b393 - // + // inline BOOL NetworkIsCableConnected() { return _i(0xEFFB25453D8600F9); } // 0xEFFB25453D8600F9 0x5C065D55 b323 - // + // inline BOOL NetworkHaveScsPrivateMsgPriv() { return _i(0x66B59CFFD78467AF); } // 0x66B59CFFD78467AF 0x0CA1167F b323 - // + // inline BOOL NetworkHaveRosSocialClubPriv() { return _i(0x606E4D3E3CCCF3EB); } // 0x606E4D3E3CCCF3EB 0x424C6E27 b323 - // + // inline BOOL NetworkHaveRosBannedPriv() { return _i(0x8020A73847E0CA7D); } // 0x8020A73847E0CA7D 0xD3BBE42F b323 - // + // inline BOOL NetworkHaveRosCreateTicketPriv() { return _i(0xA0AD7E2AF5349F61); } // 0xA0AD7E2AF5349F61 0xBDBB5948 b323 - // + // inline BOOL NetworkHaveRosMultiplayerPriv() { return _i(0x5F91D5D0B36AA310); } // 0x5F91D5D0B36AA310 0x97287D68 b323 - // + // inline BOOL NetworkHaveRosLeaderboardWritePriv() { return _i(0x422D396F80A96547); } // 0x422D396F80A96547 0xC6EA802E b323 - // index is always 18 in scripts + // index is always 18 in scripts inline BOOL NetworkHasRosPrivilege(int index) { return _i(0xA699957E60D80214,index); } // 0xA699957E60D80214 0xFD261E30 b323 - // + // inline BOOL NetworkHasRosPrivilegeEndDate(int privilege, int* banType, Any* timeData) { return _i(0xC22912B1D85F26B1,privilege, banType, timeData); } // 0xC22912B1D85F26B1 0x8570DD34 b323 - // + // inline BOOL NetworkHasRosPrivilegePlayedLastGen() { return _i(0x593570C289A77688); } // 0x593570C289A77688 b323 - // + // inline BOOL NetworkHasRosPrivilegeSpecialEditionContent() { return _i(0x91B87C55093DE351); } // 0x91B87C55093DE351 b323 - // Checks for privilege 29 + // Checks for privilege 29 inline BOOL NetworkHasRosPrivilegeMpTextCommunication() { return _i(0xD9719341663C385F); } // 0xD9719341663C385F b3095 - // Checks for privilege 30 + // Checks for privilege 30 inline BOOL NetworkHasRosPrivilegeMpVoiceCommunication() { return _i(0x8956A309BE90057C); } // 0x8956A309BE90057C b3095 - // + // inline int NetworkStartCommunicationPermissionsCheck(Any p0) { return _i(0x36391F397731595D,p0); } // 0x36391F397731595D b323 - // Always returns -1. Seems to be XB1 specific. + // Always returns -1. Seems to be XB1 specific. inline int NetworkStartUserContentPermissionsCheck(Any* netHandle) { return _i(0xDEB2B99A1AF1A2A6,netHandle); } // 0xDEB2B99A1AF1A2A6 b323 - // + // inline Void NetworkSkipRadioResetNextClose() { return _i(0x9465E683B12D3F6B); } // 0x9465E683B12D3F6B 0x273C6180 b323 - // + // inline Void NetworkSkipRadioResetNextOpen() { return _i(0xCA59CCAE5D01E4CE); } // 0xCA59CCAE5D01E4CE b1734 - // Returns true if dinput8.dll is present in the game directory. + // 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." inline BOOL NetworkSkipRadioWarning() { return _i(0x659CF2EF7F550C4F); } // 0x659CF2EF7F550C4F b1011 - // NETWORK_F[I-O] + // NETWORK_F[I-O] inline Void NetworkForceLocalPlayerScarSync() { return _i(0xB7C7F6AD6424304B); } // 0xB7C7F6AD6424304B 0x371BBA08 b323 - // + // inline Void NetworkDisableLeaveRemotePedBehind(BOOL toggle) { return _i(0xC505036A35AFD01B,toggle); } // 0xC505036A35AFD01B 0xA100CC97 b323 - // + // inline Void NetworkAllowRemoteAttachmentModification(Entity entity, BOOL toggle) { return _i(0x267C78C60E806B9A,entity, toggle); } // 0x267C78C60E806B9A 0xBB2D33D3 b323 - // Does nothing (it's a nullsub). + // Does nothing (it's a nullsub). inline Void NetworkShowChatRestrictionMsc(Player player) { return _i(0x6BFF5F84102DF80A,player); } // 0x6BFF5F84102DF80A b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void NetworkShowPsnUgcRestriction() { return _i(0x5C497525F803486B); } // 0x5C497525F803486B b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline BOOL NetworkIsTitleUpdateRequired() { return _i(0x6FB7BB3607D27FA2); } // 0x6FB7BB3607D27FA2 b323 - // + // inline Void NetworkQuitMpToDesktop() { return _i(0x45A83257ED02D9BC); } // 0x45A83257ED02D9BC b323 - // + // inline BOOL NetworkIsConnectedViaRelay(Player player) { return _i(0x16D3D49902F697BB,player); } // 0x16D3D49902F697BB b323 - // + // inline float NetworkGetAverageLatency(Player player) { return _i(0xD414BE129BB81B32,player); } // 0xD414BE129BB81B32 b323 - // Same as NetworkGetAverageLatency + // Same as NetworkGetAverageLatency inline float NetworkGetAveragePing(Player player) { return _i(0xE3A041ED6AC2B45,player); } // 0xE3A041ED6AC2B45 b323 - // + // inline float NetworkGetAveragePacketLoss(Player player) { return _i(0x350C23949E43686C,player); } // 0x350C23949E43686C b323 - // + // inline int NetworkGetNumUnackedReliables(Player player) { return _i(0xFF8FCF9FFC458A1C,player); } // 0xFF8FCF9FFC458A1C b323 - // + // inline int NetworkGetUnreliableResendCount(Player player) { return _i(0x3765C3A3E8192E10,player); } // 0x3765C3A3E8192E10 b323 - // + // inline int NetworkGetHighestReliableResendCount(Player player) { return _i(0x52C1EADAF7B10302,player); } // 0x52C1EADAF7B10302 b323 - // + // inline Void NetworkReportCodeTamper() { return _i(0x5626D9D6810730D5); } // 0x5626D9D6810730D5 b350 - // + // inline Vector3 NetworkGetLastEntityPosReceivedOverNetwork(Entity entity) { return _i(0x64D779659BC37B19,entity); } // 0x64D779659BC37B19 b393 - // Returns the coordinates of another player. + // 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). inline Vector3 NetworkGetLastPlayerPosReceivedOverNetwork(Player player) { return _i(0x125E6D638B8605D4,player); } // 0x125E6D638B8605D4 b393 - // Used by NetBlender + // Used by NetBlender inline Vector3 NetworkGetLastVelReceivedOverNetwork(Entity entity) { return _i(0x33DE49EDF4DDE77A,entity); } // 0x33DE49EDF4DDE77A b1103 - // + // inline Vector3 NetworkGetPredictedVelocity(Entity entity, float maxSpeedToPredict) { return _i(0xAA5FAFCD2C5F5E47,entity, maxSpeedToPredict); } // 0xAA5FAFCD2C5F5E47 b1103 - // Does nothing (it's a nullsub). + // Does nothing (it's a nullsub). inline Void NetworkDumpNetIfConfig() { return _i(0xAEDF1BC1C133D6E3); } // 0xAEDF1BC1C133D6E3 b323 - // Does nothing (it's a nullsub). + // Does nothing (it's a nullsub). inline Void NetworkGetSignallingInfo(Any* p0) { return _i(0x2555CF7DA5473794,p0); } // 0x2555CF7DA5473794 b323 - // Does nothing (it's a nullsub). + // Does nothing (it's a nullsub). inline Void NetworkGetNetStatisticsInfo(Any* p0) { return _i(0x6FD992C4A1C1B986,p0); } // 0x6FD992C4A1C1B986 b323 - // + // inline int NetworkGetPlayerAccountId(Player player) { return _i(0xDB663CC9FF3407A9,player); } // 0xDB663CC9FF3407A9 b1734 - // + // inline Void NetworkUgcNav(Any p0, Any p1) { return _i(0xC1447451DDB512F0,p0, p1); } // 0xC1447451DDB512F0 b2372 } namespace OBJECT { - // List of object models that can be created without any additional effort like making sure ytyp is loaded etc: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ObjectList.ini + // List of object models that can be created without any additional effort like making sure ytyp is loaded etc: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ObjectList.ini inline Object CreateObject(Hash modelHash, float x, float y, float z, BOOL isNetwork, BOOL bScriptHostObj, BOOL dynamic) { return _i(0x509D5878EB39E842,modelHash, x, y, z, isNetwork, bScriptHostObj, dynamic); } // 0x509D5878EB39E842 0x2F7AA05C b323 - // List of object models that can be created without any additional effort like making sure ytyp is loaded etc: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ObjectList.ini + // List of object models that can be created without any additional effort like making sure ytyp is loaded etc: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ObjectList.ini inline Object CreateObjectNoOffset(Hash modelHash, float x, float y, float z, BOOL isNetwork, BOOL bScriptHostObj, BOOL dynamic) { return _i(0x9A294B2138ABB884,modelHash, x, y, z, isNetwork, bScriptHostObj, dynamic); } // 0x9A294B2138ABB884 0x58040420 b323 - // Deletes the specified object, then sets the handle pointed to by the pointer to NULL. + // Deletes the specified object, then sets the handle pointed to by the pointer to NULL. inline Void DeleteObject(Object* object) { return _i(0x539E0AE3E6634B9F,object); } // 0x539E0AE3E6634B9F 0xD6EF9DA7 b323 - // + // inline BOOL PlaceObjectOnGroundProperly(Object object) { return _i(0x58A850EAEE20FAA3,object); } // 0x58A850EAEE20FAA3 0x8F95A20B b323 - // + // inline BOOL PlaceObjectOnGroundOrObjectProperly(Object object) { return _i(0xD76EEEF746057FD6,object); } // 0xD76EEEF746057FD6 b505 - // + // inline BOOL RotateObject(Object object, float p1, float p2, BOOL p3) { return _i(0xAFE24E4D29249E4A,object, p1, p2, p3); } // 0xAFE24E4D29249E4A b1734 - // Returns true if the object has finished moving. + // 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. inline BOOL SlideObject(Object object, float toX, float toY, float toZ, float speedX, float speedY, float speedZ, BOOL collision) { return _i(0x2FDFF4107B8C1147,object, toX, toY, toZ, speedX, speedY, speedZ, collision); } // 0x2FDFF4107B8C1147 0x63BFA7A0 b323 - // + // inline Void SetObjectTargettable(Object object, BOOL targettable, Any p2) { return _i(0x8A7391690F5AFD81,object, targettable, p2); } // 0x8A7391690F5AFD81 0x3F88CD86 b323 - // Overrides a flag on the object which determines if the object should be avoided by a vehicle in task CTaskVehicleGoToPointWithAvoidanceAutomobile. + // Overrides a flag on the object which determines if the object should be avoided by a vehicle in task CTaskVehicleGoToPointWithAvoidanceAutomobile. inline Void SetObjectForceVehiclesToAvoid(Object object, BOOL toggle) { return _i(0x77F33F2CCF64B3AA,object, toggle); } // 0x77F33F2CCF64B3AA 0x483C5C88 b323 - // Has 8 params in the latest patches. + // Has 8 params in the latest patches. // // isMission - if true doesn't return mission objects inline Object GetClosestObjectOfType(float x, float y, float z, float radius, Hash modelHash, BOOL isMission, BOOL p6, BOOL p7) { return _i(0xE143FA2249364369,x, y, z, radius, modelHash, isMission, p6, p7); } // 0xE143FA2249364369 0x45619B33 b323 - // + // inline BOOL HasObjectBeenBroken(Object object, Any p1) { return _i(0x8ABFB70C49CC43E2,object, p1); } // 0x8ABFB70C49CC43E2 0xFE21F891 b323 - // + // inline BOOL HasClosestObjectOfTypeBeenBroken(float p0, float p1, float p2, float p3, Hash modelHash, Any p5) { return _i(0x761B0E69AC4D007E,p0, p1, p2, p3, modelHash, p5); } // 0x761B0E69AC4D007E 0x6FC0353D b323 - // + // inline BOOL HasClosestObjectOfTypeBeenCompletelyDestroyed(float x, float y, float z, float radius, Hash modelHash, BOOL p5) { return _i(0x46494A2475701343,x, y, z, radius, modelHash, p5); } // 0x46494A2475701343 0x7DB578DD b323 - // + // inline BOOL GetHasObjectBeenCompletelyDestroyed(Any p0) { return _i(0x2542269291C6AC84,p0); } // 0x2542269291C6AC84 b1180 - // + // inline Vector3 GetOffsetFromCoordAndHeadingInWorldCoords(float xPos, float yPos, float zPos, float heading, float xOffset, float yOffset, float zOffset) { return _i(0x163E252DE035A133,xPos, yPos, zPos, heading, xOffset, yOffset, zOffset); } // 0x163E252DE035A133 0x87A42A12 b323 - // + // inline BOOL GetCoordsAndRotationOfClosestObjectOfType(float x, float y, float z, float radius, Hash modelHash, Vector3* outPosition, Vector3* outRotation, int rotationOrder) { return _i(0x163F8B586BC95F2A,x, y, z, radius, modelHash, outPosition, outRotation, rotationOrder); } // 0x163F8B586BC95F2A 0x65213FC3 b323 - // Hardcoded to not work in multiplayer. + // Hardcoded to not work in multiplayer. // // // Used to lock/unlock doors to interior areas of the game. @@ -10575,22 +10575,22 @@ namespace OBJECT // // get door info: https://pastebin.com/i14rbekD inline Void SetStateOfClosestDoorOfType(Hash type, float x, float y, float z, BOOL locked, float heading, BOOL p6) { return _i(0xF82D8F1926A02C3D,type, x, y, z, locked, heading, p6); } // 0xF82D8F1926A02C3D 0x38C951A4 b323 - // locked is 0 if no door is found + // 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) inline Void GetStateOfClosestDoorOfType(Hash type, float x, float y, float z, BOOL* locked, float* heading) { return _i(0xEDC1A5B84AEF33FF,type, x, y, z, locked, heading); } // 0xEDC1A5B84AEF33FF 0x4B44A83D b323 - // Hardcoded not to work in multiplayer environments. + // Hardcoded not to work in multiplayer environments. // When you set locked to 0 the door open and to 1 the door close // OBJECT::SetLockedUnstreamedInDoorOfType(${prop_gate_prison_01}, 1845.0, 2605.0, 45.0, 0, 0.0, 50.0, 0); //door open // // OBJECT::SetLockedUnstreamedInDoorOfType(${prop_gate_prison_01}, 1845.0, 2605.0, 45.0, 1, 0.0, 50.0, 0); //door close inline Void SetLockedUnstreamedInDoorOfType(Hash modelHash, float x, float y, float z, BOOL locked, float xRotMult, float yRotMult, float zRotMult) { return _i(0x9B12F9A24FABEDB0,modelHash, x, y, z, locked, xRotMult, yRotMult, zRotMult); } // 0x9B12F9A24FABEDB0 0x4E0A260B b323 - // + // inline Void PlayObjectAutoStartAnim(Any p0) { return _i(0x6E4B040ED37EC3,p0); } // 0x6E4B040ED37EC3 b1868 - // doorHash has to be unique. scriptDoor false; relies upon getNetworkGameScriptHandler. isLocal On true disables the creation CRequestDoorEvent's in DoorSystemSetDoorState. + // doorHash has to be unique. scriptDoor false; relies upon getNetworkGameScriptHandler. isLocal On true disables the creation CRequestDoorEvent's in DoorSystemSetDoorState. // 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. // @@ -10599,10 +10599,10 @@ namespace OBJECT // // Example: AddDoorToSystem("PROP_43_DOOR_0", "hei_v_ilev_fh_heistdoor2", -1456.818, -520.5037, 69.67043, 0, 0, 0) inline Void AddDoorToSystem(Hash doorHash, Hash modelHash, float x, float y, float z, BOOL p5, BOOL scriptDoor, BOOL isLocal) { return _i(0x6F8838D03D1DC226,doorHash, modelHash, x, y, z, p5, scriptDoor, isLocal); } // 0x6F8838D03D1DC226 0x9D2D778D b323 - // CDoor and CDoorSystemData still internally allocated (and their associations between doorHash, modelHash, and coordinates). + // 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. inline Void RemoveDoorFromSystem(Hash doorHash, Any p1) { return _i(0x464D8E1427156FE4,doorHash, p1); } // 0x464D8E1427156FE4 0x00253286 b323 - // Lockstates not applied and CNetObjDoor's not created until DoorSystemGetIsPhysicsLoaded returns true. + // Lockstates not applied and CNetObjDoor's not created until DoorSystemGetIsPhysicsLoaded 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: @@ -10614,73 +10614,73 @@ namespace OBJECT // 5: DOORSTATE_FORCE_OPEN_THIS_FRAME // 6: DOORSTATE_FORCE_CLOSED_THIS_FRAME inline Void DoorSystemSetDoorState(Hash doorHash, int state, BOOL requestDoor, BOOL forceUpdate) { return _i(0x6BAB9442830C7F53,doorHash, state, requestDoor, forceUpdate); } // 0x6BAB9442830C7F53 0xDF83DB47 b323 - // + // inline int DoorSystemGetDoorState(Hash doorHash) { return _i(0x160AA1B32F6139B8,doorHash); } // 0x160AA1B32F6139B8 0xD42A41C2 b323 - // + // inline int DoorSystemGetDoorPendingState(Hash doorHash) { return _i(0x4BC2854478F3A749,doorHash); } // 0x4BC2854478F3A749 0xD649B7E1 b323 - // Includes networking check: ownership vs. or the door itself **isn't** networked. + // Includes networking check: ownership vs. or the door itself **isn't** networked. // `forceUpdate` on true invokes DoorSystemSetDoorState otherwise requestDoor is unused. inline Void DoorSystemSetAutomaticRate(Hash doorHash, float rate, BOOL requestDoor, BOOL forceUpdate) { return _i(0x3C27E13B42A0E82,doorHash, rate, requestDoor, forceUpdate); } // 0x3C27E13B42A0E82 0x4F44AF21 b323 - // `forceUpdate` on true invokes DoorSystemSetDoorState otherwise requestDoor is unused. + // `forceUpdate` on true invokes DoorSystemSetDoorState otherwise requestDoor is unused. inline Void DoorSystemSetAutomaticDistance(Hash doorHash, float distance, BOOL requestDoor, BOOL forceUpdate) { return _i(0x9BA001CB45CBF627,doorHash, distance, requestDoor, forceUpdate); } // 0x9BA001CB45CBF627 0x47531446 b323 - // Sets the ajar angle of a door. + // Sets the ajar angle of a door. // Ranges from -1.0 to 1.0, and 0.0 is closed / default. // `forceUpdate` on true invokes DoorSystemSetDoorState otherwise requestDoor is unused. inline Void DoorSystemSetOpenRatio(Hash doorHash, float ajar, BOOL requestDoor, BOOL forceUpdate) { return _i(0xB6E6FBA95C7324AC,doorHash, ajar, requestDoor, forceUpdate); } // 0xB6E6FBA95C7324AC 0x34883DE3 b323 - // + // inline float DoorSystemGetAutomaticDistance(Hash doorHash) { return _i(0xE851471AEFC3374F,doorHash); } // 0xE851471AEFC3374F b1868 - // + // inline float DoorSystemGetOpenRatio(Hash doorHash) { return _i(0x65499865FCA6E5EC,doorHash); } // 0x65499865FCA6E5EC 0xB74C3BD7 b323 - // Includes networking check: ownership vs. or the door itself **isn't** networked. + // Includes networking check: ownership vs. or the door itself **isn't** networked. // `forceUpdate` on true invokes DoorSystemSetDoorState otherwise requestDoor is unused. inline Void DoorSystemSetSpringRemoved(Hash doorHash, BOOL removed, BOOL requestDoor, BOOL forceUpdate) { return _i(0xC485E07E4F0B7958,doorHash, removed, requestDoor, forceUpdate); } // 0xC485E07E4F0B7958 0xB4A9A558 b323 - // Includes networking check: ownership vs. or the door itself **isn't** networked. + // Includes networking check: ownership vs. or the door itself **isn't** networked. inline Void DoorSystemSetHoldOpen(Hash doorHash, BOOL toggle) { return _i(0xD9B71952F78A2640,doorHash, toggle); } // 0xD9B71952F78A2640 0xECE58AE0 b323 - // Some property related to gates. Native name between ``DoorSystemSetAutomaticRate`` and ``DoorSystemSetDoorState``. + // Some property related to gates. Native name between ``DoorSystemSetAutomaticRate`` and ``DoorSystemSetDoorState``. inline Void DoorSystemSetDoorOpenForRaces(Hash doorHash, BOOL p1) { return _i(0xA85A21582451E951,doorHash, p1); } // 0xA85A21582451E951 0xF736227C b323 - // if (OBJECT::IsDoorRegisteredWithSystem(doorHash)) + // if (OBJECT::IsDoorRegisteredWithSystem(doorHash)) // { // OBJECT::RemoveDoorFromSystem(doorHash); // } inline BOOL IsDoorRegisteredWithSystem(Hash doorHash) { return _i(0xC153C43EA202C8C1,doorHash); } // 0xC153C43EA202C8C1 0x5AFCD8A1 b323 - // + // inline BOOL IsDoorClosed(Hash doorHash) { return _i(0xC531EE8A1145A149,doorHash); } // 0xC531EE8A1145A149 0x48659CD7 b323 - // + // inline Void OpenAllBarriersForRace(BOOL p0) { return _i(0xC7F29CA00F46350E,p0); } // 0xC7F29CA00F46350E 0x9BF33E41 b323 - // Clears the fields sets by 0xC7F29CA00F46350E (1604 retail: 0x1424A7A10, 0x1424A7A11) and iterates over the global CDoor's bucket-list. + // 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"? inline Void CloseAllBarriersForRace() { return _i(0x701FDA1E82076BA4); } // 0x701FDA1E82076BA4 0xF592AD10 b323 - // + // inline BOOL DoorSystemGetIsPhysicsLoaded(Any p0) { return _i(0xDF97CDD4FC08FD34,p0); } // 0xDF97CDD4FC08FD34 0x17FF9393 b323 - // Search radius: 0.5 + // Search radius: 0.5 inline BOOL DoorSystemFindExistingDoor(float x, float y, float z, Hash modelHash, Hash* outDoorHash) { return _i(0x589F80B325CC82C5,x, y, z, modelHash, outDoorHash); } // 0x589F80B325CC82C5 0xE9AE494F b323 - // + // inline BOOL IsGarageEmpty(Hash garageHash, BOOL p1, int p2) { return _i(0x90E47239EA1980B8,garageHash, p1, p2); } // 0x90E47239EA1980B8 0xA8B37DEA b323 - // + // inline BOOL IsPlayerEntirelyInsideGarage(Hash garageHash, Player player, float p2, int p3) { return _i(0x24A60DEB0EA69F0,garageHash, player, p2, p3); } // 0x24A60DEB0EA69F0 0xC33ED360 b323 - // + // inline BOOL IsPlayerPartiallyInsideGarage(Hash garageHash, Player player, int p2) { return _i(0x1761DC5D8471CBAA,garageHash, player, p2); } // 0x1761DC5D8471CBAA 0x41924877 b323 - // + // inline BOOL AreEntitiesEntirelyInsideGarage(Hash garageHash, BOOL p1, BOOL p2, BOOL p3, Any p4) { return _i(0x85B6C850546FDDE2,garageHash, p1, p2, p3, p4); } // 0x85B6C850546FDDE2 0x4BD59750 b323 - // + // inline BOOL IsAnyEntityEntirelyInsideGarage(Hash garageHash, BOOL p1, BOOL p2, BOOL p3, Any p4) { return _i(0x673ED815D6E323B7,garageHash, p1, p2, p3, p4); } // 0x673ED815D6E323B7 0x7B44D659 b323 - // Despite the name, it does work for any entity type. + // Despite the name, it does work for any entity type. inline BOOL IsObjectEntirelyInsideGarage(Hash garageHash, Entity entity, float p2, int p3) { return _i(0x372EF6699146A1E4,garageHash, entity, p2, p3); } // 0x372EF6699146A1E4 0x142C8F76 b323 - // Despite the name, it does work for any entity type. + // Despite the name, it does work for any entity type. inline BOOL IsObjectPartiallyInsideGarage(Hash garageHash, Entity entity, int p2) { return _i(0xF0EED5A6BC7B237A,garageHash, entity, p2); } // 0xF0EED5A6BC7B237A 0x95A9AB2B b323 - // + // inline Void ClearGarage(Hash garageHash, BOOL isNetwork) { return _i(0xDA05194260CDCDF9,garageHash, isNetwork); } // 0xDA05194260CDCDF9 b678 - // + // inline Void ClearObjectsInsideGarage(Hash garageHash, BOOL vehicles, BOOL peds, BOOL objects, BOOL isNetwork) { return _i(0x190428512B240692,garageHash, vehicles, peds, objects, isNetwork); } // 0x190428512B240692 0xA565E27E b323 - // Sets a flag. A valid id is 0x157DC10D + // Sets a flag. A valid id is 0x157DC10D inline Void DisableTidyingUpInGarage(int id, BOOL toggle) { return _i(0x659F9D71F52843F8,id, toggle); } // 0x659F9D71F52843F8 b1290 - // + // inline Void EnableSavingInGarage(Hash garageHash, BOOL toggle) { return _i(0xF2E1A7133DD356A6,garageHash, toggle); } // 0xF2E1A7133DD356A6 0x43BB7E48 b323 - // + // inline Void CloseSafehouseGarages() { return _i(0x66A49D021870FE88); } // 0x66A49D021870FE88 0x6158959E b323 - // p5 is usually 0. + // p5 is usually 0. inline BOOL DoesObjectOfTypeExistAtCoords(float x, float y, float z, float radius, Hash hash, BOOL p5) { return _i(0xBFA48E2FF417213F,x, y, z, radius, hash, p5); } // 0xBFA48E2FF417213F 0x23FF2BA4 b323 - // An angled area is an X-Z oriented rectangle with three parameters: + // 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``). @@ -10689,9 +10689,9 @@ namespace OBJECT // 1. golf_mp https://i.imgur.com/JhsQAK9.png // 2. am_taxi https://i.imgur.com/TJWCZaT.jpg inline BOOL IsPointInAngledArea(float xPos, float yPos, float zPos, float x1, float y1, float z1, float x2, float y2, float z2, float width, BOOL debug, BOOL includeZ) { return _i(0x2A70BAE8883E4C81,xPos, yPos, zPos, x1, y1, z1, x2, y2, z2, width, debug, includeZ); } // 0x2A70BAE8883E4C81 0x73BCFFDC b323 - // Overrides the climbing/blocking flags of the object, used in the native scripts mostly for "prop_dock_bouy_*" + // Overrides the climbing/blocking flags of the object, used in the native scripts mostly for "prop_dock_bouy_*" inline Void SetObjectAllowLowLodBuoyancy(Object object, BOOL toggle) { return _i(0x4D89D607CB3DD1D2,object, toggle); } // 0x4D89D607CB3DD1D2 0x19B17769 b323 - // Adjust the physics parameters of a prop, or otherwise known as "object". This is useful for simulated gravity. + // Adjust the physics parameters of a prop, or otherwise known as "object". This is useful for simulated gravity. // // Other parameters seem to be unknown. // @@ -10700,106 +10700,106 @@ namespace OBJECT // p4: makes obj fall slower the higher the value // p5: similar to p4 inline Void SetObjectPhysicsParams(Object object, float weight, float p2, float p3, float p4, float p5, float gravity, float p7, float p8, float p9, float p10, float buoyancy) { return _i(0xF6DF6E90DE7DF90F,object, weight, p2, p3, p4, p5, gravity, p7, p8, p9, p10, buoyancy); } // 0xF6DF6E90DE7DF90F 0xE8D11C58 b323 - // + // inline float GetObjectFragmentDamageHealth(Any p0, BOOL p1) { return _i(0xB6FBFD079B8D0596,p0, p1); } // 0xB6FBFD079B8D0596 0xF0B330AD b323 - // + // inline Void SetActivateObjectPhysicsAsSoonAsItIsUnfrozen(Object object, BOOL toggle) { return _i(0x406137F8EF90EAF5,object, toggle); } // 0x406137F8EF90EAF5 0x3E263AE1 b323 - // + // inline BOOL IsAnyObjectNearPoint(float x, float y, float z, float range, BOOL p4) { return _i(0x397DC58FF00298D1,x, y, z, range, p4); } // 0x397DC58FF00298D1 0xE9E46941 b323 - // + // inline BOOL IsObjectNearPoint(Hash objectHash, float x, float y, float z, float range) { return _i(0x8C90FE4B381BA60A,objectHash, x, y, z, range); } // 0x8C90FE4B381BA60A 0x50A62C43 b323 - // + // inline Void RemoveObjectHighDetailModel(Object object) { return _i(0x4A39DB43E47CF3AA,object); } // 0x4A39DB43E47CF3AA 0xE3261B35 b323 - // + // inline Void BreakObjectFragmentChild(Object p0, Any p1, BOOL p2) { return _i(0xE7E4C198B0185900,p0, p1, p2); } // 0xE7E4C198B0185900 0x1E82C2AE b323 - // + // inline Void DamageObjectFragmentChild(Any p0, Any p1, Any p2) { return _i(0xE05F6AEEFEB0BB02,p0, p1, p2); } // 0xE05F6AEEFEB0BB02 b1180 - // + // inline Void FixObjectFragment(Object object) { return _i(0xF9C1681347C8BD15,object); } // 0xF9C1681347C8BD15 b323 - // + // inline Void TrackObjectVisibility(Object object) { return _i(0xB252BC036B525623,object); } // 0xB252BC036B525623 0x46D06B9A b323 - // + // inline BOOL IsObjectVisible(Object object) { return _i(0x8B32ACE6326A7546,object); } // 0x8B32ACE6326A7546 0xF4FD8AE4 b323 - // + // inline Void SetObjectIsSpecialGolfball(Object object, BOOL toggle) { return _i(0xC6033D32241F6FB5,object, toggle); } // 0xC6033D32241F6FB5 0xF4A1A14A b323 - // + // inline Void SetObjectTakesDamageFromCollidingWithBuildings(Any p0, BOOL p1) { return _i(0xEB6F1A9B5510A5D2,p0, p1); } // 0xEB6F1A9B5510A5D2 0xAF016CC1 b323 - // + // inline Void AllowDamageEventsForNonNetworkedObjects(BOOL value) { return _i(0xABDABF4E1EDECBFA,value); } // 0xABDABF4E1EDECBFA b1365 - // Requires a component_at_*_flsh to be attached to the weapon object + // Requires a component_at_*_flsh to be attached to the weapon object inline Void SetCutscenesWeaponFlashlightOnThisFrame(Object object, BOOL toggle) { return _i(0xBCE595371A5FBAAF,object, toggle); } // 0xBCE595371A5FBAAF 0x3A68AA46 b323 - // Example: + // Example: // OBJECT::GetRayfireMapObject(-809.9619750976562, 170.919, 75.7406997680664, 3.0, "des_tvsmash"); - inline Object GetRayfireMapObject(float x, float y, float z, float radius, String name) { return _i(0xB48FCED898292E52,x, y, z, radius, name); } // 0xB48FCED898292E52 0xA286DE96 b323 - // Defines the state of a destructible object. + inline Object GetRayfireMapObject(float x, float y, float z, float radius, const char* name) { return _i(0xB48FCED898292E52,x, y, z, radius, name); } // 0xB48FCED898292E52 0xA286DE96 b323 + // Defines the state of a destructible object. // Use the GetRayfireMapObject 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 inline Void SetStateOfRayfireMapObject(Object object, int state) { return _i(0x5C29F698D404C5E1,object, state); } // 0x5C29F698D404C5E1 0x21F51560 b323 - // Get a destructible object's state. + // Get a destructible object's state. // Substract 1 to get the real state. // See SetStateOfRayfireMapObject to see the different states // For example, if the object just spawned (state 2), the native will return 3. inline int GetStateOfRayfireMapObject(Object object) { return _i(0x899BA936634A322E,object); } // 0x899BA936634A322E 0xF1B8817A b323 - // Returns true if a destructible object with this handle exists, false otherwise. + // Returns true if a destructible object with this handle exists, false otherwise. inline BOOL DoesRayfireMapObjectExist(Object object) { return _i(0x52AF537A0C5B8AAD,object); } // 0x52AF537A0C5B8AAD 0xE08C834D b323 - // `object`: The des-object handle to get the animation progress from. + // `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. inline float GetRayfireMapObjectAnimPhase(Object object) { return _i(0x260EE4FDBDF4DB01,object); } // 0x260EE4FDBDF4DB01 0x020497DE b323 - // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json inline Pickup CreatePickup(Hash pickupHash, float posX, float posY, float posZ, int p4, int value, BOOL p6, Hash modelHash) { return _i(0xFBA08C503DD5FA58,pickupHash, posX, posY, posZ, p4, value, p6, modelHash); } // 0xFBA08C503DD5FA58 0x5E14DF68 b323 - // flags: + // 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 inline Pickup CreatePickupRotate(Hash pickupHash, float posX, float posY, float posZ, float rotX, float rotY, float rotZ, int flag, int amount, Any p9, BOOL p10, Hash modelHash) { return _i(0x891804727E0A98B7,pickupHash, posX, posY, posZ, rotX, rotY, rotZ, flag, amount, p9, p10, modelHash); } // 0x891804727E0A98B7 0xF015BFE2 b323 - // + // inline Void ForcePickupRotateFaceUp() { return _i(0x394CD08E31313C28); } // 0x394CD08E31313C28 b944 - // + // inline Void SetCustomPickupWeaponHash(Hash pickupHash, Pickup pickup) { return _i(0x826D1EE4D1CAFC78,pickupHash, pickup); } // 0x826D1EE4D1CAFC78 b505 - // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json inline Object CreateAmbientPickup(Hash pickupHash, float posX, float posY, float posZ, int flags, int value, Hash modelHash, BOOL p7, BOOL p8) { return _i(0x673966A0C0FD7171,pickupHash, posX, posY, posZ, flags, value, modelHash, p7, p8); } // 0x673966A0C0FD7171 0x17B99CE7 b323 - // + // inline Object CreateNonNetworkedAmbientPickup(Hash pickupHash, float posX, float posY, float posZ, int flags, int value, Hash modelHash, BOOL p7, BOOL p8) { return _i(0x9C93764223E29C50,pickupHash, posX, posY, posZ, flags, value, modelHash, p7, p8); } // 0x9C93764223E29C50 b2372 - // + // inline Void BlockPlayersForAmbientPickup(Any p0, Any p1) { return _i(0x1E3F1B1B891A2AAA,p0, p1); } // 0x1E3F1B1B891A2AAA b573 - // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json inline Object CreatePortablePickup(Hash pickupHash, float x, float y, float z, BOOL placeOnGround, Hash modelHash) { return _i(0x2EAF1FDB2FB55698,pickupHash, x, y, z, placeOnGround, modelHash); } // 0x2EAF1FDB2FB55698 0x8C886BE5 b323 - // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json inline Object CreateNonNetworkedPortablePickup(Hash pickupHash, float x, float y, float z, BOOL placeOnGround, Hash modelHash) { return _i(0x125494B98A21AAF7,pickupHash, x, y, z, placeOnGround, modelHash); } // 0x125494B98A21AAF7 0x56A02502 b323 - // + // inline Void AttachPortablePickupToPed(Object pickupObject, Ped ped) { return _i(0x8DC39368BDD57755,pickupObject, ped); } // 0x8DC39368BDD57755 0x184F6AB3 b323 - // + // inline Void DetachPortablePickupFromPed(Object pickupObject) { return _i(0xCF463D1E9A0AECB1,pickupObject); } // 0xCF463D1E9A0AECB1 0x1D094562 b323 - // + // inline Void ForcePortablePickupLastAccessiblePositionSetting(Object object) { return _i(0x5CE2E45A5CE2E45A,object); } // 0x5CE2E45A5CE2E45A b2545 - // + // inline Void HidePortablePickupWhenDetached(Object pickupObject, BOOL toggle) { return _i(0x867458251D47CCB2,pickupObject, toggle); } // 0x867458251D47CCB2 0x1F63B042 b463 - // + // inline Void SetMaxNumPortablePickupsCarriedByPlayer(Hash modelHash, int number) { return _i(0xBF3B3BD47D79C08,modelHash, number); } // 0xBF3B3BD47D79C08 0x7EFBA039 b323 - // + // inline Void SetLocalPlayerCanCollectPortablePickups(BOOL toggle) { return _i(0x78857FC65CADB909,toggle); } // 0x78857FC65CADB909 0xA3CDF152 b323 - // + // inline Vector3 GetSafePickupCoords(float x, float y, float z, float p3, float p4) { return _i(0x6E16BC2503FF1FF0,x, y, z, p3, p4); } // 0x6E16BC2503FF1FF0 0x618B5F67 b323 - // Adds an area that seems to be related to pickup physics behavior. + // Adds an area that seems to be related to pickup physics behavior. // Max amount of areas is 10. Only works in multiplayer. inline Void AddExtendedPickupProbeArea(float x, float y, float z, float radius) { return _i(0xD4A7A435B3710D05,x, y, z, radius); } // 0xD4A7A435B3710D05 b1290 - // Clears all areas created by AddExtendedPickupProbeArea + // Clears all areas created by AddExtendedPickupProbeArea inline Void ClearExtendedPickupProbeAreas() { return _i(0xB7C6D80FB371659A); } // 0xB7C6D80FB371659A b1290 - // + // inline Vector3 GetPickupCoords(Pickup pickup) { return _i(0x225B8B35C88029B3,pickup); } // 0x225B8B35C88029B3 0xC2E1E2C5 b323 - // + // inline Void SuppressPickupSoundForPickup(Any p0, Any p1) { return _i(0x8DCA505A5C196F05,p0, p1); } // 0x8DCA505A5C196F05 b1180 - // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json inline Void RemoveAllPickupsOfType(Hash pickupHash) { return _i(0x27F9D613092159CF,pickupHash); } // 0x27F9D613092159CF 0x40062C53 b323 - // + // inline BOOL HasPickupBeenCollected(Pickup pickup) { return _i(0x80EC48E6679313F9,pickup); } // 0x80EC48E6679313F9 0x0BE5CCED b323 - // + // inline Void RemovePickup(Pickup pickup) { return _i(0x3288D8ACAECD2AB2,pickup); } // 0x3288D8ACAECD2AB2 0x64A7A0E0 b323 - // Spawns one or more money pickups. + // 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. @@ -10817,23 +10817,23 @@ namespace OBJECT // // 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 inline Void CreateMoneyPickups(float x, float y, float z, int value, int amount, Hash model) { return _i(0x589B5E791CE9B2B,x, y, z, value, amount, model); } // 0x589B5E791CE9B2B 0x36C9A5EA b323 - // + // inline BOOL DoesPickupExist(Pickup pickup) { return _i(0xAFC1CA75AD4074D1,pickup); } // 0xAFC1CA75AD4074D1 0x9C6DA0B3 b323 - // + // inline BOOL DoesPickupObjectExist(Object pickupObject) { return _i(0xD9EFB6DBF7DAAEA3,pickupObject); } // 0xD9EFB6DBF7DAAEA3 0xE0B32108 b323 - // + // inline Object GetPickupObject(Pickup pickup) { return _i(0x5099BC55630B25AE,pickup); } // 0x5099BC55630B25AE 0x6052E62E b323 - // + // inline BOOL IsObjectAPickup(Object object) { return _i(0xFC481C641EBBD27D,object); } // 0xFC481C641EBBD27D 0x93D23399 b1365 - // + // inline BOOL IsObjectAPortablePickup(Object object) { return _i(0x378C08504160D0D,object); } // 0x378C08504160D0D 0x0F0E94FF b323 - // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json inline BOOL DoesPickupOfTypeExistInArea(Hash pickupHash, float x, float y, float z, float radius) { return _i(0xF9C36251F6E48E33,pickupHash, x, y, z, radius); } // 0xF9C36251F6E48E33 0xF139681B b323 - // + // inline Void SetPickupRegenerationTime(Pickup pickup, int duration) { return _i(0x78015C9B4B3ECC9D,pickup, duration); } // 0x78015C9B4B3ECC9D 0xAB11267D b323 - // + // inline Void ForcePickupRegenerate(Any p0) { return _i(0x758A5C1B3B1E1990,p0); } // 0x758A5C1B3B1E1990 b1011 - // Disabling/enabling a player from getting pickups. From the scripts: + // Disabling/enabling a player from getting pickups. From the scripts: // // OBJECT::SetPlayerPermittedToCollectPickupsOfType(PLAYER::PlayerId(), ${pickup_portable_package}, 0); // OBJECT::SetPlayerPermittedToCollectPickupsOfType(PLAYER::PlayerId(), ${pickup_portable_package}, 0); @@ -10844,53 +10844,53 @@ namespace OBJECT // // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json inline Void SetPlayerPermittedToCollectPickupsOfType(Player player, Hash pickupHash, BOOL toggle) { return _i(0x616093EC6B139DD9,player, pickupHash, toggle); } // 0x616093EC6B139DD9 0x7FADB4B9 b323 - // Maximum amount of pickup models that can be disallowed is 30. + // Maximum amount of pickup models that can be disallowed is 30. inline Void SetLocalPlayerPermittedToCollectPickupsWithModel(Hash modelHash, BOOL toggle) { return _i(0x88EAEC617CD26926,modelHash, toggle); } // 0x88EAEC617CD26926 0x3A8F1BF7 b323 - // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json inline Void AllowAllPlayersToCollectPickupsOfType(Hash pickupHash) { return _i(0xFDC07C58E8AAB715,pickupHash); } // 0xFDC07C58E8AAB715 b1734 - // + // inline Void SetTeamPickupObject(Object object, Any p1, BOOL p2) { return _i(0x53E0DF1A2A3CF0CA,object, p1, p2); } // 0x53E0DF1A2A3CF0CA 0x77687DC5 b323 - // + // inline Void PreventCollectionOfPortablePickup(Object object, BOOL p1, BOOL p2) { return _i(0x92AEFB5F6E294023,object, p1, p2); } // 0x92AEFB5F6E294023 0xCBB5F9B6 b323 - // + // inline Void SetPickupObjectGlowWhenUncollectable(Pickup pickup, BOOL toggle) { return _i(0x27F248C3FEBFAAD3,pickup, toggle); } // 0x27F248C3FEBFAAD3 b2372 - // p1 is always 0.51. This native is called before SetPickupRegenerationTime in all occurances. + // p1 is always 0.51. This native is called before SetPickupRegenerationTime in all occurances. inline Void SetPickupGlowOffset(Pickup pickup, float p1) { return _i(0x596843B34B95CE5,pickup, p1); } // 0x596843B34B95CE5 b505 - // p1 is always -0.2 in scripts and p2 is always true in scripts. + // p1 is always -0.2 in scripts and p2 is always true in scripts. inline Void SetPickupObjectGlowOffset(Pickup pickup, float p1, BOOL p2) { return _i(0xA08FE5E49BDC39DD,pickup, p1, p2); } // 0xA08FE5E49BDC39DD 0x276A7807 b323 - // + // inline Void SetObjectGlowInSameTeam(Pickup pickup) { return _i(0x62454A641B41F3C5,pickup); } // 0x62454A641B41F3C5 b678 - // + // inline Void SetPickupObjectArrowMarker(Pickup pickup, BOOL toggle) { return _i(0x39A5FB7EAF150840,pickup, toggle); } // 0x39A5FB7EAF150840 b678 - // + // inline Void AllowPickupArrowMarkerWhenUncollectable(Pickup pickup, BOOL toggle) { return _i(0x834344A414C7C85D,pickup, toggle); } // 0x834344A414C7C85D b2372 - // + // inline int GetDefaultAmmoForWeaponPickup(Hash pickupHash) { return _i(0xDB41D07A45A6D4B7,pickupHash); } // 0xDB41D07A45A6D4B7 0x000E92DC b323 - // + // inline Void SetPickupGenerationRangeMultiplier(float multiplier) { return _i(0x318516E02DE3ECE2,multiplier); } // 0x318516E02DE3ECE2 0x9879AC51 b323 - // + // inline float GetPickupGenerationRangeMultiplier() { return _i(0xB3ECA65C7317F174); } // 0xB3ECA65C7317F174 b944 - // + // inline Void SetOnlyAllowAmmoCollectionWhenLow(BOOL p0) { return _i(0x31F924B53EADDF65,p0); } // 0x31F924B53EADDF65 0xDB18FA01 b323 - // + // inline Void SetPickupUncollectable(Pickup pickup, BOOL toggle) { return _i(0x1C1B69FAE509BA97,pickup, toggle); } // 0x1C1B69FAE509BA97 b757 - // + // inline Void SetPickupTransparentWhenUncollectable(Pickup pickup, BOOL toggle) { return _i(0x858EC9FD25DE04AA,pickup, toggle); } // 0x858EC9FD25DE04AA b757 - // + // inline Void SetPickupHiddenWhenUncollectable(Pickup pickup, BOOL toggle) { return _i(0x3ED2B83AB2E82799,pickup, toggle); } // 0x3ED2B83AB2E82799 b757 - // + // inline Void SetPickupObjectTransparentWhenUncollectable(Pickup pickup, BOOL toggle) { return _i(0x8881C98A31117998,pickup, toggle); } // 0x8881C98A31117998 b678 - // p0 is either 0 or 50 in scripts. + // p0 is either 0 or 50 in scripts. inline Void SetPickupObjectAlphaWhenTransparent(int p0) { return _i(0x8CFF648FBD7330F1,p0); } // 0x8CFF648FBD7330F1 b757 - // + // inline Void SetPortablePickupPersist(Pickup pickup, BOOL toggle) { return _i(0x46F3ADD1E2D5BAF2,pickup, toggle); } // 0x46F3ADD1E2D5BAF2 b877 - // + // inline Void AllowPortablePickupToMigrateToNonParticipants(Pickup pickup, BOOL toggle) { return _i(0x641F272B52E2F0F8,pickup, toggle); } // 0x641F272B52E2F0F8 b877 - // + // inline Void ForceActivatePhysicsOnUnfixedPickup(Pickup pickup, BOOL toggle) { return _i(0x4C134B4DF76025D0,pickup, toggle); } // 0x4C134B4DF76025D0 b1180 - // + // inline Void AllowPickupByNoneParticipant(Pickup pickup, BOOL toggle) { return _i(0xAA059C615DE9DD03,pickup, toggle); } // 0xAA059C615DE9DD03 b1180 - // enum ePickupRewardType + // enum ePickupRewardType // { // PICKUP_REWARD_TYPE_AMMO = (1 << 0), // PICKUP_REWARD_TYPE_BULLET_MP = (1 << 1), @@ -10908,11 +10908,11 @@ namespace OBJECT // PICKUP_REWARD_TYPE_FIREWORK_MP = (1 << 10), // }; inline Void SuppressPickupRewardType(int rewardType, BOOL suppress) { return _i(0xF92099527DB8E2A7,rewardType, suppress); } // 0xF92099527DB8E2A7 0xA7E936FD b323 - // + // inline Void ClearAllPickupRewardTypeSuppression() { return _i(0xA2C1F5E92AFE49ED); } // 0xA2C1F5E92AFE49ED 0xB241806C b323 - // + // inline Void ClearPickupRewardTypeSuppression(int rewardType) { return _i(0x762DB2D380B48D04,rewardType); } // 0x762DB2D380B48D04 0xD1BAAFB7 b323 - // draws circular marker at pos + // draws circular marker at pos // -1 = none // 0 = red // 1 = green @@ -10921,23 +10921,23 @@ namespace OBJECT // 4 = nothing // 5 = green small inline Void RenderFakePickupGlow(float x, float y, float z, int colorIndex) { return _i(0x3430676B11CDF21D,x, y, z, colorIndex); } // 0x3430676B11CDF21D 0x63B02FAD b323 - // + // inline Void SetPickupObjectCollectableInVehicle(Pickup pickup) { return _i(0x7813E8B8C4AE4799,pickup); } // 0x7813E8B8C4AE4799 b1734 - // + // inline Void SetPickupTrackDamageEvents(Pickup pickup, BOOL toggle) { return _i(0xBFFE53AE7E67FCDC,pickup, toggle); } // 0xBFFE53AE7E67FCDC b1290 - // Sets entity+38 to C (when false) or 0xFF3f (when true) + // Sets entity+38 to C (when false) or 0xFF3f (when true) inline Void SetEntityFlagSuppressShadow(Entity entity, BOOL toggle) { return _i(0xD05A3241B9A86F19,entity, toggle); } // 0xD05A3241B9A86F19 b1180 - // + // inline Void SetEntityFlagRenderSmallShadow(Object object, BOOL toggle) { return _i(0xB2D0BDE54F0E8E5A,object, toggle); } // 0xB2D0BDE54F0E8E5A 0x132B6D92 b323 - // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json + // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json inline Hash GetWeaponTypeFromPickupType(Hash pickupHash) { return _i(0x8F96CA6C551AD51,pickupHash); } // 0x8F96CA6C551AD51 0xEDD01937 b323 - // Returns the pickup hash for the given weapon hash + // Returns the pickup hash for the given weapon hash inline Hash GetPickupTypeFromWeaponHash(Hash weaponHash) { return _i(0xD6429A016084F1A5,weaponHash); } // 0xD6429A016084F1A5 b1290 - // + // inline BOOL IsPickupWeaponObjectValid(Object object) { return _i(0x11D1E53A726891FE,object); } // 0x11D1E53A726891FE 0x883DAB2D b323 - // + // inline int GetObjectTintIndex(Object object) { return _i(0xE84EB93729C5F36A,object); } // 0xE84EB93729C5F36A b757 - // enum ObjectPaintVariants + // enum ObjectPaintVariants // { // Pacific = 0, // Azure = 1, @@ -10957,115 +10957,115 @@ namespace OBJECT // Voyager = 15 // }; inline Void SetObjectTintIndex(Object object, int textureVariation) { return _i(0x971DA0055324D033,object, textureVariation); } // 0x971DA0055324D033 b323 - // + // inline BOOL SetTintIndexClosestBuildingOfType(float x, float y, float z, float radius, Hash modelHash, int textureVariation) { return _i(0xF12E33034D887F66,x, y, z, radius, modelHash, textureVariation); } // 0xF12E33034D887F66 b1103 - // + // inline Void SetPropTintIndex(Any p0, Any p1) { return _i(0x31574B1B41268673,p0, p1); } // 0x31574B1B41268673 b2189 - // + // inline BOOL SetPropLightColor(Object object, BOOL p1, int r, int g, int b) { return _i(0x5F048334B4A4E774,object, p1, r, g, b); } // 0x5F048334B4A4E774 b1493 - // + // inline BOOL IsPropLightOverriden(Object object) { return _i(0xADF084FB8F075D06,object); } // 0xADF084FB8F075D06 b1604 - // + // inline Void SetObjectIsVisibleInMirrors(Object object, BOOL toggle) { return _i(0x3B2FD68DB5F8331C,object, toggle); } // 0x3B2FD68DB5F8331C b757 - // + // inline Void SetObjectSpeedBoostAmount(Object object, Any p1) { return _i(0x96EE0EBA0163DF80,object, p1); } // 0x96EE0EBA0163DF80 b791 - // + // inline Void SetObjectSpeedBoostDuration(Object object, float duration) { return _i(0xDF6CA0330F2E737B,object, duration); } // 0xDF6CA0330F2E737B b791 - // returns pickup hash. + // returns pickup hash. // // Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json inline Hash ConvertOldPickupTypeToNew(Hash pickupHash) { return _i(0x5EAAD83F8CFB4575,pickupHash); } // 0x5EAAD83F8CFB4575 0x6AE36192 b323 - // + // inline Void SetForceObjectThisFrame(float x, float y, float z, float p3) { return _i(0xF538081986E49E9D,x, y, z, p3); } // 0xF538081986E49E9D 0x3DA41C1A b323 - // is this like setting is as no longer needed? + // is this like setting is as no longer needed? inline Void OnlyCleanUpObjectWhenOutOfRange(Object object) { return _i(0xADBE4809F19F927A,object); } // 0xADBE4809F19F927A 0x2048A7DD b323 - // + // inline Void SetDisableCollisionsBetweenCarsAndCarParachute(Any p0) { return _i(0x8CAAB2BD3EA58BD4,p0); } // 0x8CAAB2BD3EA58BD4 b1011 - // + // inline Void SetProjectilesShouldExplodeOnContact(Entity entity, Any p1) { return _i(0x63ECF581BC70E363,entity, p1); } // 0x63ECF581BC70E363 b1365 - // Activate the physics to: "xs_prop_arena_{flipper,wall,bollard,turntable,pit}" + // Activate the physics to: "xs_prop_arena_{flipper,wall,bollard,turntable,pit}" inline Void SetDriveArticulatedJoint(Object object, BOOL toggle, int p2) { return _i(0x911024442F4898F0,object, toggle, p2); } // 0x911024442F4898F0 b1604 - // + // inline Void SetDriveArticulatedJointWithInflictor(Object object, BOOL toggle, int p2, Ped ped) { return _i(0xB20834A7DD3D8896,object, toggle, p2, ped); } // 0xB20834A7DD3D8896 b1604 - // + // inline Void SetObjectIsAPressurePlate(Object object, BOOL toggle) { return _i(0x734E1714D077DA9A,object, toggle); } // 0x734E1714D077DA9A b1604 - // + // inline Void SetWeaponImpactsApplyGreaterForce(Object object, BOOL p1) { return _i(0x1A6CBB06E2D0D79D,object, p1); } // 0x1A6CBB06E2D0D79D b1604 - // + // inline BOOL GetIsArticulatedJointAtMinAngle(Object object, Any p1) { return _i(0x43C677F1E1158005,object, p1); } // 0x43C677F1E1158005 b1604 - // + // inline BOOL GetIsArticulatedJointAtMaxAngle(Any p0, Any p1) { return _i(0x3BD770D281982DB5,p0, p1); } // 0x3BD770D281982DB5 b1604 - // + // inline Void SetIsObjectArticulated(Object object, BOOL toggle) { return _i(0x1C57C94A6446492A,object, toggle); } // 0x1C57C94A6446492A b1604 - // + // inline Void SetIsObjectBall(Object object, BOOL toggle) { return _i(0xB5B7742424BD4445,object, toggle); } // 0xB5B7742424BD4445 b1604 } namespace PAD { - // control: 0: PLAYER_CONTROL, 1: CAMERA_CONTROL, 2: FRONTEND_CONTROL + // control: 0: PLAYER_CONTROL, 1: CAMERA_CONTROL, 2: FRONTEND_CONTROL // For more info, see https://docs.fivem.net/docs/game-references/controls/ inline BOOL IsControlEnabled(int control, int action) { return _i(0x1CEA6BFDF248E5D9,control, action); } // 0x1CEA6BFDF248E5D9 0x9174AF84 b323 - // Returns whether a control is currently pressed. + // Returns whether a control is currently pressed. // control: see IsControlEnabled inline BOOL IsControlPressed(int control, int action) { return _i(0xF3A21BCD95725A4A,control, action); } // 0xF3A21BCD95725A4A 0x517A4384 b323 - // Returns whether a control is currently _not_ pressed. + // Returns whether a control is currently _not_ pressed. // control: see IsControlEnabled inline BOOL IsControlReleased(int control, int action) { return _i(0x648EE3E7F38877DD,control, action); } // 0x648EE3E7F38877DD 0x1F91A06E b323 - // Returns whether a control was newly pressed since the last check. + // Returns whether a control was newly pressed since the last check. // control: see IsControlEnabled inline BOOL IsControlJustPressed(int control, int action) { return _i(0x580417101DDB492F,control, action); } // 0x580417101DDB492F 0x4487F579 b323 - // Returns whether a control was newly released since the last check. + // Returns whether a control was newly released since the last check. // control: see IsControlEnabled inline BOOL IsControlJustReleased(int control, int action) { return _i(0x50F940259D3841E6,control, action); } // 0x50F940259D3841E6 0x2314444B b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline int GetControlValue(int control, int action) { return _i(0xD95E79E8686D2C27,control, action); } // 0xD95E79E8686D2C27 0xC526F3C6 b323 - // Returns the value of GetControlValue normalized (i.e. a real number value between -1 and 1) + // Returns the value of GetControlValue normalized (i.e. a real number value between -1 and 1) // // control: see IsControlEnabled inline float GetControlNormal(int control, int action) { return _i(0xEC3C9B8D5327B563,control, action); } // 0xEC3C9B8D5327B563 0x5DE226A5 b323 - // + // inline Void SetUseAdjustedMouseCoords(BOOL toggle) { return _i(0x5B73C77D9EB66E24,toggle); } // 0x5B73C77D9EB66E24 b323 - // Seems to return values between -1 and 1 for controls like gas and steering. + // Seems to return values between -1 and 1 for controls like gas and steering. // // control: see IsControlEnabled inline float GetControlUnboundNormal(int control, int action) { return _i(0x5B84D09CEC5209C5,control, action); } // 0x5B84D09CEC5209C5 0xC49343BB b323 - // This is for simulating player input. + // This is for simulating player input. // value is a float value from 0 - 1 // // control: see IsControlEnabled inline BOOL SetControlValueNextFrame(int control, int action, float value) { return _i(0xE8A25867FBA3B05E,control, action, value); } // 0xE8A25867FBA3B05E b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline BOOL IsDisabledControlPressed(int control, int action) { return _i(0xE2587F8CBBD87B1D,control, action); } // 0xE2587F8CBBD87B1D 0x32A93544 b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline BOOL IsDisabledControlReleased(int control, int action) { return _i(0xFB6C4072E9A32E92,control, action); } // 0xFB6C4072E9A32E92 b757 - // control: see IsControlEnabled + // control: see IsControlEnabled inline BOOL IsDisabledControlJustPressed(int control, int action) { return _i(0x91AEF906BCA88877,control, action); } // 0x91AEF906BCA88877 0xEE6ABD32 b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline BOOL IsDisabledControlJustReleased(int control, int action) { return _i(0x305C8DCD79DA8B0F,control, action); } // 0x305C8DCD79DA8B0F 0xD6A679E1 b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline float GetDisabledControlNormal(int control, int action) { return _i(0x11E65974A982637C,control, action); } // 0x11E65974A982637C 0x66FF4FAA b323 - // The "disabled" variant of GetControlUnboundNormal. + // The "disabled" variant of GetControlUnboundNormal. // // control: see IsControlEnabled inline float GetDisabledControlUnboundNormal(int control, int action) { return _i(0x4F8A26A890FD62FB,control, action); } // 0x4F8A26A890FD62FB 0xF2A65A4C b323 - // Returns time in ms since last input. + // Returns time in ms since last input. // // control: see IsControlEnabled inline int GetControlHowLongAgo(int control) { return _i(0xD7D22F5592AED8BA,control); } // 0xD7D22F5592AED8BA 0x0E8EF929 b323 - // control: unused parameter + // control: unused parameter inline BOOL IsUsingKeyboardAndMouse(int control) { return _i(0xA571D46727E2B718,control); } // 0xA571D46727E2B718 b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline BOOL IsUsingCursor(int control) { return _i(0x13337B38DB572509,control); } // 0x13337B38DB572509 b323 - // + // inline BOOL SetCursorPosition(float x, float y) { return _i(0xFC695459D4D0E219,x, y); } // 0xFC695459D4D0E219 b323 - // control: see IsControlEnabled + // control: see IsControlEnabled // // Hardcoded to return false. inline BOOL IsUsingRemotePlay(int control) { return _i(0x23F09EADC01449D6,control); } // 0x23F09EADC01449D6 b323 - // control: unused parameter + // control: unused parameter inline BOOL HaveControlsChanged(int control) { return _i(0x6CD79468A1E595C6,control); } // 0x6CD79468A1E595C6 b323 - // allowXOSwap appears to always be true. + // allowXOSwap appears to always be true. // // EG: // GET_CONTROL_INSTRUCTIONAL_BUTTON (2, 201, 1) /*INPUT_FRONTEND_ACCEPT (e.g. Enter button)*/ @@ -11075,31 +11075,31 @@ namespace PAD // gtaforums.com/topic/819070-c-draw-instructional-buttons-scaleform-movie/#entry1068197378 // // control: unused parameter - inline String GetControlInstructionalButtonsString(int control, int action, BOOL allowXOSwap) { return _i(0x499D7B09FC9B407,control, action, allowXOSwap); } // 0x499D7B09FC9B407 b323 - // control: unused parameter - inline String GetControlGroupInstructionalButtonsString(int control, int controlGroup, BOOL allowXOSwap) { return _i(0x80C2FD58D720C801,control, controlGroup, allowXOSwap); } // 0x80C2FD58D720C801 b323 - // control: see IsControlEnabled + inline const char* GetControlInstructionalButtonsString(int control, int action, BOOL allowXOSwap) { return _i(0x499D7B09FC9B407,control, action, allowXOSwap); } // 0x499D7B09FC9B407 b323 + // control: unused parameter + inline const char* GetControlGroupInstructionalButtonsString(int control, int controlGroup, BOOL allowXOSwap) { return _i(0x80C2FD58D720C801,control, controlGroup, allowXOSwap); } // 0x80C2FD58D720C801 b323 + // control: see IsControlEnabled inline Void SetControlLightEffectColor(int control, int red, int green, int blue) { return _i(0x8290252FFF36ACB5,control, red, green, blue); } // 0x8290252FFF36ACB5 b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline Void ClearControlLightEffect(int control) { return _i(0xCB0360EFEFB2580D,control); } // 0xCB0360EFEFB2580D b323 - // control: see IsControlEnabled + // control: see IsControlEnabled // duration in milliseconds // frequency should range from about 10 (slow vibration) to 255 (very fast) // // example: // SetControlShake(PLAYER_CONTROL, 100, 200); inline Void SetControlShake(int control, int duration, int frequency) { return _i(0x48B3886C1358D0D5,control, duration, frequency); } // 0x48B3886C1358D0D5 b323 - // Does nothing (it's a nullsub). + // Does nothing (it's a nullsub). inline Void SetControlTriggerShake(int control, int leftDuration, int leftFrequency, int rightDuration, int rightFrequency) { return _i(0x14D29BB12D47F68C,control, leftDuration, leftFrequency, rightDuration, rightFrequency); } // 0x14D29BB12D47F68C b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline Void StopControlShake(int control) { return _i(0x38C16A305E8CDC8D,control); } // 0x38C16A305E8CDC8D b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline Void SetControlShakeSuppressedId(int control, int uniqueId) { return _i(0xF239400E16C23E08,control, uniqueId); } // 0xF239400E16C23E08 b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline Void ClearControlShakeSuppressedId(int control) { return _i(0xA0CEFCEA390AAB9B,control); } // 0xA0CEFCEA390AAB9B b323 - // + // inline BOOL IsLookInverted() { return _i(0x77B612531280010D); } // 0x77B612531280010D 0x313434B2 b323 - // Used with IsLookInverted() and negates its affect. + // Used with IsLookInverted() and negates its affect. // // -- // @@ -11116,50 +11116,50 @@ namespace PAD // } // } inline BOOL IsMouseLookInverted() { return _i(0xE1615EC03B3BB4FD); } // 0xE1615EC03B3BB4FD b323 - // Hard-coded to return 3 if using KBM, otherwise same behavior as GetLocalPlayerGamepadAimState. + // Hard-coded to return 3 if using KBM, otherwise same behavior as GetLocalPlayerGamepadAimState. inline int GetLocalPlayerAimState() { return _i(0xBB41AFBBBC0A0287); } // 0xBB41AFBBBC0A0287 0x81802053 b323 - // Returns the local player's targeting mode. See PLAYER::SetPlayerTargetingMode. + // Returns the local player's targeting mode. See PLAYER::SetPlayerTargetingMode. inline int GetLocalPlayerGamepadAimState() { return _i(0x59B9A7AF4C95133C); } // 0x59B9A7AF4C95133C b323 - // + // inline BOOL GetIsUsingAlternateHandbrake() { return _i(0x25AAA32BDC98F2A3); } // 0x25AAA32BDC98F2A3 b1365 - // Returns profile setting 225. + // Returns profile setting 225. inline BOOL GetIsUsingAlternateDriveby() { return _i(0xF70731BACCFBB96); } // 0xF70731BACCFBB96 0xC1AFABD5 b323 - // Returns profile setting 17. + // Returns profile setting 17. inline BOOL GetAllowMovementWhileZoomed() { return _i(0xFC859E2374407556); } // 0xFC859E2374407556 0xC0823820 b323 - // + // inline Void SetPlayerpadShakesWhenControllerDisabled(BOOL toggle) { return _i(0x798FDEB5B1575088,toggle); } // 0x798FDEB5B1575088 0xA86BD91F b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline Void SetInputExclusive(int control, int action) { return _i(0xEDE476E5EE29EDB1,control, action); } // 0xEDE476E5EE29EDB1 0x4E8E29E6 b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline Void DisableControlAction(int control, int action, BOOL disableRelatedActions) { return _i(0xFE99B66D079CF6BC,control, action, disableRelatedActions); } // 0xFE99B66D079CF6BC 0x3800C0DC b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline Void EnableControlAction(int control, int action, BOOL enableRelatedActions) { return _i(0x351220255D64C155,control, action, enableRelatedActions); } // 0x351220255D64C155 0xD2753551 b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline Void DisableAllControlActions(int control) { return _i(0x5F4B6931816E599B,control); } // 0x5F4B6931816E599B 0x16753CF4 b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline Void EnableAllControlActions(int control) { return _i(0xA5FFE9B05F199DE7,control); } // 0xA5FFE9B05F199DE7 0xFC2F119F b323 - // Used in carsteal3 script with schemeName = "Carsteal4_spycar". - inline BOOL InitPcScriptedControls(String schemeName) { return _i(0x3D42B92563939375,schemeName); } // 0x3D42B92563939375 0xD2C80B2E b323 - // Same as InitPcScriptedControls - inline BOOL SwitchPcScriptedControls(String schemeName) { return _i(0x4683149ED1DDE7A1,schemeName); } // 0x4683149ED1DDE7A1 0xBBFC9050 b323 - // + // Used in carsteal3 script with schemeName = "Carsteal4_spycar". + inline BOOL InitPcScriptedControls(const char* schemeName) { return _i(0x3D42B92563939375,schemeName); } // 0x3D42B92563939375 0xD2C80B2E b323 + // Same as InitPcScriptedControls + inline BOOL SwitchPcScriptedControls(const char* schemeName) { return _i(0x4683149ED1DDE7A1,schemeName); } // 0x4683149ED1DDE7A1 0xBBFC9050 b323 + // inline Void ShutdownPcScriptedControls() { return _i(0x643ED62D5EA3BEBD); } // 0x643ED62D5EA3BEBD 0x42140FF9 b323 - // control: see IsControlEnabled + // control: see IsControlEnabled inline Void AllowAlternativeScriptControlsLayout(int control) { return _i(0x7F4724035FDCA1DD,control); } // 0x7F4724035FDCA1DD 0x2CEDE6C5 b323 } namespace PATHFIND { - // When nodeEnabled is set to false, all nodes in the area get disabled. + // When nodeEnabled is set to false, all nodes in the area get disabled. // `GetVehicleNodeIsSwitchedOff` returns true afterwards. // If it's true, `GetVehicleNodeIsSwitchedOff` returns false. inline Void SetRoadsInArea(float x1, float y1, float z1, float x2, float y2, float z2, BOOL nodeEnabled, BOOL unknown2) { return _i(0xBF1A602B5BA52FEE,x1, y1, z1, x2, y2, z2, nodeEnabled, unknown2); } // 0xBF1A602B5BA52FEE 0xEBC7B918 b323 - // unknown3 is related to `SEND_SCRIPT_WORLD_STATE_EVENT > CNetworkRoadNodeWorldStateData` in networked environments. + // unknown3 is related to `SEND_SCRIPT_WORLD_STATE_EVENT > CNetworkRoadNodeWorldStateData` in networked environments. // See IsPointInAngledArea for the definition of an angled area. inline Void SetRoadsInAngledArea(float x1, float y1, float z1, float x2, float y2, float z2, float width, BOOL unknown1, BOOL unknown2, BOOL unknown3) { return _i(0x1A5AA1208AF5DB59,x1, y1, z1, x2, y2, z2, width, unknown1, unknown2, unknown3); } // 0x1A5AA1208AF5DB59 0xBD088F4B b323 - // + // inline Void SetPedPathsInArea(float x1, float y1, float z1, float x2, float y2, float z2, BOOL p6, Any p7) { return _i(0x34F060F4BF92E018,x1, y1, z1, x2, y2, z2, p6, p7); } // 0x34F060F4BF92E018 0x2148EA84 b323 - // Flags are: + // Flags are: // 1 = 1 = B02_IsFootpath // 2 = 4 = !B15_InteractionUnk // 4 = 0x20 = !B14_IsInterior @@ -11173,11 +11173,11 @@ namespace PATHFIND // // 16 works for me, 0 crashed the script. inline BOOL GetSafeCoordForPed(float x, float y, float z, BOOL onGround, Vector3* outPosition, int flags) { return _i(0xB61C8E878A4199CA,x, y, z, onGround, outPosition, flags); } // 0xB61C8E878A4199CA 0xB370270A b323 - // https://gtaforums.com/topic/843561-pathfind-node-types + // https://gtaforums.com/topic/843561-pathfind-node-types inline BOOL GetClosestVehicleNode(float x, float y, float z, Vector3* outPosition, int nodeFlags, float p5, float p6) { return _i(0x240A18690AE96513,x, y, z, outPosition, nodeFlags, p5, p6); } // 0x240A18690AE96513 0x6F5F1E6C b323 - // Get the closest vehicle node to a given position. + // Get the closest vehicle node to a given position. inline BOOL GetClosestMajorVehicleNode(float x, float y, float z, Vector3* outPosition, float unknown1, float unknown2) { return _i(0x2EABE3B06F58C1BE,x, y, z, outPosition, unknown1, unknown2); } // 0x2EABE3B06F58C1BE 0x04B5F15B b323 - // p5, p6 and p7 seems to be about the same as p4, p5 and p6 for GetClosestVehicleNode. 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, p6 and p7 seems to be about the same as p4, p5 and p6 for GetClosestVehicleNode. 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. // // nodeType: 0 = main roads, 1 = any dry path, 3 = water // p6 is always 3.0 @@ -11197,64 +11197,64 @@ namespace PATHFIND // ------------------------------------------------------------------ // C# Example (ins1de) : https://pastebin.com/fxtMWAHD inline BOOL GetClosestVehicleNodeWithHeading(float x, float y, float z, Vector3* outPosition, float* outHeading, int nodeType, float p6, float p7) { return _i(0xFF071FB798B803B0,x, y, z, outPosition, outHeading, nodeType, p6, p7); } // 0xFF071FB798B803B0 0x8BD5759B b323 - // + // inline BOOL GetNthClosestVehicleNode(float x, float y, float z, int nthClosest, Vector3* outPosition, int nodeFlags, float unknown1, float unknown2) { return _i(0xE50E52416CCF948B,x, y, z, nthClosest, outPosition, nodeFlags, unknown1, unknown2); } // 0xE50E52416CCF948B 0xF125BFCC b323 - // Returns the id. + // Returns the id. inline int GetNthClosestVehicleNodeId(float x, float y, float z, int nth, int nodeFlags, float p5, float p6) { return _i(0x22D7275A79FE8215,x, y, z, nth, nodeFlags, p5, p6); } // 0x22D7275A79FE8215 0x3F358BEA b323 - // Get the nth closest vehicle node and its heading. + // Get the nth closest vehicle node and its heading. inline BOOL GetNthClosestVehicleNodeWithHeading(float x, float y, float z, int nthClosest, Vector3* outPosition, float* outHeading, int* outNumLanes, int nodeFlags, float unknown3, float unknown4) { return _i(0x80CA6A8B6C094CC4,x, y, z, nthClosest, outPosition, outHeading, outNumLanes, nodeFlags, unknown3, unknown4); } // 0x80CA6A8B6C094CC4 0x7349C856 b323 - // + // inline int GetNthClosestVehicleNodeIdWithHeading(float x, float y, float z, int nthClosest, Vector3* outPosition, float* outHeading, int nodeFlags, float p7, float p8) { return _i(0x6448050E9C2A7207,x, y, z, nthClosest, outPosition, outHeading, nodeFlags, p7, p8); } // 0x6448050E9C2A7207 0xC1AEB88D b323 - // See gtaforums.com/topic/843561-pathfind-node-types for node type info. 0 = paved road only, 1 = any road, 3 = water + // 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 inline BOOL GetNthClosestVehicleNodeFavourDirection(float x, float y, float z, float desiredX, float desiredY, float desiredZ, int nthClosest, Vector3* outPosition, float* outHeading, int nodeFlags, float p10, float p11) { return _i(0x45905BE8654AE067,x, y, z, desiredX, desiredY, desiredZ, nthClosest, outPosition, outHeading, nodeFlags, p10, p11); } // 0x45905BE8654AE067 0x928A4DEC b323 - // Gets the density and flags of the closest node to the specified position. + // 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. inline BOOL GetVehicleNodeProperties(float x, float y, float z, int* density, int* flags) { return _i(0x568566ACBB5DEDC,x, y, z, density, flags); } // 0x568566ACBB5DEDC 0xCC90110B b323 - // Returns true if the id is non zero. + // Returns true if the id is non zero. inline BOOL IsVehicleNodeIdValid(int vehicleNodeId) { return _i(0x1EAF30FCFBF5AF74,vehicleNodeId); } // 0x1EAF30FCFBF5AF74 0x57DFB1EF b323 - // Calling this with an invalid node id, will crash the game. + // Calling this with an invalid node id, will crash the game. // Note that IsVehicleNodeIdValid simply checks if nodeId is not zero. It does not actually ensure that the id is valid. // Eg. IsVehicleNodeIdValid(1) will return true, but will crash when calling GetVehicleNodePosition(). inline Void GetVehicleNodePosition(int nodeId, Vector3* outPosition) { return _i(0x703123E5E7D429C2,nodeId, outPosition); } // 0x703123E5E7D429C2 0xE38E252D b323 - // Returns false for nodes that aren't used for GPS routes. + // Returns false for nodes that aren't used for GPS routes. // Example: // Nodes in Fort Zancudo and LSIA are false inline BOOL GetVehicleNodeIsGpsAllowed(int nodeID) { return _i(0xA2AE5C478B96E3B6,nodeID); } // 0xA2AE5C478B96E3B6 0xEE4B1219 b323 - // Returns true when the node is Offroad. Alleys, some dirt roads, and carparks return true. + // 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 inline BOOL GetVehicleNodeIsSwitchedOff(int nodeID) { return _i(0x4F5070AA58F69279,nodeID); } // 0x4F5070AA58F69279 0x56737A3C b323 - // p1 seems to be always 1.0f in the scripts + // p1 seems to be always 1.0f in the scripts inline BOOL GetClosestRoad(float x, float y, float z, float p3, int p4, Vector3* p5, Vector3* p6, Any* p7, Any* p8, float* p9, BOOL p10) { return _i(0x132F52BBA570FE92,x, y, z, p3, p4, p5, p6, p7, p8, p9, p10); } // 0x132F52BBA570FE92 0x567B0E11 b323 - // + // inline BOOL LoadAllPathNodes(BOOL set) { return _i(0xC2AB6BFE34E92F8B,set); } // 0xC2AB6BFE34E92F8B b2802 - // + // inline Void SetAllowStreamPrologueNodes(BOOL toggle) { return _i(0x228E5C6AD4D74BFD,toggle); } // 0x228E5C6AD4D74BFD 0xD6A3B458 b323 - // 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. + // 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. inline Void SetAllowStreamHeistIslandNodes(int type) { return _i(0xF74B1FFA4A15FBEA,type); } // 0xF74B1FFA4A15FBEA b2189 - // + // inline BOOL AreNodesLoadedForArea(float x1, float y1, float x2, float y2) { return _i(0xF7B79A50B905A30D,x1, y1, x2, y2); } // 0xF7B79A50B905A30D 0x86E80A17 b323 - // Used internally for long range tasks + // Used internally for long range tasks inline BOOL RequestPathNodesInAreaThisFrame(float x1, float y1, float x2, float y2) { return _i(0x7FB139B592FA687,x1, y1, x2, y2); } // 0x7FB139B592FA687 0x2CDA5012 b323 - // + // inline Void SetRoadsBackToOriginal(float p0, float p1, float p2, float p3, float p4, float p5, Any p6) { return _i(0x1EE7063B80FFC77C,p0, p1, p2, p3, p4, p5, p6); } // 0x1EE7063B80FFC77C 0x86AC4A85 b323 - // See IsPointInAngledArea for the definition of an angled area. + // See IsPointInAngledArea for the definition of an angled area. // bool p7 - always 1 inline Void SetRoadsBackToOriginalInAngledArea(float x1, float y1, float z1, float x2, float y2, float z2, float width, Any p7) { return _i(0x27501B9F3B407E,x1, y1, z1, x2, y2, z2, width, p7); } // 0x27501B9F3B407E 0x9DB5D209 b323 - // + // inline Void SetAmbientPedRangeMultiplierThisFrame(float multiplier) { return _i(0xB919E1FB47CC4E0,multiplier); } // 0xB919E1FB47CC4E0 0x3C5085E4 b323 - // + // inline Void AdjustAmbientPedSpawnDensitiesThisFrame(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6) { return _i(0xAA76052DDA9BFC3E,p0, p1, p2, p3, p4, p5, p6); } // 0xAA76052DDA9BFC3E 0xD0F51299 b323 - // p6 is always 0 + // p6 is always 0 inline Void SetPedPathsBackToOriginal(float x1, float y1, float z1, float x2, float y2, float z2, Any p6) { return _i(0xE04B48F2CC926253,x1, y1, z1, x2, y2, z2, p6); } // 0xE04B48F2CC926253 0x3F1ABDA4 b323 - // + // inline BOOL GetRandomVehicleNode(float x, float y, float z, float radius, BOOL p4, BOOL p5, BOOL p6, Vector3* outPosition, int* nodeId) { return _i(0x93E0DB8440B73A7D,x, y, z, radius, p4, p5, p6, outPosition, nodeId); } // 0x93E0DB8440B73A7D 0xAD1476EA b323 - // + // inline Vector3 GetSpawnCoordsForVehicleNode(int nodeAddress, float towardsCoorsX, float towardsCoorsY, float towardsCoorsZ, Vector3* centrePoint, float* heading) { return _i(0x809549AFC7AEC597,nodeAddress, towardsCoorsX, towardsCoorsY, towardsCoorsZ, centrePoint, heading); } // 0x809549AFC7AEC597 b2944 - // Determines the name of the street which is the closest to the given coordinates. + // 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 @@ -11262,7 +11262,7 @@ namespace PATHFIND // // Note: the names are returned as hashes, the strings can be returned using the function HUD::GetStreetNameFromHashKey. inline Void GetStreetNameAtCoord(float x, float y, float z, Hash* streetName, Hash* crossingRoad) { return _i(0x2EB41072B4C1E4C0,x, y, z, streetName, crossingRoad); } // 0x2EB41072B4C1E4C0 0xDEBEEFCF b323 - // p3 is 0 in the only game script occurrence (trevor3) but 1 doesn't seem to make a difference + // 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 // @@ -11279,70 +11279,70 @@ namespace PATHFIND // // return value set to 0 always inline int GenerateDirectionsToCoord(float x, float y, float z, BOOL p3, int* direction, float* p5, float* distToNxJunction) { return _i(0xF90125F1F79ECDF8,x, y, z, p3, direction, p5, distToNxJunction); } // 0xF90125F1F79ECDF8 0xED35C094 b323 - // + // inline Void SetIgnoreNoGpsFlag(BOOL toggle) { return _i(0x72751156E7678833,toggle); } // 0x72751156E7678833 0xB72CF194 b323 - // See: SetBlipRoute + // See: SetBlipRoute inline Void SetIgnoreNoGpsFlagUntilFirstNormalNode(BOOL toggle) { return _i(0x1FC289A0C3FF470F,toggle); } // 0x1FC289A0C3FF470F 0x90DF7A4C b323 - // + // inline Void SetGpsDisabledZone(float x1, float y1, float z1, float x2, float y2, float z3) { return _i(0xDC20483CD3DD5201,x1, y1, z1, x2, y2, z3); } // 0xDC20483CD3DD5201 0x720B8073 b323 - // + // inline int GetGpsBlipRouteLength() { return _i(0xBBB45C3CF5C8AA85); } // 0xBBB45C3CF5C8AA85 0x4B770634 b323 - // p3 can be 0, 1 or 2. + // p3 can be 0, 1 or 2. inline BOOL GetPosAlongGpsTypeRoute(Vector3* result, BOOL p1, float p2, int p3) { return _i(0xF3162836C28F9DA5,result, p1, p2, p3); } // 0xF3162836C28F9DA5 b505 - // + // inline BOOL GetGpsBlipRouteFound() { return _i(0x869DAACBBE9FA006); } // 0x869DAACBBE9FA006 0x286F82CC b323 - // + // inline BOOL GetRoadBoundaryUsingHeading(float x, float y, float z, float heading, Vector3* outPosition) { return _i(0xA0F8A7517A273C05,x, y, z, heading, outPosition); } // 0xA0F8A7517A273C05 0x5E440AC7 b463 - // + // inline BOOL GetPositionBySideOfRoad(float x, float y, float z, int p3, Vector3* outPosition) { return _i(0x16F46FB18C8009E4,x, y, z, p3, outPosition); } // 0x16F46FB18C8009E4 0xF6422F9A b323 - // Gets a value indicating whether the specified position is on a road. + // Gets a value indicating whether the specified position is on a road. // The vehicle parameter is not implemented (ignored). inline BOOL IsPointOnRoad(float x, float y, float z, Vehicle vehicle) { return _i(0x125BF4ABFC536B09,x, y, z, vehicle); } // 0x125BF4ABFC536B09 0xCF198055 b323 - // Gets the next zone that has been disabled using SetGpsDisabledZone_AT_INDEX. + // Gets the next zone that has been disabled using SetGpsDisabledZone_AT_INDEX. inline int GetNextGpsDisabledZoneIndex() { return _i(0xD3A6A0EF48823A8C); } // 0xD3A6A0EF48823A8C 0xBE92551F b323 - // 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. + // 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 ClearGpsDisabledZoneAtIndex. // // **Setting a waypoint at the same coordinate:** // Disabled Zone: https://i.imgur.com/P9VUuxM.png // Enabled Zone (normal): https://i.imgur.com/BPi24aw.png inline Void SetGpsDisabledZoneAtIndex(float x1, float y1, float z1, float x2, float y2, float z2, int index) { return _i(0xD0BC1C6FB18EE154,x1, y1, z1, x2, y2, z2, index); } // 0xD0BC1C6FB18EE154 0x98BDB311 b323 - // Clears a disabled GPS route area from a certain index previously set using `SetGpsDisabledZone_AT_INDEX`. + // Clears a disabled GPS route area from a certain index previously set using `SetGpsDisabledZone_AT_INDEX`. inline Void ClearGpsDisabledZoneAtIndex(int index) { return _i(0x2801D0012266DF07,index); } // 0x2801D0012266DF07 0x59090745 b323 - // + // inline Void AddNavmeshRequiredRegion(float x, float y, float radius) { return _i(0x387EAD7EE42F6685,x, y, radius); } // 0x387EAD7EE42F6685 0x12B086EA b323 - // + // inline Void RemoveNavmeshRequiredRegions() { return _i(0x916F0A3CDEC3445E); } // 0x916F0A3CDEC3445E 0x637BB680 b323 - // + // inline BOOL IsNavmeshRequiredRegionInUse() { return _i(0x705A844002B39DC0); } // 0x705A844002B39DC0 b944 - // Set toggle true to disable navmesh. + // Set toggle true to disable navmesh. // Set toggle false to enable navmesh. inline Void DisableNavmeshInArea(float x1, float y1, float z1, float x2, float y2, float z2, BOOL toggle) { return _i(0x4C8872D8CDBE1B8B,x1, y1, z1, x2, y2, z2, toggle); } // 0x4C8872D8CDBE1B8B 0x6E37F132 b323 - // + // inline BOOL AreAllNavmeshRegionsLoaded() { return _i(0x8415D95B194A3AEA); } // 0x8415D95B194A3AEA 0x34C4E789 b323 - // 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. + // 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... inline BOOL IsNavmeshLoadedInArea(float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0xF813C7E63F9062A5,x1, y1, z1, x2, y2, z2); } // 0xF813C7E63F9062A5 0x4C2BA99E b323 - // + // inline int GetNumNavmeshesExistingInArea(float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0x1708E8DD3FF8C65,x1, y1, z1, x2, y2, z2); } // 0x1708E8DD3FF8C65 0x76AFFBB5 b323 - // + // inline int AddNavmeshBlockingObject(float p0, float p1, float p2, float p3, float p4, float p5, float p6, BOOL p7, Any p8) { return _i(0xFCD5C8E06E502F5A,p0, p1, p2, p3, p4, p5, p6, p7, p8); } // 0xFCD5C8E06E502F5A 0x2952BA56 b323 - // + // inline Void UpdateNavmeshBlockingObject(Any p0, float p1, float p2, float p3, float p4, float p5, float p6, float p7, Any p8) { return _i(0x109E99373F290687,p0, p1, p2, p3, p4, p5, p6, p7, p8); } // 0x109E99373F290687 0x4E9776D0 b323 - // + // inline Void RemoveNavmeshBlockingObject(Any p0) { return _i(0x46399A7895957C0E,p0); } // 0x46399A7895957C0E 0x098602B0 b323 - // + // inline BOOL DoesNavmeshBlockingObjectExist(Any p0) { return _i(0xEAEB0DB4B132399,p0); } // 0xEAEB0DB4B132399 0x4B67D7EE b323 - // Returns CGameWorldHeightMap's maximum Z value at specified point (grid node). + // Returns CGameWorldHeightMap's maximum Z value at specified point (grid node). inline float GetApproxHeightForPoint(float x, float y) { return _i(0x29C24BFBED8AB8FB,x, y); } // 0x29C24BFBED8AB8FB 0x3FE8C5A0 b323 - // Returns CGameWorldHeightMap's maximum Z among all grid nodes that intersect with the specified rectangle. + // Returns CGameWorldHeightMap's maximum Z among all grid nodes that intersect with the specified rectangle. inline float GetApproxHeightForArea(float x1, float y1, float x2, float y2) { return _i(0x8ABE8608576D9CE3,x1, y1, x2, y2); } // 0x8ABE8608576D9CE3 0x3ED21C90 b323 - // Returns CGameWorldHeightMap's minimum Z value at specified point (grid node). + // Returns CGameWorldHeightMap's minimum Z value at specified point (grid node). inline float GetApproxFloorForPoint(float x, float y) { return _i(0x336511A34F2E5185,x, y); } // 0x336511A34F2E5185 0xA07C5B7D b323 - // Returns CGameWorldHeightMap's minimum Z among all grid nodes that intersect with the specified rectangle. + // Returns CGameWorldHeightMap's minimum Z among all grid nodes that intersect with the specified rectangle. inline float GetApproxFloorForArea(float x1, float y1, float x2, float y2) { return _i(0x3599D741C9AC6310,x1, y1, x2, y2); } // 0x3599D741C9AC6310 0x76751DD4 b323 - // Calculates the travel distance between a set of points. + // 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. @@ -11351,42 +11351,42 @@ namespace PATHFIND namespace PED { - // https://alloc8or.re/gta5/doc/enums/ePedType.txt + // 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 inline Ped CreatePed(int pedType, Hash modelHash, float x, float y, float z, float heading, BOOL isNetwork, BOOL bScriptHostPed) { return _i(0xD49F9B0955C367DE,pedType, modelHash, x, y, z, heading, isNetwork, bScriptHostPed); } // 0xD49F9B0955C367DE 0x0389EF71 b323 - // Deletes the specified ped, then sets the handle pointed to by the pointer to NULL. + // Deletes the specified ped, then sets the handle pointed to by the pointer to NULL. inline Void DeletePed(Ped* ped) { return _i(0x9614299DCB53E54B,ped); } // 0x9614299DCB53E54B 0x13EFB9A0 b323 - // + // inline Ped ClonePed(Ped ped, BOOL isNetwork, BOOL bScriptHostPed, BOOL copyHeadBlendFlag) { return _i(0xEF29A16337FACADB,ped, isNetwork, bScriptHostPed, copyHeadBlendFlag); } // 0xEF29A16337FACADB 0x8C8A8D6E b323 - // + // inline Ped ClonePedAlt(Ped ped, BOOL isNetwork, BOOL bScriptHostPed, BOOL copyHeadBlendFlag, BOOL p4) { return _i(0x668FD40BCBA5DE48,ped, isNetwork, bScriptHostPed, copyHeadBlendFlag, p4); } // 0x668FD40BCBA5DE48 b463 - // Copies ped's components and props to targetPed. + // Copies ped's components and props to targetPed. inline Void ClonePedToTarget(Ped ped, Ped targetPed) { return _i(0xE952D6431689AD9A,ped, targetPed); } // 0xE952D6431689AD9A 0xFC70EEC7 b323 - // + // inline Void ClonePedToTargetAlt(Ped ped, Ped targetPed, BOOL p2) { return _i(0x148B08C2D2ACB884,ped, targetPed, p2); } // 0x148B08C2D2ACB884 b463 - // Gets a value indicating whether the specified ped is in the specified vehicle. + // 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. inline BOOL IsPedInVehicle(Ped ped, Vehicle vehicle, BOOL atGetIn) { return _i(0xA3EE4A07279BB9DB,ped, vehicle, atGetIn); } // 0xA3EE4A07279BB9DB 0x7DA6BC83 b323 - // + // inline BOOL IsPedInModel(Ped ped, Hash modelHash) { return _i(0x796D90EFB19AA332,ped, modelHash); } // 0x796D90EFB19AA332 0xA6438D4B b323 - // Gets a value indicating whether the specified ped is in any vehicle. + // 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. inline BOOL IsPedInAnyVehicle(Ped ped, BOOL atGetIn) { return _i(0x997ABD671D25CA0B,ped, atGetIn); } // 0x997ABD671D25CA0B 0x3B0171EE b323 - // xyz - relative to the world origin. + // xyz - relative to the world origin. inline BOOL IsCopPedInArea3D(float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0x16EC4839969F9F5E,x1, y1, z1, x2, y2, z2); } // 0x16EC4839969F9F5E 0xB98DB96B b323 - // Gets a value indicating whether this ped's health is below its injured threshold. + // Gets a value indicating whether this ped's health is below its injured threshold. // // The default threshold is 100. inline BOOL IsPedInjured(Ped ped) { return _i(0x84A2DD9AC37C35C1,ped); } // 0x84A2DD9AC37C35C1 0x2530A087 b323 - // Returns whether the specified ped is hurt. + // Returns whether the specified ped is hurt. inline BOOL IsPedHurt(Ped ped) { return _i(0x5983BB449D7FDB12,ped); } // 0x5983BB449D7FDB12 0x69DFA0AF b323 - // Gets a value indicating whether this ped's health is below its fatally injured threshold. The default threshold is 100. + // 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. inline BOOL IsPedFatallyInjured(Ped ped) { return _i(0xD839450756ED5A80,ped); } // 0xD839450756ED5A80 0xBADA0093 b323 - // Seems to consistently return true if the ped is dead. + // Seems to consistently return true if the ped is dead. // // p1 is always passed 1 in the scripts. // @@ -11396,25 +11396,25 @@ namespace PED // // lol inline BOOL IsPedDeadOrDying(Ped ped, BOOL p1) { return _i(0x3317DEDB88C95038,ped, p1); } // 0x3317DEDB88C95038 0xCBDB7739 b323 - // + // inline BOOL IsConversationPedDead(Ped ped) { return _i(0xE0A0AEC214B1FABA,ped); } // 0xE0A0AEC214B1FABA 0x1FA39EFE b323 - // + // inline BOOL IsPedAimingFromCover(Ped ped) { return _i(0x3998B1276A3300E5,ped); } // 0x3998B1276A3300E5 0xDEBAB2AF b323 - // Returns whether the specified ped is reloading. + // Returns whether the specified ped is reloading. inline BOOL IsPedReloading(Ped ped) { return _i(0x24B100C68C645951,ped); } // 0x24B100C68C645951 0x961E1745 b323 - // Returns true if the given ped has a valid pointer to CPlayerInfo in its CPed class. That's all. + // Returns true if the given ped has a valid pointer to CPlayerInfo in its CPed class. That's all. inline BOOL IsPedAPlayer(Ped ped) { return _i(0x12534C348C6CB68B,ped); } // 0x12534C348C6CB68B 0x404794CA b323 - // pedType: see CreatePed + // pedType: see CreatePed // // Full list of peds by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/peds.json inline Ped CreatePedInsideVehicle(Vehicle vehicle, int pedType, Hash modelHash, int seat, BOOL isNetwork, BOOL bScriptHostPed) { return _i(0x7DD959874C1FD534,vehicle, pedType, modelHash, seat, isNetwork, bScriptHostPed); } // 0x7DD959874C1FD534 0x3000F092 b323 - // + // inline Void SetPedDesiredHeading(Ped ped, float heading) { return _i(0xAA5A7ECE2AA8FE70,ped, heading); } // 0xAA5A7ECE2AA8FE70 0x961458F9 b323 - // + // inline Void ForceAllHeadingValuesToAlign(Ped ped) { return _i(0xFF287323B0E2C69A,ped); } // 0xFF287323B0E2C69A 0x290421BE b323 - // angle is ped's view cone + // angle is ped's view cone inline BOOL IsPedFacingPed(Ped ped, Ped otherPed, float angle) { return _i(0xD71649DB0A545AA3,ped, otherPed, angle); } // 0xD71649DB0A545AA3 0x0B775838 b323 - // Notes: The function only returns true while the ped is: + // 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) @@ -11423,36 +11423,36 @@ namespace PED // // 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 inline BOOL IsPedInMeleeCombat(Ped ped) { return _i(0x4E209B2C1EAD5159,ped); } // 0x4E209B2C1EAD5159 0xFD7814A5 b323 - // Returns true if the ped doesn't do any movement. If the ped is being pushed forwards by using ApplyForceToEntity for example, the function returns false. + // Returns true if the ped doesn't do any movement. If the ped is being pushed forwards by using ApplyForceToEntity for example, the function returns false. inline BOOL IsPedStopped(Ped ped) { return _i(0x530944F6F4B8A214,ped); } // 0x530944F6F4B8A214 0xA0DC0B87 b323 - // + // inline BOOL IsPedShootingInArea(Ped ped, float x1, float y1, float z1, float x2, float y2, float z2, BOOL p7, BOOL p8) { return _i(0x7E9DFE24AC1E58EF,ped, x1, y1, z1, x2, y2, z2, p7, p8); } // 0x7E9DFE24AC1E58EF 0x741BF04F b323 - // + // inline BOOL IsAnyPedShootingInArea(float x1, float y1, float z1, float x2, float y2, float z2, BOOL p6, BOOL p7) { return _i(0xA0D3D71EA1086C55,x1, y1, z1, x2, y2, z2, p6, p7); } // 0xA0D3D71EA1086C55 0x91833867 b323 - // Returns whether the specified ped is shooting. + // Returns whether the specified ped is shooting. inline BOOL IsPedShooting(Ped ped) { return _i(0x34616828CD07F1A1,ped); } // 0x34616828CD07F1A1 0xE7C3405E b323 - // accuracy = 0-100, 100 being perfectly accurate + // accuracy = 0-100, 100 being perfectly accurate inline Void SetPedAccuracy(Ped ped, int accuracy) { return _i(0x7AEFB85C1D49DEB6,ped, accuracy); } // 0x7AEFB85C1D49DEB6 0x6C17122E b323 - // + // inline int GetPedAccuracy(Ped ped) { return _i(0x37F4AD56ECBC0CD6,ped); } // 0x37F4AD56ECBC0CD6 0x0A2A0AA0 b323 - // + // inline Void SetAmbientLawPedAccuracyModifier(float multiplier) { return _i(0x87DDEB611B329A9C,multiplier); } // 0x87DDEB611B329A9C b1103 - // + // inline BOOL IsPedModel(Ped ped, Hash modelHash) { return _i(0xC9D55B1A358A5BF7,ped, modelHash); } // 0xC9D55B1A358A5BF7 0x5F1DDFCB b323 - // Forces the ped to fall back and kills it. + // Forces the ped to fall back and kills it. // // It doesn't really explode the ped's head but it kills the ped inline Void ExplodePedHead(Ped ped, Hash weaponHash) { return _i(0x2D05CED3A38D0F3A,ped, weaponHash); } // 0x2D05CED3A38D0F3A 0x05CC1380 b323 - // 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.. + // 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.. inline Void RemovePedElegantly(Ped* ped) { return _i(0xAC6D445B994DF95E,ped); } // 0xAC6D445B994DF95E 0x4FFB8C6C b323 - // Same as SetPedArmour, but ADDS 'amount' to the armor the Ped already has. + // Same as SetPedArmour, but ADDS 'amount' to the armor the Ped already has. inline Void AddArmourToPed(Ped ped, int amount) { return _i(0x5BA652A0CD14DF2F,ped, amount); } // 0x5BA652A0CD14DF2F 0xF686B26E b323 - // Sets the armor of the specified ped. + // 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. inline Void SetPedArmour(Ped ped, int amount) { return _i(0xCEA04D83135264CC,ped, amount); } // 0xCEA04D83135264CC 0x4E3A0CC4 b323 - // Ped: The ped to warp. + // Ped: The ped to warp. // vehicle: The vehicle to warp the ped into. // Seat_Index: [-1 is driver seat, -2 first free passenger seat] // @@ -11462,11 +11462,11 @@ namespace PED // Left Rear = 1 // RightRear = 2 inline Void SetPedIntoVehicle(Ped ped, Vehicle vehicle, int seatIndex) { return _i(0xF75B0D629E1C063D,ped, vehicle, seatIndex); } // 0xF75B0D629E1C063D 0x07500C79 b323 - // + // inline Void SetPedAllowVehiclesOverride(Ped ped, BOOL toggle) { return _i(0x3C028C636A414ED9,ped, toggle); } // 0x3C028C636A414ED9 0x58A80BD5 b323 - // + // inline BOOL CanCreateRandomPed(BOOL p0) { return _i(0x3E8349C08E4B82E4,p0); } // 0x3E8349C08E4B82E4 0xF9ABE88F b323 - // vb.net + // vb.net // Dim ped_handle As Integer // With Game.Player.Character // Dim pos As Vector3 = .Position + .ForwardVector * 3 @@ -11476,45 +11476,45 @@ namespace PED // Creates a Ped at the specified location, returns the Ped Handle. // Ped will not act until SetPedAsNoLongerNeeded is called. inline Ped CreateRandomPed(float posX, float posY, float posZ) { return _i(0xB4AC7D0CF06BFE8F,posX, posY, posZ); } // 0xB4AC7D0CF06BFE8F 0x5A949543 b323 - // + // inline Ped CreateRandomPedAsDriver(Vehicle vehicle, BOOL returnHandle) { return _i(0x9B62392B474F44A0,vehicle, returnHandle); } // 0x9B62392B474F44A0 0xB927CE9A b323 - // + // inline BOOL CanCreateRandomDriver() { return _i(0xB8EB95E5B4E56978); } // 0xB8EB95E5B4E56978 0x99861609 b323 - // + // inline BOOL CanCreateRandomBikeRider() { return _i(0xEACEEDA81751915C); } // 0xEACEEDA81751915C 0x7018BE31 b323 - // + // inline Void SetPedMoveAnimsBlendOut(Ped ped) { return _i(0x9E8C908F41584ECD,ped); } // 0x9E8C908F41584ECD 0x20E01957 b323 - // + // inline Void SetPedCanBeDraggedOut(Ped ped, BOOL toggle) { return _i(0xC1670E958EEE24E5,ped, toggle); } // 0xC1670E958EEE24E5 0xAA7F1131 b323 - // ntoggle was always false except in one instance (b678). + // ntoggle 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. inline Void SetPedAllowHurtCombatForAllMissionPeds(BOOL toggle) { return _i(0xF2BEBCDFAFDAA19E,toggle); } // 0xF2BEBCDFAFDAA19E 0x6CD58238 b323 - // Returns true/false if the ped is/isn't male. + // Returns true/false if the ped is/isn't male. inline BOOL IsPedMale(Ped ped) { return _i(0x6D9F5FAA7488BA46,ped); } // 0x6D9F5FAA7488BA46 0x90950455 b323 - // Returns true/false if the ped is/isn't humanoid. + // Returns true/false if the ped is/isn't humanoid. inline BOOL IsPedHuman(Ped ped) { return _i(0xB980061DA992779D,ped); } // 0xB980061DA992779D 0x194BB7B0 b323 - // Gets the vehicle the specified Ped is in. Returns 0 if the ped is/was not in a vehicle. + // Gets the vehicle the specified Ped is in. Returns 0 if the ped is/was not in a vehicle. inline Vehicle GetVehiclePedIsIn(Ped ped, BOOL includeEntering) { return _i(0x9A9112A0FE9A4713,ped, includeEntering); } // 0x9A9112A0FE9A4713 0xAFE92319 b323 - // Resets the value for the last vehicle driven by the Ped. + // Resets the value for the last vehicle driven by the Ped. inline Void ResetPedLastVehicle(Ped ped) { return _i(0xBB8DE8CF6A8DD8BB,ped); } // 0xBB8DE8CF6A8DD8BB 0x5E3B5942 b323 - // + // inline Void SetPedDensityMultiplierThisFrame(float multiplier) { return _i(0x95E3D6257B166CF2,multiplier); } // 0x95E3D6257B166CF2 0x039C82BB b323 - // + // inline Void SetScenarioPedDensityMultiplierThisFrame(float p0, float p1) { return _i(0x7A556143A1C03898,p0, p1); } // 0x7A556143A1C03898 0x2909ABF0 b323 - // + // inline Void SuppressAmbientPedAggressiveCleanupThisFrame() { return _i(0x5A7F62FDA59759BD); } // 0x5A7F62FDA59759BD 0xB48C0C04 b323 - // + // inline Void SetScriptedConversionCoordThisFrame(float x, float y, float z) { return _i(0x5086C7843552CF85,x, y, z); } // 0x5086C7843552CF85 0x25EA2AA5 b323 - // The distance between these points, is the diagonal of a box (remember it's 3D). + // The distance between these points, is the diagonal of a box (remember it's 3D). inline Void SetPedNonCreationArea(float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0xEE01041D559983EA,x1, y1, z1, x2, y2, z2); } // 0xEE01041D559983EA 0x7A97283F b323 - // + // inline Void ClearPedNonCreationArea() { return _i(0x2E05208086BA0651); } // 0x2E05208086BA0651 0x6F7043A3 b323 - // + // inline Void InstantlyFillPedPopulation() { return _i(0x4759CC730F947C81); } // 0x4759CC730F947C81 0x8C555ADD b323 - // Same function call as PED::GetMount, aka just returns 0 + // Same function call as PED::GetMount, aka just returns 0 inline BOOL IsPedOnMount(Ped ped) { return _i(0x460BC76A0E10655E,ped); } // 0x460BC76A0E10655E 0x43103006 b323 - // + // // Function just returns 0 // void __fastcall ped__get_mount(NativeContext *a1) // { @@ -11525,118 +11525,118 @@ namespace PED // v1->Returns->Item1= 0; // } inline Ped GetMount(Ped ped) { return _i(0xE7E11B8DCBED1058,ped); } // 0xE7E11B8DCBED1058 0xDD31EC4E b323 - // Gets a value indicating whether the specified ped is on top of any vehicle. + // 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. // inline BOOL IsPedOnVehicle(Ped ped) { return _i(0x67722AEB798E5FAB,ped); } // 0x67722AEB798E5FAB 0xA1AE7CC7 b323 - // + // inline BOOL IsPedOnSpecificVehicle(Ped ped, Vehicle vehicle) { return _i(0xEC5F66E459AF3BB2,ped, vehicle); } // 0xEC5F66E459AF3BB2 0x63CB4603 b323 - // Maximum possible amount of money on MP is 2000. ~JX + // 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. inline Void SetPedMoney(Ped ped, int amount) { return _i(0xA9C8960E8684C1B5,ped, amount); } // 0xA9C8960E8684C1B5 0x40D90BF2 b323 - // + // inline int GetPedMoney(Ped ped) { return _i(0x3F69145BBA87BAE7,ped); } // 0x3F69145BBA87BAE7 0xEB3C4C7E b323 - // Related to Peds dropping pickup_health_snack; p0 is a value between [0.0, 1.0] that corresponds to drop rate + // Related to Peds dropping pickup_health_snack; p0 is a value between [0.0, 1.0] that corresponds to drop rate inline Void SetHealthSnacksCarriedByAllNewPeds(float p0, Any p1) { return _i(0xFF4803BC019852D9,p0, p1); } // 0xFF4803BC019852D9 0xD41C9AED b323 - // + // inline Void SetAmbientPedsDropMoney(BOOL p0) { return _i(0x6B0E6172C9A4D902,p0); } // 0x6B0E6172C9A4D902 0x30B98369 b323 - // + // inline Void SetBlockingOfNonTemporaryEventsForAmbientPedsThisFrame(BOOL p0) { return _i(0x9911F4A24485F653,p0); } // 0x9911F4A24485F653 0x02A080C8 b323 - // Ped no longer takes critical damage modifiers if set to FALSE. + // 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. inline Void SetPedSuffersCriticalHits(Ped ped, BOOL toggle) { return _i(0xEBD76F2359F190AC,ped, toggle); } // 0xEBD76F2359F190AC 0x6F6FC7E6 b323 - // + // inline Void SetPedUpperBodyDamageOnly(Ped ped, BOOL toggle) { return _i(0xAFC976FD0580C7B3,ped, toggle); } // 0xAFC976FD0580C7B3 0x1572022A b323 - // Detect if ped is sitting in the specified vehicle + // Detect if ped is sitting in the specified vehicle // [True/False] inline BOOL IsPedSittingInVehicle(Ped ped, Vehicle vehicle) { return _i(0xA808AA1D79230FC2,ped, vehicle); } // 0xA808AA1D79230FC2 0xDDDE26FA b323 - // Detect if ped is in any vehicle + // Detect if ped is in any vehicle // [True/False] inline BOOL IsPedSittingInAnyVehicle(Ped ped) { return _i(0x826AA586EDB9FEF8,ped); } // 0x826AA586EDB9FEF8 0x0EA9CA03 b323 - // + // inline BOOL IsPedOnFoot(Ped ped) { return _i(0x1FEE67DB37F59B2,ped); } // 0x1FEE67DB37F59B2 0xC60D0785 b323 - // + // inline BOOL IsPedOnAnyBike(Ped ped) { return _i(0x94495889E22C6479,ped); } // 0x94495889E22C6479 0x4D885B2E b323 - // + // inline BOOL IsPedPlantingBomb(Ped ped) { return _i(0xC70B5FAE151982D8,ped); } // 0xC70B5FAE151982D8 0x0EDAC574 b323 - // + // inline Vector3 GetDeadPedPickupCoords(Ped ped, float p1, float p2) { return _i(0xCD5003B097200F36,ped, p1, p2); } // 0xCD5003B097200F36 0x129F9DC1 b323 - // + // inline BOOL IsPedInAnyBoat(Ped ped) { return _i(0x2E0E1C2B4F6CB339,ped); } // 0x2E0E1C2B4F6CB339 0x1118A947 b323 - // + // inline BOOL IsPedInAnySub(Ped ped) { return _i(0xFBFC01CCFB35D99E,ped); } // 0xFBFC01CCFB35D99E 0xE65F8059 b323 - // + // inline BOOL IsPedInAnyHeli(Ped ped) { return _i(0x298B91AE825E5705,ped); } // 0x298B91AE825E5705 0x7AB5523B b323 - // + // inline BOOL IsPedInAnyPlane(Ped ped) { return _i(0x5FFF4CFC74D8FB80,ped); } // 0x5FFF4CFC74D8FB80 0x51BBCE7E b323 - // + // inline BOOL IsPedInFlyingVehicle(Ped ped) { return _i(0x9134873537FA419C,ped); } // 0x9134873537FA419C 0xCA072485 b323 - // + // inline Void SetPedDiesInWater(Ped ped, BOOL toggle) { return _i(0x56CEF0AC79073BDE,ped, toggle); } // 0x56CEF0AC79073BDE 0x604C872B b323 - // + // inline BOOL GetPedDiesInWater(Ped ped) { return _i(0x65671A4FB8218930,ped); } // 0x65671A4FB8218930 b2699 - // + // inline Void SetPedDiesInSinkingVehicle(Ped ped, BOOL toggle) { return _i(0xD718A22995E2B4BC,ped, toggle); } // 0xD718A22995E2B4BC 0x8D4D9ABB b323 - // + // inline int GetPedArmour(Ped ped) { return _i(0x9483AF821605B1D8,ped); } // 0x9483AF821605B1D8 0x2CE311A7 b323 - // + // inline Void SetPedStayInVehicleWhenJacked(Ped ped, BOOL toggle) { return _i(0xEDF4079F9D54C9A1,ped, toggle); } // 0xEDF4079F9D54C9A1 0xB014A09C b323 - // + // inline Void SetPedCanBeShotInVehicle(Ped ped, BOOL toggle) { return _i(0xC7EF1BA83230BA07,ped, toggle); } // 0xC7EF1BA83230BA07 0x5DB7B3A9 b323 - // + // inline BOOL GetPedLastDamageBone(Ped ped, int* outBone) { return _i(0xD75960F6BD9EA49C,ped, outBone); } // 0xD75960F6BD9EA49C 0xAB933841 b323 - // + // inline Void ClearPedLastDamageBone(Ped ped) { return _i(0x8EF6B7AC68E2F01B,ped); } // 0x8EF6B7AC68E2F01B 0x56CB715E b323 - // + // inline Void SetAiWeaponDamageModifier(float value) { return _i(0x1B1E2A40A65B8521,value); } // 0x1B1E2A40A65B8521 0x516E30EE b323 - // + // inline Void ResetAiWeaponDamageModifier() { return _i(0xEA16670E7BA4743C); } // 0xEA16670E7BA4743C 0x6E965420 b323 - // + // inline Void SetAiMeleeWeaponDamageModifier(float modifier) { return _i(0x66460DEDDD417254,modifier); } // 0x66460DEDDD417254 0x0F9A401F b323 - // + // inline Void ResetAiMeleeWeaponDamageModifier() { return _i(0x46E56A7CD1D63C3F); } // 0x46E56A7CD1D63C3F 0x97886238 b323 - // + // inline Void SetTreatAsAmbientPedForDriverLockon(Ped ped, BOOL p1) { return _i(0x2F3C3D9F50681DE4,ped, p1); } // 0x2F3C3D9F50681DE4 0xCC9D7F1A b323 - // + // inline Void SetPedCanBeTargetted(Ped ped, BOOL toggle) { return _i(0x63F58F7C80513AAD,ped, toggle); } // 0x63F58F7C80513AAD 0x75C49F74 b323 - // + // inline Void SetPedCanBeTargettedByTeam(Ped ped, int team, BOOL toggle) { return _i(0xBF1CA77833E58F2C,ped, team, toggle); } // 0xBF1CA77833E58F2C 0xB103A8E1 b323 - // + // inline Void SetPedCanBeTargettedByPlayer(Ped ped, Player player, BOOL toggle) { return _i(0x66B57B72E0836A76,ped, player, toggle); } // 0x66B57B72E0836A76 0xD050F490 b323 - // + // inline Void SetAllowLockonToPedIfFriendly(Ped ped, BOOL toggle) { return _i(0x61CB768363D6424,ped, toggle); } // 0x61CB768363D6424 0x7DA12905 b323 - // + // inline Void SetUseCameraHeadingForDesiredDirectionLockOnTest(Ped ped, BOOL toggle) { return _i(0xFD325494792302D7,ped, toggle); } // 0xFD325494792302D7 0x7F67671D b323 - // + // inline BOOL IsPedInAnyPoliceVehicle(Ped ped) { return _i(0xBD04E29640C9C12,ped); } // 0xBD04E29640C9C12 0x84FA790D b323 - // + // inline Void ForcePedToOpenParachute(Ped ped) { return _i(0x16E42E800B472221,ped); } // 0x16E42E800B472221 0xA819680B b323 - // + // inline BOOL IsPedInParachuteFreeFall(Ped ped) { return _i(0x7DCE8BDA0F1C1200,ped); } // 0x7DCE8BDA0F1C1200 0xCD71F11B b323 - // + // inline BOOL IsPedFalling(Ped ped) { return _i(0xFB92A102F1C4DFA3,ped); } // 0xFB92A102F1C4DFA3 0xABF77334 b323 - // + // inline BOOL IsPedJumping(Ped ped) { return _i(0xCEDABC5900A0BF97,ped); } // 0xCEDABC5900A0BF97 0x07E5BC0E b323 - // + // inline BOOL IsPedLanding(Any p0) { return _i(0x412F1364FA066CFB,p0); } // 0x412F1364FA066CFB b573 - // + // inline BOOL IsPedDoingABeastJump(Any p0) { return _i(0x451D05012CCEC234,p0); } // 0x451D05012CCEC234 b573 - // + // inline BOOL IsPedClimbing(Ped ped) { return _i(0x53E8CB4F48BFE623,ped); } // 0x53E8CB4F48BFE623 0xBCE03D35 b323 - // + // inline BOOL IsPedVaulting(Ped ped) { return _i(0x117C70D1F5730B5E,ped); } // 0x117C70D1F5730B5E 0xC3169BDA b323 - // + // inline BOOL IsPedDiving(Ped ped) { return _i(0x5527B8246FEF9B11,ped); } // 0x5527B8246FEF9B11 0x7BC5BF3C b323 - // + // inline BOOL IsPedJumpingOutOfVehicle(Ped ped) { return _i(0x433DDFFE2044B636,ped); } // 0x433DDFFE2044B636 0xB19215F6 b323 - // Returns true if the ped is currently opening a door (CTaskOpenDoor). + // Returns true if the ped is currently opening a door (CTaskOpenDoor). inline BOOL IsPedOpeningDoor(Ped ped) { return _i(0x26AF0E8E30BD2A2C,ped); } // 0x26AF0E8E30BD2A2C b323 - // Returns: + // Returns: // // -1: Normal // 0: Wearing parachute on back @@ -11646,143 +11646,143 @@ namespace PED // // Normal means no parachute? inline int GetPedParachuteState(Ped ped) { return _i(0x79CFD9827CC979B6,ped); } // 0x79CFD9827CC979B6 0x7D4BC475 b323 - // -1: no landing + // -1: no landing // 0: landing on both feet // 1: stumbling // 2: rolling // 3: ragdoll inline int GetPedParachuteLandingType(Ped ped) { return _i(0x8B9F1FC6AE8166C0,ped); } // 0x8B9F1FC6AE8166C0 0x01F3B035 b323 - // + // inline Void SetPedParachuteTintIndex(Ped ped, int tintIndex) { return _i(0x333FC8DB079B7186,ped, tintIndex); } // 0x333FC8DB079B7186 0x5AEFEC3A b323 - // + // inline Void GetPedParachuteTintIndex(Ped ped, int* outTintIndex) { return _i(0xEAF5F7E5AE7C6C9D,ped, outTintIndex); } // 0xEAF5F7E5AE7C6C9D 0xE9E7FAC5 b323 - // + // inline Void SetPedReserveParachuteTintIndex(Ped ped, Any p1) { return _i(0xE88DA0751C22A2AD,ped, p1); } // 0xE88DA0751C22A2AD 0x177EFC79 b323 - // + // inline Object CreateParachuteBagObject(Ped ped, BOOL p1, BOOL p2) { return _i(0x8C4F3BF23B6237DB,ped, p1, p2); } // 0x8C4F3BF23B6237DB 0x19198A16 b323 - // 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 IsPedDucking will always return false. + // 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 IsPedDucking will always return false. inline Void SetPedDucking(Ped ped, BOOL toggle) { return _i(0x30983CA930B692D,ped, toggle); } // 0x30983CA930B692D 0xB90353D7 b323 - // + // inline BOOL IsPedDucking(Ped ped) { return _i(0xD125AE748725C6BC,ped); } // 0xD125AE748725C6BC 0x9199C77D b323 - // + // inline BOOL IsPedInAnyTaxi(Ped ped) { return _i(0x6E575D6A898AB852,ped); } // 0x6E575D6A898AB852 0x16FD386C b323 - // + // inline Void SetPedIdRange(Ped ped, float value) { return _i(0xF107E836A70DCE05,ped, value); } // 0xF107E836A70DCE05 0xEF3B4ED9 b323 - // + // inline Void SetPedHighlyPerceptive(Ped ped, BOOL toggle) { return _i(0x52D59AB61DDC05DD,ped, toggle); } // 0x52D59AB61DDC05DD 0x9A2180FF b323 - // + // inline Void SetCopPerceptionOverrides(float seeingRange, float seeingRangePeripheral, float hearingRange, float visualFieldMinAzimuthAngle, float visualFieldMaxAzimuthAngle, float fieldOfGazeMaxAngle, float p6) { return _i(0x2F074C904D85129E,seeingRange, seeingRangePeripheral, hearingRange, visualFieldMinAzimuthAngle, visualFieldMaxAzimuthAngle, fieldOfGazeMaxAngle, p6); } // 0x2F074C904D85129E b393 - // + // inline Void SetPedInjuredOnGroundBehaviour(Ped ped, float p1) { return _i(0xEC4B4B3B9908052A,ped, p1); } // 0xEC4B4B3B9908052A 0xF30658D2 b323 - // + // inline Void DisablePedInjuredOnGroundBehaviour(Ped ped) { return _i(0x733C87D4CE22BEA2,ped); } // 0x733C87D4CE22BEA2 0x43709044 b323 - // + // inline Void SetPedSeeingRange(Ped ped, float value) { return _i(0xF29CF591C4BF6CEE,ped, value); } // 0xF29CF591C4BF6CEE 0x4BD72FE8 b323 - // + // inline Void SetPedHearingRange(Ped ped, float value) { return _i(0x33A8F7F7D5F7F33C,ped, value); } // 0x33A8F7F7D5F7F33C 0xB32087E0 b323 - // + // inline Void SetPedVisualFieldMinAngle(Ped ped, float value) { return _i(0x2DB492222FB21E26,ped, value); } // 0x2DB492222FB21E26 0x72E2E18B b323 - // + // inline Void SetPedVisualFieldMaxAngle(Ped ped, float value) { return _i(0x70793BDCA1E854D4,ped, value); } // 0x70793BDCA1E854D4 0x0CEA0F9A b323 - // This native refers to the field of vision the ped has below them, starting at 0 degrees. The angle value should be negative. + // 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. inline Void SetPedVisualFieldMinElevationAngle(Ped ped, float angle) { return _i(0x7A276EB2C224D70F,ped, angle); } // 0x7A276EB2C224D70F 0x5CC2F1B8 b323 - // 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. + // 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. inline Void SetPedVisualFieldMaxElevationAngle(Ped ped, float angle) { return _i(0x78D0B67629D75856,ped, angle); } // 0x78D0B67629D75856 0x39D9102F b323 - // + // inline Void SetPedVisualFieldPeripheralRange(Ped ped, float range) { return _i(0x9C74B0BC831B753A,ped, range); } // 0x9C74B0BC831B753A 0xFDF2F7C2 b323 - // + // inline Void SetPedVisualFieldCenterAngle(Ped ped, float angle) { return _i(0x3B6405E8AB34A907,ped, angle); } // 0x3B6405E8AB34A907 0xE57202A1 b323 - // + // inline float GetPedVisualFieldCenterAngle(Ped ped) { return _i(0xEF2C71A32CAD5FBD,ped); } // 0xEF2C71A32CAD5FBD b1493 - // p1 is usually 0 in the scripts. action is either 0 or a pointer to "DEFAULT_ACTION". - inline Void SetPedStealthMovement(Ped ped, BOOL p1, String action) { return _i(0x88CBB5CEB96B7BD2,ped, p1, action); } // 0x88CBB5CEB96B7BD2 0x67E28E1D b323 - // Returns whether the entity is in stealth mode + // p1 is usually 0 in the scripts. action is either 0 or a pointer to "DEFAULT_ACTION". + inline Void SetPedStealthMovement(Ped ped, BOOL p1, const char* action) { return _i(0x88CBB5CEB96B7BD2,ped, p1, action); } // 0x88CBB5CEB96B7BD2 0x67E28E1D b323 + // Returns whether the entity is in stealth mode inline BOOL GetPedStealthMovement(Ped ped) { return _i(0x7C2AC9CA66575FBF,ped); } // 0x7C2AC9CA66575FBF 0x40321B83 b323 - // Creates a new ped group. + // 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. inline int CreateGroup(int unused) { return _i(0x90370EBE0FEE1A3D,unused); } // 0x90370EBE0FEE1A3D 0x8DC0368D b323 - // + // inline Void SetPedAsGroupLeader(Ped ped, int groupId) { return _i(0x2A7819605465FBCE,ped, groupId); } // 0x2A7819605465FBCE 0x7265BEA2 b323 - // + // inline Void SetPedAsGroupMember(Ped ped, int groupId) { return _i(0x9F3480FE65DB31B5,ped, groupId); } // 0x9F3480FE65DB31B5 0x0EE13F92 b323 - // This only will teleport the ped to the group leader if the group leader teleports (sets coords). + // This only will teleport the ped to the group leader if the group leader teleports (sets coords). // // Only works in singleplayer inline Void SetPedCanTeleportToGroupLeader(Ped pedHandle, int groupHandle, BOOL toggle) { return _i(0x2E2F4240B3F24647,pedHandle, groupHandle, toggle); } // 0x2E2F4240B3F24647 0xD0D8BDBC b323 - // + // inline Void RemoveGroup(int groupId) { return _i(0x8EB2F69076AF7053,groupId); } // 0x8EB2F69076AF7053 0x48D72B88 b323 - // + // inline Void RemovePedFromGroup(Ped ped) { return _i(0xED74007FFB146BC2,ped); } // 0xED74007FFB146BC2 0x82697713 b323 - // + // inline BOOL IsPedGroupMember(Ped ped, int groupId) { return _i(0x9BB01E3834671191,ped, groupId); } // 0x9BB01E3834671191 0x876D5363 b323 - // + // inline BOOL IsPedHangingOnToVehicle(Ped ped) { return _i(0x1C86D8AEF8254B78,ped); } // 0x1C86D8AEF8254B78 0x9678D4FF b323 - // Sets the range at which members will automatically leave the group. + // Sets the range at which members will automatically leave the group. inline Void SetGroupSeparationRange(int groupHandle, float separationRange) { return _i(0x4102C7858CFEE4E4,groupHandle, separationRange); } // 0x4102C7858CFEE4E4 0x7B820CD5 b323 - // Ped will stay on the ground after being stunned for at lest ms time. (in milliseconds) + // Ped will stay on the ground after being stunned for at lest ms time. (in milliseconds) inline Void SetPedMinGroundTimeForStungun(Ped ped, int ms) { return _i(0xFA0675AB151073FA,ped, ms); } // 0xFA0675AB151073FA 0x2F0D0973 b323 - // + // inline BOOL IsPedProne(Ped ped) { return _i(0xD6A86331A537A7B9,ped); } // 0xD6A86331A537A7B9 0x02C2A6C3 b323 - // 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. + // 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::IsPedInCombat(l_42E[4/*14*/], PLAYER::PlayerPedId()) // armenian2.ct4: 43794 inline BOOL IsPedInCombat(Ped ped, Ped target) { return _i(0x4859F1FC66A6278E,ped, target); } // 0x4859F1FC66A6278E 0xFE027CB5 b323 - // + // inline Entity GetPedTargetFromCombatPed(Ped ped, Any p1) { return _i(0x32C27A11307B01CC,ped, p1); } // 0x32C27A11307B01CC b2372 - // + // inline BOOL CanPedInCombatSeeTarget(Ped ped, Ped target) { return _i(0xEAD42DE3610D0721,ped, target); } // 0xEAD42DE3610D0721 0xCCD525E1 b323 - // + // inline BOOL IsPedDoingDriveby(Ped ped) { return _i(0xB2C086CC1BF8F2BF,ped); } // 0xB2C086CC1BF8F2BF 0xAC3CEB9C b323 - // + // inline BOOL IsPedJacking(Ped ped) { return _i(0x4AE4FF911DFB61DA,ped); } // 0x4AE4FF911DFB61DA 0x3B321816 b323 - // + // inline BOOL IsPedBeingJacked(Ped ped) { return _i(0x9A497FE2DF198913,ped); } // 0x9A497FE2DF198913 0xD45D605C b323 - // p1 is always 0 + // p1 is always 0 inline BOOL IsPedBeingStunned(Ped ped, int p1) { return _i(0x4FBACCE3B4138EE8,ped, p1); } // 0x4FBACCE3B4138EE8 0x0A66CE30 b323 - // + // inline Ped GetPedsJacker(Ped ped) { return _i(0x9B128DC36C1E04CF,ped); } // 0x9B128DC36C1E04CF 0xDE1DBB59 b323 - // + // inline Ped GetJackTarget(Ped ped) { return _i(0x5486A79D9FBD342D,ped); } // 0x5486A79D9FBD342D 0x1D196361 b323 - // + // inline BOOL IsPedFleeing(Ped ped) { return _i(0xBBCCE00B381F8482,ped); } // 0xBBCCE00B381F8482 0x85D813C6 b323 - // p1 is nearly always 0 in the scripts. + // p1 is nearly always 0 in the scripts. inline BOOL IsPedInCover(Ped ped, BOOL exceptUseWeapon) { return _i(0x60DFD0691A170B88,ped, exceptUseWeapon); } // 0x60DFD0691A170B88 0x972C5A8B b323 - // + // inline BOOL IsPedInCoverFacingLeft(Ped ped) { return _i(0x845333B3150583AB,ped); } // 0x845333B3150583AB 0xB89DBB80 b323 - // + // inline BOOL IsPedInHighCover(Ped ped) { return _i(0x6A03BF943D767C93,ped); } // 0x6A03BF943D767C93 0xDD5D08A7 b323 - // + // inline BOOL IsPedGoingIntoCover(Ped ped) { return _i(0x9F65DBC537E59AD5,ped); } // 0x9F65DBC537E59AD5 0xA3589628 b323 - // i could be time. Only example in the decompiled scripts uses it as -1. + // i could be time. Only example in the decompiled scripts uses it as -1. inline BOOL SetPedPinnedDown(Ped ped, BOOL pinned, int i) { return _i(0xAAD6D1ACF08F4612,ped, pinned, i); } // 0xAAD6D1ACF08F4612 0xCC78999D b323 - // + // inline BOOL HasPedClearLosToEntity(Ped ped, Entity entity, float x, float y, float z, int p5, BOOL p6, BOOL p7) { return _i(0xA32ABFEB2A03B306,ped, entity, x, y, z, p5, p6, p7); } // 0xA32ABFEB2A03B306 b3095 - // + // inline int GetSeatPedIsTryingToEnter(Ped ped) { return _i(0x6F4C85ACD641BCD2,ped); } // 0x6F4C85ACD641BCD2 0xACF162E0 b323 - // + // inline Vehicle GetVehiclePedIsTryingToEnter(Ped ped) { return _i(0x814FA8BE5449445D,ped); } // 0x814FA8BE5449445D 0x99968B37 b323 - // Returns the Entity (Ped, Vehicle, or ?Object?) that killed the 'ped' + // 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. inline Entity GetPedSourceOfDeath(Ped ped) { return _i(0x93C8B64DEB84728C,ped); } // 0x93C8B64DEB84728C 0x84ADF9EB b323 - // Returns the hash of the weapon/model/object that killed the ped. + // Returns the hash of the weapon/model/object that killed the ped. inline Hash GetPedCauseOfDeath(Ped ped) { return _i(0x16FFE42AB2D2DC59,ped); } // 0x16FFE42AB2D2DC59 0x63458C27 b323 - // + // inline int GetPedTimeOfDeath(Ped ped) { return _i(0x1E98817B311AE98A,ped); } // 0x1E98817B311AE98A 0xDF6D5D54 b323 - // + // inline int CountPedsInCombatWithTarget(Ped ped) { return _i(0x5407B7288D0478B7,ped); } // 0x5407B7288D0478B7 0xEF0B78E6 b323 - // + // inline int CountPedsInCombatWithTargetWithinRadius(Ped ped, float x, float y, float z, float radius) { return _i(0x336B3D200AB007CB,ped, x, y, z, radius); } // 0x336B3D200AB007CB 0xFB18CB19 b323 - // + // inline Void SetPedRelationshipGroupDefaultHash(Ped ped, Hash hash) { return _i(0xADB3F206518799E8,ped, hash); } // 0xADB3F206518799E8 0x423B7BA2 b323 - // + // inline Void SetPedRelationshipGroupHash(Ped ped, Hash hash) { return _i(0xC80A74AC829DDD92,ped, hash); } // 0xC80A74AC829DDD92 0x79F8C18C b323 - // Sets the relationship between two groups. This should be called twice (once for each group). + // Sets the relationship between two groups. This should be called twice (once for each group). // // Relationship types: // 0 = Companion @@ -11797,7 +11797,7 @@ namespace PED // PED::SetRelationshipBetweenGroups(2, l_1017, 0xA49E591C); // PED::SetRelationshipBetweenGroups(2, 0xA49E591C, l_1017); inline Void SetRelationshipBetweenGroups(int relationship, Hash group1, Hash group2) { return _i(0xBF25EB89375A37AD,relationship, group1, group2); } // 0xBF25EB89375A37AD 0xD4A215BA b323 - // Clears the relationship between two groups. This should be called twice (once for each group). + // Clears the relationship between two groups. This should be called twice (once for each group). // // Relationship types: // 0 = Companion @@ -11813,13 +11813,13 @@ namespace PED // PED::ClearRelationshipBetweenGroups(2, l_1017, 0xA49E591C); // PED::ClearRelationshipBetweenGroups(2, 0xA49E591C, l_1017); inline Void ClearRelationshipBetweenGroups(int relationship, Hash group1, Hash group2) { return _i(0x5E29243FB56FC6D4,relationship, group1, group2); } // 0x5E29243FB56FC6D4 0x994B8C2D b323 - // Can't select void. This function returns nothing. The hash of the created relationship group is output in the second parameter. - inline BOOL AddRelationshipGroup(String name, Hash* groupHash) { return _i(0xF372BC22FCB88606,name, groupHash); } // 0xF372BC22FCB88606 0x8B635546 b323 - // + // Can't select void. This function returns nothing. The hash of the created relationship group is output in the second parameter. + inline BOOL AddRelationshipGroup(const char* name, Hash* groupHash) { return _i(0xF372BC22FCB88606,name, groupHash); } // 0xF372BC22FCB88606 0x8B635546 b323 + // inline Void RemoveRelationshipGroup(Hash groupHash) { return _i(0xB6BA2444AB393DA2,groupHash); } // 0xB6BA2444AB393DA2 0x4A1DC59A b323 - // + // inline BOOL DoesRelationshipGroupExist(Hash groupHash) { return _i(0xCC6E3B6BB69501F1,groupHash); } // 0xCC6E3B6BB69501F1 b505 - // Gets the relationship between two peds. This should be called twice (once for each ped). + // Gets the relationship between two peds. This should be called twice (once for each ped). // // Relationship types: // 0 = Companion @@ -11835,11 +11835,11 @@ namespace PED // PED::GetRelationshipBetweenPeds(2, l_1017, 0xA49E591C); // PED::GetRelationshipBetweenPeds(2, 0xA49E591C, l_1017); inline int GetRelationshipBetweenPeds(Ped ped1, Ped ped2) { return _i(0xEBA5AD3A0EAF7121,ped1, ped2); } // 0xEBA5AD3A0EAF7121 0xE254C39C b323 - // + // inline Hash GetPedRelationshipGroupDefaultHash(Ped ped) { return _i(0x42FDD0F017B1E38E,ped); } // 0x42FDD0F017B1E38E 0x714BD6E4 b323 - // + // inline Hash GetPedRelationshipGroupHash(Ped ped) { return _i(0x7DBDD04862D95F04,ped); } // 0x7DBDD04862D95F04 0x354F283C b323 - // Gets the relationship between two groups. This should be called twice (once for each group). + // Gets the relationship between two groups. This should be called twice (once for each group). // // Relationship types: // 0 = Companion @@ -11854,19 +11854,19 @@ namespace PED // PED::GetRelationshipBetweenGroups(l_1017, 0xA49E591C); // PED::GetRelationshipBetweenGroups(0xA49E591C, l_1017); inline int GetRelationshipBetweenGroups(Hash group1, Hash group2) { return _i(0x9E6B70061662AE5C,group1, group2); } // 0x9E6B70061662AE5C 0x4E372FE2 b323 - // + // inline Void SetRelationshipGroupAffectsWantedLevel(Hash group, BOOL p1) { return _i(0x5615E0C5EB2BC6E2,group, p1); } // 0x5615E0C5EB2BC6E2 b877 - // + // inline Void TellGroupPedsInAreaToAttack(Ped ped, Any p1, float p2, Hash hash, Any p4, Any p5) { return _i(0xAD27D957598E49E9,ped, p1, p2, hash, p4, p5); } // 0xAD27D957598E49E9 b1290 - // + // inline Void SetPedCanBeTargetedWithoutLos(Ped ped, BOOL toggle) { return _i(0x4328652AE5769C71,ped, toggle); } // 0x4328652AE5769C71 0x7FDDC0A6 b323 - // + // inline Void SetPedToInformRespectedFriends(Ped ped, float radius, int maxFriends) { return _i(0x112942C6E708F70B,ped, radius, maxFriends); } // 0x112942C6E708F70B 0xD78AC46C b323 - // + // inline BOOL IsPedRespondingToEvent(Ped ped, Any event) { return _i(0x625B774D75C87068,ped, event); } // 0x625B774D75C87068 0x7A877554 b323 - // + // inline BOOL GetPosFromFiredEvent(Ped ped, int eventType, Any* outData) { return _i(0xBA656A3BB01BDEA3,ped, eventType, outData); } // 0xBA656A3BB01BDEA3 b2189 - // FIRING_PATTERN_BURST_FIRE = 0xD6FF6D61 ( 1073727030 ) + // 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 ) @@ -11885,11 +11885,11 @@ namespace PED // // Firing pattern info: https://pastebin.com/Px036isB inline Void SetPedFiringPattern(Ped ped, Hash patternHash) { return _i(0x9AC577F5A12AD8A9,ped, patternHash); } // 0x9AC577F5A12AD8A9 0xB4629D66 b323 - // shootRate 0-1000 + // shootRate 0-1000 inline Void SetPedShootRate(Ped ped, int shootRate) { return _i(0x614DA022990752DC,ped, shootRate); } // 0x614DA022990752DC 0xFB301746 b323 - // combatType can be between 0-14. See GetCombatFloat below for a list of possible parameters. + // combatType can be between 0-14. See GetCombatFloat below for a list of possible parameters. inline Void SetCombatFloat(Ped ped, int combatType, float p2) { return _i(0xFF41B4B141ED981C,ped, combatType, p2); } // 0xFF41B4B141ED981C 0xD8B7637C b323 - // p0: Ped Handle + // p0: Ped Handle // p1: int i | 0 <= i <= 27 // // p1 probably refers to the attributes configured in combatbehavior.meta. There are 13. Example: @@ -11921,74 +11921,74 @@ namespace PED // 16=OptimalCoverDistance // inline float GetCombatFloat(Ped ped, int p1) { return _i(0x52DFF8A10508090A,ped, p1); } // 0x52DFF8A10508090A 0x511D7EF8 b323 - // p1 may be a BOOL representing whether or not the group even exists + // p1 may be a BOOL representing whether or not the group even exists inline Void GetGroupSize(int groupID, Any* p1, int* sizeInMembers) { return _i(0x8DE69FE35CA09A45,groupID, p1, sizeInMembers); } // 0x8DE69FE35CA09A45 0xF7E1A691 b323 - // + // inline BOOL DoesGroupExist(int groupId) { return _i(0x7C6B0C22F9F40BBE,groupId); } // 0x7C6B0C22F9F40BBE 0x935C978D b323 - // Returns the group id of which the specified ped is a member of. + // Returns the group id of which the specified ped is a member of. inline int GetPedGroupIndex(Ped ped) { return _i(0xF162E133B4E7A675,ped); } // 0xF162E133B4E7A675 0x134E0785 b323 - // + // inline BOOL IsPedInGroup(Ped ped) { return _i(0x5891CAC5D4ACFF74,ped); } // 0x5891CAC5D4ACFF74 0x836D9795 b323 - // + // inline Player GetPlayerPedIsFollowing(Ped ped) { return _i(0x6A3975DEA89F9A17,ped); } // 0x6A3975DEA89F9A17 0xDE7442EE b323 - // 0: Default + // 0: Default // 1: Circle Around Leader // 2: Alternative Circle Around Leader // 3: Line, with Leader at center inline Void SetGroupFormation(int groupId, int formationType) { return _i(0xCE2F5FC3AF7E8C1E,groupId, formationType); } // 0xCE2F5FC3AF7E8C1E 0x08FAC739 b323 - // + // inline Void SetGroupFormationSpacing(int groupId, float x, float y, float z) { return _i(0x1D9D45004C28C916,groupId, x, y, z); } // 0x1D9D45004C28C916 0xB1E086FF b323 - // + // inline Void ResetGroupFormationDefaultSpacing(int groupHandle) { return _i(0x63DAB4CCB3273205,groupHandle); } // 0x63DAB4CCB3273205 0x267FCEAD b323 - // 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 GetVehiclePedIsIn but less safe. + // 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 GetVehiclePedIsIn but less safe. inline Vehicle GetVehiclePedIsUsing(Ped ped) { return _i(0x6094AD011A2EA87D,ped); } // 0x6094AD011A2EA87D 0x6DE3AADA b323 - // + // inline Vehicle GetVehiclePedIsEntering(Ped ped) { return _i(0xF92691AED837A5FC,ped); } // 0xF92691AED837A5FC 0x56E0C163 b323 - // enable or disable the gravity of a ped + // enable or disable the gravity of a ped // // Examples: // PED::SetPedGravity(PLAYER::PlayerPedId(), 0x00000001); // PED::SetPedGravity(Local_289[iVar0 /*20*/], 0x00000001); inline Void SetPedGravity(Ped ped, BOOL toggle) { return _i(0x9FF447B6B6AD960A,ped, toggle); } // 0x9FF447B6B6AD960A 0x3CA16652 b323 - // damages a ped with the given amount + // damages a ped with the given amount inline Void ApplyDamageToPed(Ped ped, int damageAmount, BOOL p2, Any p3, Hash weaponType) { return _i(0x697157CED63F18D4,ped, damageAmount, p2, p3, weaponType); } // 0x697157CED63F18D4 0x4DC27FCF b323 - // + // inline int GetTimePedDamagedByWeapon(Ped ped, Hash weaponHash) { return _i(0x36B77BB84687C318,ped, weaponHash); } // 0x36B77BB84687C318 0x0170C6E1 b323 - // + // inline Void SetPedAllowedToDuck(Ped ped, BOOL toggle) { return _i(0xDA1F1B7BE1A8766F,ped, toggle); } // 0xDA1F1B7BE1A8766F 0xC4D122F8 b323 - // + // inline Void SetPedNeverLeavesGroup(Ped ped, BOOL toggle) { return _i(0x3DBFC55D5C9BB447,ped, toggle); } // 0x3DBFC55D5C9BB447 0x0E038813 b323 - // https://alloc8or.re/gta5/doc/enums/ePedType.txt + // https://alloc8or.re/gta5/doc/enums/ePedType.txt inline int GetPedType(Ped ped) { return _i(0xFF059E1E4C01E63C,ped); } // 0xFF059E1E4C01E63C 0xB1460D43 b323 - // 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. + // 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. inline Void SetPedAsCop(Ped ped, BOOL toggle) { return _i(0xBB03C38DD3FB7FFD,ped, toggle); } // 0xBB03C38DD3FB7FFD 0x84E7DE9F b323 - // + // inline Void SetPedHealthPendingLastDamageEventOverrideFlag(BOOL toggle) { return _i(0xB3352E018D6F89DF,toggle); } // 0xB3352E018D6F89DF b2699 - // Sets the maximum health of a ped. + // Sets the maximum health of a ped. inline Void SetPedMaxHealth(Ped ped, int value) { return _i(0xF5F6378C4F3419D3,ped, value); } // 0xF5F6378C4F3419D3 0x5533F60B b323 - // + // inline int GetPedMaxHealth(Ped ped) { return _i(0x4700A416E8324EF3,ped); } // 0x4700A416E8324EF3 0xA45B6C8D b323 - // + // inline Void SetPedMaxTimeInWater(Ped ped, float value) { return _i(0x43C851690662113D,ped, value); } // 0x43C851690662113D 0xFE0A106B b323 - // + // inline Void SetPedMaxTimeUnderwater(Ped ped, float value) { return _i(0x6BA428C528D9E522,ped, value); } // 0x6BA428C528D9E522 0x082EF240 b323 - // + // inline Void SetCorpseRagdollFriction(Ped ped, float p1) { return _i(0x2735233A786B1BEF,ped, p1); } // 0x2735233A786B1BEF 0x373CC405 b323 - // seatIndex must be <= 2 + // seatIndex must be <= 2 inline Void SetPedVehicleForcedSeatUsage(Ped ped, Vehicle vehicle, int seatIndex, int flags, Any p4) { return _i(0x952F06BEECD775CC,ped, vehicle, seatIndex, flags, p4); } // 0x952F06BEECD775CC 0x79CA237B b323 - // + // inline Void ClearAllPedVehicleForcedSeatUsage(Ped ped) { return _i(0xE6CA85E7259CE16B,ped); } // 0xE6CA85E7259CE16B 0xCC1D8F66 b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void SetPedCanBeKnockedOffBike(Any p0, Any p1) { return _i(0xB282749D5E028163,p0, p1); } // 0xB282749D5E028163 b877 - // state: https://alloc8or.re/gta5/doc/enums/eKnockOffVehicle.txt + // state: https://alloc8or.re/gta5/doc/enums/eKnockOffVehicle.txt inline Void SetPedCanBeKnockedOffVehicle(Ped ped, int state) { return _i(0x7A6535691B477C48,ped, state); } // 0x7A6535691B477C48 0x8A251612 b323 - // + // inline BOOL CanKnockPedOffVehicle(Ped ped) { return _i(0x51AC07A44D4F5B8A,ped); } // 0x51AC07A44D4F5B8A 0xC9D098B3 b323 - // + // inline Void KnockPedOffVehicle(Ped ped) { return _i(0x45BBCBA77C29A841,ped); } // 0x45BBCBA77C29A841 0xACDD0674 b323 - // + // inline Void SetPedCoordsNoGang(Ped ped, float posX, float posY, float posZ) { return _i(0x87052FE446E07247,ped, posX, posY, posZ); } // 0x87052FE446E07247 0x9561AD98 b323 - // from fm_mission_controller.c4 (variable names changed for clarity): + // from fm_mission_controller.c4 (variable names changed for clarity): // // int groupID = PLAYER::GetPlayerGroup(PLAYER::PlayerId()); // PED::GetGroupSize(group, &unused, &groupSize); @@ -11997,52 +11997,52 @@ namespace PED // . . . . . . . . Ped ped1 = PED::GetPedAsGroupMember(groupID, memberNumber); // . . . . . . . . //and so on inline Ped GetPedAsGroupMember(int groupID, int memberNumber) { return _i(0x51455483CF23ED97,groupID, memberNumber); } // 0x51455483CF23ED97 0x9AA3CC8C b323 - // + // inline Ped GetPedAsGroupLeader(int groupID) { return _i(0x5CCE68DBD5FE93EC,groupID); } // 0x5CCE68DBD5FE93EC 0x52873C6A b323 - // + // inline Void SetPedKeepTask(Ped ped, BOOL toggle) { return _i(0x971D38760FBC02EF,ped, toggle); } // 0x971D38760FBC02EF 0xA7EC79CE b323 - // + // inline Void SetPedAllowMinorReactionsAsMissionPed(Ped ped, BOOL toggle) { return _i(0x49E50BDB8BA4DAB2,ped, toggle); } // 0x49E50BDB8BA4DAB2 0x397F06E3 b323 - // + // inline BOOL IsPedSwimming(Ped ped) { return _i(0x9DE327631295B4C2,ped); } // 0x9DE327631295B4C2 0x7AB43DB8 b323 - // + // inline BOOL IsPedSwimmingUnderWater(Ped ped) { return _i(0xC024869A53992F34,ped); } // 0xC024869A53992F34 0x0E8D524F b323 - // teleports ped to coords along with the vehicle ped is in + // teleports ped to coords along with the vehicle ped is in inline Void SetPedCoordsKeepVehicle(Ped ped, float posX, float posY, float posZ) { return _i(0x9AFEFF481A85AB2E,ped, posX, posY, posZ); } // 0x9AFEFF481A85AB2E 0xD66AE1D3 b323 - // + // inline Void SetPedDiesInVehicle(Ped ped, BOOL toggle) { return _i(0x2A30922C90C9B42C,ped, toggle); } // 0x2A30922C90C9B42C 0x6FE1E440 b323 - // + // inline Void SetCreateRandomCops(BOOL toggle) { return _i(0x102E68B2024D536D,toggle); } // 0x102E68B2024D536D 0x23441648 b323 - // + // inline Void SetCreateRandomCopsNotOnScenarios(BOOL toggle) { return _i(0x8A4986851C4EF6E7,toggle); } // 0x8A4986851C4EF6E7 0x82E548CC b323 - // + // inline Void SetCreateRandomCopsOnScenarios(BOOL toggle) { return _i(0x444CB7D7DBE6973D,toggle); } // 0x444CB7D7DBE6973D 0xEDC31475 b323 - // + // inline BOOL CanCreateRandomCops() { return _i(0x5EE2CAFF7F17770D); } // 0x5EE2CAFF7F17770D 0xAA73DAD9 b323 - // + // inline Void SetPedAsEnemy(Ped ped, BOOL toggle) { return _i(0x2A0C9720B854BFA,ped, toggle); } // 0x2A0C9720B854BFA 0xAE620A1B b323 - // + // inline Void SetPedCanSmashGlass(Ped ped, BOOL p1, BOOL p2) { return _i(0x1CCE141467FF42A2,ped, p1, p2); } // 0x1CCE141467FF42A2 0x149C60A8 b323 - // + // inline BOOL IsPedInAnyTrain(Ped ped) { return _i(0x6F972C1AB75A1ED0,ped); } // 0x6F972C1AB75A1ED0 0x759EF63A b323 - // + // inline BOOL IsPedGettingIntoAVehicle(Ped ped) { return _i(0xBB062B2B5722478E,ped); } // 0xBB062B2B5722478E 0x90E805AC b323 - // + // inline BOOL IsPedTryingToEnterALockedVehicle(Ped ped) { return _i(0x44D28D5DDFE5F68C,ped); } // 0x44D28D5DDFE5F68C 0x46828B4E b323 - // ped can not pull out a weapon when true + // ped can not pull out a weapon when true inline Void SetEnableHandcuffs(Ped ped, BOOL toggle) { return _i(0xDF1AF8B5D56542FA,ped, toggle); } // 0xDF1AF8B5D56542FA 0xAC9BBA23 b323 - // Used with SetEnableHandcuffs 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. + // Used with SetEnableHandcuffs 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. inline Void SetEnableBoundAnkles(Ped ped, BOOL toggle) { return _i(0xC52E0F855C58FC2E,ped, toggle); } // 0xC52E0F855C58FC2E 0x9208D689 b323 - // Enables diving motion when underwater. + // Enables diving motion when underwater. inline Void SetEnableScuba(Ped ped, BOOL toggle) { return _i(0xF99F62004024D506,ped, toggle); } // 0xF99F62004024D506 0x7BF61471 b323 - // Setting ped to true allows the ped to shoot "friendlies". + // 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. inline Void SetCanAttackFriendly(Ped ped, BOOL toggle, BOOL p2) { return _i(0xB3B1CB349FF9C75D,ped, toggle, p2); } // 0xB3B1CB349FF9C75D 0x47C60963 b323 - // Returns the ped's alertness (0-3). + // Returns the ped's alertness (0-3). // // Values : // @@ -12053,11 +12053,11 @@ namespace PED // // If the Ped does not exist, returns -1. inline int GetPedAlertness(Ped ped) { return _i(0xF6AA118530443FD2,ped); } // 0xF6AA118530443FD2 0xF83E4DAF b323 - // value ranges from 0 to 3. + // value ranges from 0 to 3. inline Void SetPedAlertness(Ped ped, int value) { return _i(0xDBA71115ED9941A6,ped, value); } // 0xDBA71115ED9941A6 0x2C32D9AE b323 - // + // inline Void SetPedGetOutUpsideDownVehicle(Ped ped, BOOL toggle) { return _i(0xBC0ED94165A48BC2,ped, toggle); } // 0xBC0ED94165A48BC2 0x89AD49FF b323 - // transitionSpeed is the time in seconds it takes to transition from one movement clipset to another. ransitionSpeed is usually 1.0f + // transitionSpeed is the time in seconds it takes to transition from one movement clipset to another. ransitionSpeed is usually 1.0f // // List of movement clipsets: // Thanks to elsewhat for list. @@ -12111,33 +12111,33 @@ namespace PED // ~ NotCrunchyTaco // // Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json - inline Void SetPedMovementClipset(Ped ped, String clipSet, float transitionSpeed) { return _i(0xAF8A94EDE7712BEF,ped, clipSet, transitionSpeed); } // 0xAF8A94EDE7712BEF 0xA817CDEB b323 - // If p1 is 0.0, I believe you are back to normal. + inline Void SetPedMovementClipset(Ped ped, const char* clipSet, float transitionSpeed) { return _i(0xAF8A94EDE7712BEF,ped, clipSet, transitionSpeed); } // 0xAF8A94EDE7712BEF 0xA817CDEB b323 + // 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::RESetPedMovementClipset(PLAYER::PlayerPedId(), 0.0); inline Void ResetPedMovementClipset(Ped ped, float p1) { return _i(0xAA74EC0CB0AAEA2C,ped, p1); } // 0xAA74EC0CB0AAEA2C 0xB83CEE93 b323 - // Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json - inline Void SetPedStrafeClipset(Ped ped, String clipSet) { return _i(0x29A28F3F8CF6D854,ped, clipSet); } // 0x29A28F3F8CF6D854 0x0BACF010 b323 - // + // Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json + inline Void SetPedStrafeClipset(Ped ped, const char* clipSet) { return _i(0x29A28F3F8CF6D854,ped, clipSet); } // 0x29A28F3F8CF6D854 0x0BACF010 b323 + // inline Void ResetPedStrafeClipset(Ped ped) { return _i(0x20510814175EA477,ped); } // 0x20510814175EA477 0xF1967A12 b323 - // - inline Void SetPedWeaponMovementClipset(Ped ped, String clipSet) { return _i(0x2622E35B77D3ACA2,ped, clipSet); } // 0x2622E35B77D3ACA2 0xF8BE54DC b323 - // + // + inline Void SetPedWeaponMovementClipset(Ped ped, const char* clipSet) { return _i(0x2622E35B77D3ACA2,ped, clipSet); } // 0x2622E35B77D3ACA2 0xF8BE54DC b323 + // inline Void ResetPedWeaponMovementClipset(Ped ped) { return _i(0x97B0DB5B4AA74E77,ped); } // 0x97B0DB5B4AA74E77 0xC60C9ACD b323 - // - inline Void SetPedDriveByClipsetOverride(Ped ped, String clipset) { return _i(0xED34AB6C5CB36520,ped, clipset); } // 0xED34AB6C5CB36520 0xD4C73595 b323 - // + // + inline Void SetPedDriveByClipsetOverride(Ped ped, const char* clipset) { return _i(0xED34AB6C5CB36520,ped, clipset); } // 0xED34AB6C5CB36520 0xD4C73595 b323 + // inline Void ClearPedDriveByClipsetOverride(Ped ped) { return _i(0x4AFE3690D7E0B5AC,ped); } // 0x4AFE3690D7E0B5AC 0xAEC9163B b323 - // Found in the b617d scripts: + // Found in the b617d scripts: // PED::SetPedMotionInCoverClipsetOverride(v_7, "trevor_heist_cover_2h"); - inline Void SetPedMotionInCoverClipsetOverride(Ped ped, String p1) { return _i(0x9DBA107B4937F809,ped, p1); } // 0x9DBA107B4937F809 b323 - // + inline Void SetPedMotionInCoverClipsetOverride(Ped ped, const char* p1) { return _i(0x9DBA107B4937F809,ped, p1); } // 0x9DBA107B4937F809 b323 + // inline Void ClearPedMotionInCoverClipsetOverride(Ped ped) { return _i(0xC79196DCB36F6121,ped); } // 0xC79196DCB36F6121 b323 - // + // inline Void ClearPedFallUpperBodyClipsetOverride(Ped ped) { return _i(0x80054D7FCC70EEC6,ped); } // 0x80054D7FCC70EEC6 b323 - // PED::SetPedInVehicleContext(l_128, MISC::GetHashKey("MINI_PROSTITUTE_LOW_PASSENGER")); + // PED::SetPedInVehicleContext(l_128, MISC::GetHashKey("MINI_PROSTITUTE_LOW_PASSENGER")); // PED::SetPedInVehicleContext(l_128, MISC::GetHashKey("MINI_PROSTITUTE_LOW_RESTRICTED_PASSENGER")); // PED::SetPedInVehicleContext(l_3212, MISC::GetHashKey("MISS_FAMILY1_JIMMY_SIT")); // PED::SetPedInVehicleContext(l_3212, MISC::GetHashKey("MISS_FAMILY1_JIMMY_SIT_REAR")); @@ -12146,17 +12146,17 @@ namespace PED // PED::SetPedInVehicleContext(PLAYER::PlayerPedId(), MISC::GetHashKey("MISS_ARMENIAN3_FRANKLIN_TENSE")); // PED::SetPedInVehicleContext(PLAYER::PlayerPedId(), MISC::GetHashKey("MISSFBI5_TREVOR_DRIVING")); inline Void SetPedInVehicleContext(Ped ped, Hash context) { return _i(0x530071295899A8C6,ped, context); } // 0x530071295899A8C6 0x27F25C0E b323 - // + // inline Void ResetPedInVehicleContext(Ped ped) { return _i(0x22EF8FF8778030EB,ped); } // 0x22EF8FF8778030EB 0x3C94D88A b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline BOOL IsScriptedScenarioPedUsingConditionalAnim(Ped ped, String animDict, String anim) { return _i(0x6EC47A344923E1ED,ped, animDict, anim); } // 0x6EC47A344923E1ED 0x3C30B447 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline BOOL IsScriptedScenarioPedUsingConditionalAnim(Ped ped, const char* animDict, const char* anim) { return _i(0x6EC47A344923E1ED,ped, animDict, anim); } // 0x6EC47A344923E1ED 0x3C30B447 b323 + // 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 - inline Void SetPedAlternateWalkAnim(Ped ped, String animDict, String animName, float p3, BOOL p4) { return _i(0x6C60394CB4F75E9A,ped, animDict, animName, p3, p4); } // 0x6C60394CB4F75E9A 0x895E1D67 b323 - // + inline Void SetPedAlternateWalkAnim(Ped ped, const char* animDict, const char* animName, float p3, BOOL p4) { return _i(0x6C60394CB4F75E9A,ped, animDict, animName, p3, p4); } // 0x6C60394CB4F75E9A 0x895E1D67 b323 + // inline Void ClearPedAlternateWalkAnim(Ped ped, float p1) { return _i(0x8844BBFCE30AA9E9,ped, p1); } // 0x8844BBFCE30AA9E9 0x5736FB23 b323 - // stance: + // stance: // 0 = idle // 1 = walk // 2 = running @@ -12166,20 +12166,20 @@ namespace PED // 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 - inline Void SetPedAlternateMovementAnim(Ped ped, int stance, String animDictionary, String animationName, float p4, BOOL p5) { return _i(0x90A43CC281FFAB46,ped, stance, animDictionary, animationName, p4, p5); } // 0x90A43CC281FFAB46 0xBA84FD8C b323 - // + inline Void SetPedAlternateMovementAnim(Ped ped, int stance, const char* animDictionary, const char* animationName, float p4, BOOL p5) { return _i(0x90A43CC281FFAB46,ped, stance, animDictionary, animationName, p4, p5); } // 0x90A43CC281FFAB46 0xBA84FD8C b323 + // inline Void ClearPedAlternateMovementAnim(Ped ped, int stance, float p2) { return _i(0xD8D19675ED5FBDCE,ped, stance, p2); } // 0xD8D19675ED5FBDCE 0x7A7F5BC3 b323 - // From the scripts: + // From the scripts: // PED::SetPedGestureGroup(PLAYER::PlayerPedId(), // "ANIM_GROUP_GESTURE_MISS_FRA0"); // PED::SetPedGestureGroup(PLAYER::PlayerPedId(), // "ANIM_GROUP_GESTURE_MISS_DocksSetup1"); - inline Void SetPedGestureGroup(Ped ped, String animGroupGesture) { return _i(0xDDF803377F94AAA8,ped, animGroupGesture); } // 0xDDF803377F94AAA8 0x170DA109 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline Vector3 GetAnimInitialOffsetPosition(String animDict, String animName, float x, float y, float z, float xRot, float yRot, float zRot, float p8, int p9) { return _i(0xBE22B26DD764C040,animDict, animName, x, y, z, xRot, yRot, zRot, p8, p9); } // 0xBE22B26DD764C040 0xC59D4268 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline Vector3 GetAnimInitialOffsetRotation(String animDict, String animName, float x, float y, float z, float xRot, float yRot, float zRot, float p8, int p9) { return _i(0x4B805E6046EE9E47,animDict, animName, x, y, z, xRot, yRot, zRot, p8, p9); } // 0x4B805E6046EE9E47 0x5F7789E6 b323 - // Ids + inline Void SetPedGestureGroup(Ped ped, const char* animGroupGesture) { return _i(0xDDF803377F94AAA8,ped, animGroupGesture); } // 0xDDF803377F94AAA8 0x170DA109 b323 + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline Vector3 GetAnimInitialOffsetPosition(const char* animDict, const char* animName, float x, float y, float z, float xRot, float yRot, float zRot, float p8, int p9) { return _i(0xBE22B26DD764C040,animDict, animName, x, y, z, xRot, yRot, zRot, p8, p9); } // 0xBE22B26DD764C040 0xC59D4268 b323 + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline Vector3 GetAnimInitialOffsetRotation(const char* animDict, const char* animName, float x, float y, float z, float xRot, float yRot, float zRot, float p8, int p9) { return _i(0x4B805E6046EE9E47,animDict, animName, x, y, z, xRot, yRot, zRot, p8, p9); } // 0x4B805E6046EE9E47 0x5F7789E6 b323 + // Ids // 0 - Head // 1 - Beard // 2 - Hair @@ -12193,19 +12193,19 @@ namespace PED // 10- Decals // 11 - Auxiliary parts for torso inline int GetPedDrawableVariation(Ped ped, int componentId) { return _i(0x67F3780DD425D4FC,ped, componentId); } // 0x67F3780DD425D4FC 0x29850FE2 b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline int GetNumberOfPedDrawableVariations(Ped ped, int componentId) { return _i(0x27561561732A7842,ped, componentId); } // 0x27561561732A7842 0x9754C27D b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline int GetPedTextureVariation(Ped ped, int componentId) { return _i(0x4A355E041E004E6,ped, componentId); } // 0x4A355E041E004E6 0xC0A8590A b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline int GetNumberOfPedTextureVariations(Ped ped, int componentId, int drawableId) { return _i(0x8F7156A3142A6BAD,ped, componentId, drawableId); } // 0x8F7156A3142A6BAD 0x83D9FBE7 b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline int GetNumberOfPedPropDrawableVariations(Ped ped, int propId) { return _i(0x5FAF9754E789FB47,ped, propId); } // 0x5FAF9754E789FB47 0xC9780B95 b323 - // Need to check behavior when drawableId = -1 + // Need to check behavior when drawableId = -1 // // - Doofy.Ass // Why this function doesn't work and return nill value? @@ -12217,23 +12217,23 @@ namespace PED // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline int GetNumberOfPedPropTextureVariations(Ped ped, int propId, int drawableId) { return _i(0xA6E7F1CEB523E171,ped, propId, drawableId); } // 0xA6E7F1CEB523E171 0x4892B882 b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline int GetPedPaletteVariation(Ped ped, int componentId) { return _i(0xE3DD5F2A84B42281,ped, componentId); } // 0xE3DD5F2A84B42281 0xEF1BC082 b323 - // + // inline BOOL GetMpOutfitDataFromMetadata(Any* p0, Any* p1) { return _i(0x9E30E91FB03A2CAF,p0, p1); } // 0x9E30E91FB03A2CAF 0x52559BB6 b323 - // + // inline int GetFmMaleShopPedApparelItemIndex(int p0) { return _i(0x1E77FA7A62EE6C4C,p0); } // 0x1E77FA7A62EE6C4C 0x021F5B36 b323 - // + // inline int GetFmFemaleShopPedApparelItemIndex(int p0) { return _i(0xF033419D1B81FAE8,p0); } // 0xF033419D1B81FAE8 0x8FDDB5DB b323 - // Checks if the component variation is valid, this works great for randomizing components using loops. + // 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 inline BOOL IsPedComponentVariationValid(Ped ped, int componentId, int drawableId, int textureId) { return _i(0xE825F6B6CEA7671D,ped, componentId, drawableId, textureId); } // 0xE825F6B6CEA7671D 0x952ABD9A b323 - // paletteId: 0 to 3. + // paletteId: 0 to 3. // // componentId: // enum ePedVarComp @@ -12258,19 +12258,19 @@ namespace PED // // Full list of ped components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedComponentVariations.json inline Void SetPedComponentVariation(Ped ped, int componentId, int drawableId, int textureId, int paletteId) { return _i(0x262B14F48D29DE80,ped, componentId, drawableId, textureId, paletteId); } // 0x262B14F48D29DE80 0xD4F7B05C b323 - // p1 is always 0 in R* scripts. + // p1 is always 0 in R* scripts. // // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline Void SetPedRandomComponentVariation(Ped ped, int p1) { return _i(0xC8A9481A01E63C28,ped, p1); } // 0xC8A9481A01E63C28 0x4111BA46 b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline Void SetPedRandomProps(Ped ped) { return _i(0xC44AA05345C992C6,ped); } // 0xC44AA05345C992C6 0xE3318E0E b323 - // Sets Ped Default Clothes + // Sets Ped Default Clothes inline Void SetPedDefaultComponentVariation(Ped ped) { return _i(0x45EEE61580806D63,ped); } // 0x45EEE61580806D63 0xC866A984 b323 - // + // inline Void SetPedBlendFromParents(Ped ped, Any p1, Any p2, float p3, float p4) { return _i(0x137BBD05230DB22D,ped, p1, p2, p3, p4); } // 0x137BBD05230DB22D 0x837BD370 b323 - // 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 "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. // @@ -12287,7 +12287,7 @@ namespace PED // For more info please refer to this topic. // gtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained inline Void SetPedHeadBlendData(Ped ped, int shapeFirstID, int shapeSecondID, int shapeThirdID, int skinFirstID, int skinSecondID, int skinThirdID, float shapeMix, float skinMix, float thirdMix, BOOL isParent) { return _i(0x9414E18B9434C2FE,ped, shapeFirstID, shapeSecondID, shapeThirdID, skinFirstID, skinSecondID, skinThirdID, shapeMix, skinMix, thirdMix, isParent); } // 0x9414E18B9434C2FE 0x60746B88 b323 - // The pointer is to a padded struct that matches the arguments to SetPedHeadBlendData(...). There are 4 bytes of padding after each field. + // The pointer is to a padded struct that matches the arguments to SetPedHeadBlendData(...). There are 4 bytes of padding after each field. // pass this struct in the second parameter // struct headBlendData // { @@ -12312,9 +12312,9 @@ namespace PED // bool isParent; // }; inline BOOL GetPedHeadBlendData(Ped ped, Any* headBlendData) { return _i(0x2746BD9D88C5C5D0,ped, headBlendData); } // 0x2746BD9D88C5C5D0 0x44E1680C b323 - // See SetPedHeadBlendData(). + // See SetPedHeadBlendData(). inline Void UpdatePedHeadBlendData(Ped ped, float shapeMix, float skinMix, float thirdMix) { return _i(0x723538F61C647C5A,ped, shapeMix, skinMix, thirdMix); } // 0x723538F61C647C5A 0x5CB76219 b323 - // Used for freemode (online) characters. + // Used for freemode (online) characters. // // For some reason, the scripts use a rounded float for the index. // Indexes: @@ -12349,9 +12349,9 @@ namespace PED // 30. white small pupil // 31. glossed over inline Void SetHeadBlendEyeColor(Ped ped, int index) { return _i(0x50B56988B170AFDF,ped, index); } // 0x50B56988B170AFDF b323 - // A getter for _SET_PED_EYE_COLOR. Returns -1 if fails to get. + // A getter for _SET_PED_EYE_COLOR. Returns -1 if fails to get. inline int GetHeadBlendEyeColor(Ped ped) { return _i(0x76BBA2CEE66D47E9,ped); } // 0x76BBA2CEE66D47E9 b1011 - // 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 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 @@ -12368,57 +12368,57 @@ namespace PED // 11 Body Blemishes 0 - 11, 255 // 12 Add Body Blemishes 0 - 1, 255 inline Void SetPedHeadOverlay(Ped ped, int overlayID, int index, float opacity) { return _i(0x48F44967FA05CC1E,ped, overlayID, index, opacity); } // 0x48F44967FA05CC1E 0xD28DBA90 b323 - // Likely a char, if that overlay is not set, e.i. "None" option, returns 255; + // Likely a char, if that overlay is not set, e.i. "None" option, returns 255; // // This might be the once removed native GetPedHeadOverlay. inline int GetPedHeadOverlay(Ped ped, int overlayID) { return _i(0xA60EF3B6461A4D43,ped, overlayID); } // 0xA60EF3B6461A4D43 b323 - // + // inline int GetPedHeadOverlayNum(int overlayID) { return _i(0xCF1CE768BB43480E,overlayID); } // 0xCF1CE768BB43480E 0xFF43C18D b323 - // + // // // 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 SetPedHeadOverlay(). inline Void SetPedHeadOverlayTint(Ped ped, int overlayID, int colorType, int colorID, int secondColorID) { return _i(0x497BF74A7B9CB952,ped, overlayID, colorType, colorID, secondColorID); } // 0x497BF74A7B9CB952 b323 - // + // inline Void SetPedHairTint(Ped ped, int colorID, int highlightColorID) { return _i(0x4CFFC65454C93A49,ped, colorID, highlightColorID); } // 0x4CFFC65454C93A49 b323 - // + // inline int GetNumPedHairTints() { return _i(0xE5C0CF872C2AD150); } // 0xE5C0CF872C2AD150 b323 - // + // inline int GetNumPedMakeupTints() { return _i(0xD1F7CA1535D22818); } // 0xD1F7CA1535D22818 b323 - // Input: Haircolor index, value between 0 and 63 (inclusive). + // 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 `GetPedMakeupTintColor` to get the makeup colors. inline Void GetPedHairTintColor(int hairColorIndex, int* outR, int* outG, int* outB) { return _i(0x4852FC386E2E1BB5,hairColorIndex, outR, outG, outB); } // 0x4852FC386E2E1BB5 b323 - // Input: Makeup color index, value between 0 and 63 (inclusive). + // 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 `GetPedHairTintColor` to get the hair colors. inline Void GetPedMakeupTintColor(int makeupColorIndex, int* outR, int* outG, int* outB) { return _i(0x13E5CFC38CD5387,makeupColorIndex, outR, outG, outB); } // 0x13E5CFC38CD5387 b323 - // + // inline BOOL IsPedHairTintForCreator(int colorId) { return _i(0xED6D8E27A43B8CDE,colorId); } // 0xED6D8E27A43B8CDE b323 - // + // inline int GetDefaultSecondaryTintForCreator(int colorId) { return _i(0xEA9960D07DADCF10,colorId); } // 0xEA9960D07DADCF10 b323 - // + // inline BOOL IsPedLipstickTintForCreator(int colorId) { return _i(0x3E802F11FBE27674,colorId); } // 0x3E802F11FBE27674 b323 - // + // inline BOOL IsPedBlushTintForCreator(int colorId) { return _i(0xF41B5D290C99A3D6,colorId); } // 0xF41B5D290C99A3D6 b323 - // + // inline BOOL IsPedHairTintForBarber(int colorID) { return _i(0xE0D36E5D9E99CC21,colorID); } // 0xE0D36E5D9E99CC21 b323 - // + // inline int GetDefaultSecondaryTintForBarber(int colorID) { return _i(0xAAA6A3698A69E048,colorID); } // 0xAAA6A3698A69E048 b323 - // + // inline BOOL IsPedLipstickTintForBarber(int colorID) { return _i(0x525A2C2562F3CD4,colorID); } // 0x525A2C2562F3CD4 b323 - // + // inline BOOL IsPedBlushTintForBarber(int colorID) { return _i(0x604E810189EE3A59,colorID); } // 0x604E810189EE3A59 b323 - // + // inline BOOL IsPedBlushFacepaintTintForBarber(int colorId) { return _i(0x9E7ECA981D9B210,colorId); } // 0x9E7ECA981D9B210 b1290 - // + // inline int GetTintIndexForLastGenHairTexture(Hash modelHash, int drawableId, int textureId) { return _i(0xC56FBF2F228E1DAC,modelHash, drawableId, textureId); } // 0xC56FBF2F228E1DAC b323 - // Sets the various freemode face features, e.g. nose length, chin shape. Scale ranges from -1.0 to 1.0. + // Sets the various freemode face features, e.g. nose length, chin shape. Scale ranges from -1.0 to 1.0. // // // @@ -12462,41 +12462,41 @@ namespace PED // // 19 - Neck Thickness (Thin/Thick) inline Void SetPedMicroMorph(Ped ped, int index, float scale) { return _i(0x71A5C1DBA060049E,ped, index, scale); } // 0x71A5C1DBA060049E b323 - // + // inline BOOL HasPedHeadBlendFinished(Ped ped) { return _i(0x654CD0A825161131,ped); } // 0x654CD0A825161131 0x2B1BD9C5 b323 - // + // inline Void FinalizeHeadBlend(Ped ped) { return _i(0x4668D80430D6C299,ped); } // 0x4668D80430D6C299 0x894314A4 b323 - // p4 seems to vary from 0 to 3. + // p4 seems to vary from 0 to 3. // Preview: https://gfycat.com/MaleRareAmazonparrot inline Void SetHeadBlendPaletteColor(Ped ped, int r, int g, int b, int id) { return _i(0xCC9682B8951C5229,ped, r, g, b, id); } // 0xCC9682B8951C5229 0x57E5B3F9 b323 - // + // inline Void DisableHeadBlendPaletteColor(Ped ped) { return _i(0xA21C118553BBDF02,ped); } // 0xA21C118553BBDF02 0xC6F36292 b323 - // Type equals 0 for male non-dlc, 1 for female non-dlc, 2 for male dlc, and 3 for female dlc. + // Type equals 0 for male non-dlc, 1 for female non-dlc, 2 for male dlc, and 3 for female dlc. // // Used when calling SetPedHeadBlendData. inline int GetPedHeadBlendFirstIndex(int type) { return _i(0x68D353AB88B97E0C,type); } // 0x68D353AB88B97E0C 0x211DEFEC b323 - // Type equals 0 for male non-dlc, 1 for female non-dlc, 2 for male dlc, and 3 for female dlc. + // Type equals 0 for male non-dlc, 1 for female non-dlc, 2 for male dlc, and 3 for female dlc. inline int GetPedHeadBlendNumHeads(int type) { return _i(0x5EF37013A6539C9D,type); } // 0x5EF37013A6539C9D 0x095D3BD8 b323 - // from extreme3.c4 + // from extreme3.c4 // PED::SetPedPreloadVariationData(PLAYER::PlayerPedId(), 8, PED::GetPedDrawableVariation(PLAYER::PlayerPedId(), 8), PED::GetPedTextureVariation(PLAYER::PlayerPedId(), 8)); // // p1 is probably componentId inline int SetPedPreloadVariationData(Ped ped, int slot, int drawableId, int textureId) { return _i(0x39D55A620FCB6A3A,ped, slot, drawableId, textureId); } // 0x39D55A620FCB6A3A 0x45F3BDFB b323 - // + // inline BOOL HasPedPreloadVariationDataFinished(Ped ped) { return _i(0x66680A92700F43DF,ped); } // 0x66680A92700F43DF 0xC6517D52 b323 - // + // inline Void ReleasePedPreloadVariationData(Ped ped) { return _i(0x5AAB586FFEC0FD96,ped); } // 0x5AAB586FFEC0FD96 0x6435F67F b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline int SetPedPreloadPropData(Ped ped, int componentId, int drawableId, int TextureId) { return _i(0x2B16A3BFF1FBCE49,ped, componentId, drawableId, TextureId); } // 0x2B16A3BFF1FBCE49 0xC0E23671 b323 - // + // inline BOOL HasPedPreloadPropDataFinished(Ped ped) { return _i(0x784002A632822099,ped); } // 0x784002A632822099 0x3B0CA391 b323 - // + // inline Void ReleasePedPreloadPropData(Ped ped) { return _i(0xF79F9DEF0AADE61A,ped); } // 0xF79F9DEF0AADE61A 0xFD103BA7 b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline int GetPedPropIndex(Ped ped, int componentId, Any p2) { return _i(0x898CC20EA75BACD8,ped, componentId, p2); } // 0x898CC20EA75BACD8 0x746DDAC0 b323 - // ComponentId can be set to various things based on what category you're wanting to set + // ComponentId can be set to various things based on what category you're wanting to set // enum PedPropsData // { // PED_PROP_HATS = 0, @@ -12509,39 +12509,39 @@ namespace PED // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline Void SetPedPropIndex(Ped ped, int componentId, int drawableId, int TextureId, BOOL attach, Any p5) { return _i(0x93376B65A266EB5F,ped, componentId, drawableId, TextureId, attach, p5); } // 0x93376B65A266EB5F 0x0829F2E2 b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline Void KnockOffPedProp(Ped ped, BOOL p1, BOOL p2, BOOL p3, BOOL p4) { return _i(0x6FD7816A36615F48,ped, p1, p2, p3, p4); } // 0x6FD7816A36615F48 0x08D8B180 b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline Void ClearPedProp(Ped ped, int propId, Any p2) { return _i(0x943E5B8E078E76E,ped, propId, p2); } // 0x943E5B8E078E76E 0x2D23D743 b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline Void ClearAllPedProps(Ped ped, Any p1) { return _i(0xCD8A7537A9B52F06,ped, p1); } // 0xCD8A7537A9B52F06 0x81DF8B43 b323 - // + // inline Void DropAmbientProp(Ped ped) { return _i(0xAFF4710E2A0A6C12,ped); } // 0xAFF4710E2A0A6C12 0x728D3D53 b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline int GetPedPropTextureIndex(Ped ped, int componentId) { return _i(0xE131A28626F81AB2,ped, componentId); } // 0xE131A28626F81AB2 0x922A6653 b323 - // + // inline Void ClearPedParachutePackVariation(Ped ped) { return _i(0x1280804F7CFD2D6C,ped); } // 0x1280804F7CFD2D6C 0x7BCD8991 b323 - // This native sets a scuba mask for freemode models and an oxygen bottle for player_* models. It works on freemode and player_* models. + // This native sets a scuba mask for freemode models and an oxygen bottle for player_* models. It works on freemode and player_* models. inline Void SetPedScubaGearVariation(Ped ped) { return _i(0x36C6984C3ED0C911,ped); } // 0x36C6984C3ED0C911 b323 - // 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. + // 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. inline Void ClearPedScubaGearVariation(Ped ped) { return _i(0xB50EB4CCB29704AC,ped); } // 0xB50EB4CCB29704AC 0x080275EE b323 - // + // inline BOOL IsUsingPedScubaGearVariation(Any p0) { return _i(0xFEC9A3B1820F3331,p0); } // 0xFEC9A3B1820F3331 b323 - // works with TASK::TASK_SetBlockingOfNonTemporaryEvents to make a ped completely oblivious to all events going on around him + // works with TASK::TASK_SetBlockingOfNonTemporaryEvents to make a ped completely oblivious to all events going on around him inline Void SetBlockingOfNonTemporaryEvents(Ped ped, BOOL toggle) { return _i(0x9F8AA94D6D97DBF4,ped, toggle); } // 0x9F8AA94D6D97DBF4 0xDFE34E4A b323 - // + // inline Void SetPedBoundsOrientation(Ped ped, float p1, float p2, float x, float y, float z) { return _i(0x4F5F651ACCC9C4CF,ped, p1, p2, x, y, z); } // 0x4F5F651ACCC9C4CF 0xCFA20D68 b323 - // PED::RegisterTarget(l_216, PLAYER::PlayerPedId()); from re_prisonbreak.txt. + // PED::RegisterTarget(l_216, PLAYER::PlayerPedId()); from re_prisonbreak.txt. // // l_216 = RECSBRobber1 inline Void RegisterTarget(Ped ped, Ped target) { return _i(0x2F25D9AEFA34FBA2,ped, target); } // 0x2F25D9AEFA34FBA2 0x50A95442 b323 - // Based on TASK_COMBAT_HATED_TARGETS_ARound_PED, the parameters are likely similar (PedHandle, and area to attack in). + // Based on TASK_COMBAT_HATED_TARGETS_ARound_PED, the parameters are likely similar (PedHandle, and area to attack in). inline Void RegisterHatedTargetsAroundPed(Ped ped, float radius) { return _i(0x9222F300BF8354FE,ped, radius); } // 0x9222F300BF8354FE 0x7F87559E b323 - // Gets a random ped in the x/y/zRadius near the x/y/z coordinates passed. + // Gets a random ped in the x/y/zRadius near the x/y/z coordinates passed. // // Ped Types: // Any = -1 @@ -12554,7 +12554,7 @@ namespace PED // Animal = 28 // Army = 29 inline Ped GetRandomPedAtCoord(float x, float y, float z, float xRadius, float yRadius, float zRadius, int pedType) { return _i(0x876046A8E3A4B71C,x, y, z, xRadius, yRadius, zRadius, pedType); } // 0x876046A8E3A4B71C 0xDC8239EB b323 - // Gets the closest ped in a radius. + // Gets the closest ped in a radius. // // Ped Types: // Any ped = -1 @@ -12589,21 +12589,21 @@ namespace PED // // Note: PED::GetPedNearbyPeds works for more peds. inline BOOL GetClosestPed(float x, float y, float z, float radius, BOOL p4, BOOL p5, Ped* outPed, BOOL p7, BOOL p8, int pedType) { return _i(0xC33AB876A77F8164,x, y, z, radius, p4, p5, outPed, p7, p8, pedType); } // 0xC33AB876A77F8164 0x8F6C1F55 b323 - // Sets a value indicating whether scenario peds should be returned by the next call to a command that returns peds. Eg. GetClosestPed. + // Sets a value indicating whether scenario peds should be returned by the next call to a command that returns peds. Eg. GetClosestPed. inline Void SetScenarioPedsToBeReturnedByNextCommand(BOOL value) { return _i(0x14F19A8782C8071E,value); } // 0x14F19A8782C8071E 0x85615FD0 b323 - // + // inline BOOL GetCanPedBeGrabbedByScript(Ped ped, BOOL p1, BOOL p2, BOOL p3, BOOL p4, BOOL p5, BOOL p6, BOOL p7, Any p8) { return _i(0x3EA03AF85A85CB7,ped, p1, p2, p3, p4, p5, p6, p7, p8); } // 0x3EA03AF85A85CB7 0x18DD76A1 b323 - // Scripts use 0.2, 0.5 and 1.0. Value must be >= 0.0 && <= 1.0 + // Scripts use 0.2, 0.5 and 1.0. Value must be >= 0.0 && <= 1.0 inline Void SetDriverRacingModifier(Ped driver, float modifier) { return _i(0xDED5AF5A0EA4B297,driver, modifier); } // 0xDED5AF5A0EA4B297 0x6D55B3B3 b323 - // 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. + // 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. inline Void SetDriverAbility(Ped driver, float ability) { return _i(0xB195FFA8042FC5C3,driver, ability); } // 0xB195FFA8042FC5C3 0xAAD4012C b323 - // range 0.0f - 1.0f + // range 0.0f - 1.0f inline Void SetDriverAggressiveness(Ped driver, float aggressiveness) { return _i(0xA731F608CA104E3C,driver, aggressiveness); } // 0xA731F608CA104E3C 0x8B02A8FB b323 - // Prevents the ped from going limp. + // Prevents the ped from going limp. // // [Example: Can prevent peds from falling when standing on moving vehicles.] inline BOOL CanPedRagdoll(Ped ped) { return _i(0x128F79EDCECE4FD5,ped); } // 0x128F79EDCECE4FD5 0xC0EFB7A3 b323 - // p4/p5: Unused in TU27 + // p4/p5: Unused in TU27 // Ragdoll Types: // **0**: CTaskNMRelax // **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments. @@ -12627,7 +12627,7 @@ namespace PED // // 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. inline BOOL SetPedToRagdoll(Ped ped, int time1, int time2, int ragdollType, BOOL p4, BOOL p5, BOOL p6) { return _i(0xAE99FB955581844A,ped, time1, time2, ragdollType, p4, p5, p6); } // 0xAE99FB955581844A 0x83CB5052 b323 - // Return variable is never used in R*'s scripts. + // 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. // @@ -12647,25 +12647,25 @@ namespace PED // ped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f); // inline BOOL SetPedToRagdollWithFall(Ped ped, int time, int p2, int ragdollType, float x, float y, float z, float velocity, float p8, float p9, float p10, float p11, float p12, float p13) { return _i(0xD76632D99E4966C8,ped, time, p2, ragdollType, x, y, z, velocity, p8, p9, p10, p11, p12, p13); } // 0xD76632D99E4966C8 0xFA12E286 b323 - // 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. + // 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. inline Void SetPedRagdollOnCollision(Ped ped, BOOL toggle) { return _i(0xF0A4F1BBF4FA7497,ped, toggle); } // 0xF0A4F1BBF4FA7497 0x2654A0F4 b323 - // If the ped handle passed through the parenthesis is in a ragdoll state this will return true. + // If the ped handle passed through the parenthesis is in a ragdoll state this will return true. inline BOOL IsPedRagdoll(Ped ped) { return _i(0x47E4E977581C5B55,ped); } // 0x47E4E977581C5B55 0xC833BBE1 b323 - // + // inline BOOL IsPedRunningRagdollTask(Ped ped) { return _i(0xE3B6097CC25AA69E,ped); } // 0xE3B6097CC25AA69E 0x44A153F2 b323 - // + // inline Void SetPedRagdollForceFall(Ped ped) { return _i(0x1F6594B923B9251,ped); } // 0x1F6594B923B9251 0x20A5BDE0 b323 - // + // inline Void ResetPedRagdollTimer(Ped ped) { return _i(0x9FA4664CF62E47E8,ped); } // 0x9FA4664CF62E47E8 0xF2865370 b323 - // + // inline Void SetPedCanRagdoll(Ped ped, BOOL toggle) { return _i(0xB128377056A54E2A,ped, toggle); } // 0xB128377056A54E2A 0xCF1384C4 b323 - // + // inline BOOL IsPedRunningMeleeTask(Ped ped) { return _i(0xD1871251F3B5ACD7,ped); } // 0xD1871251F3B5ACD7 0xBD4236F6 b323 - // + // inline BOOL IsPedRunningMobilePhoneTask(Ped ped) { return _i(0x2AFE52F782F25775,ped); } // 0x2AFE52F782F25775 0xFB2AFED1 b323 - // + // inline BOOL IsMobilePhoneToPedEar(Ped ped) { return _i(0xA3F3564A5B3646C0,ped); } // 0xA3F3564A5B3646C0 0x97353375 b323 - // Works for both player and peds, + // Works for both player and peds, // // enum eRagdollBlockingFlags // { @@ -12691,37 +12691,37 @@ namespace PED // // inline Void SetRagdollBlockingFlags(Ped ped, int blockingFlag) { return _i(0x26695EC767728D84,ped, blockingFlag); } // 0x26695EC767728D84 0x9C8F830D b323 - // See SetRagdollBlockingFlags for flags + // See SetRagdollBlockingFlags for flags inline Void ClearRagdollBlockingFlags(Ped ped, int blockingFlag) { return _i(0xD86D101FCFD00A4B,ped, blockingFlag); } // 0xD86D101FCFD00A4B 0x77CBA290 b323 - // + // inline Void SetPedAngledDefensiveArea(Ped ped, float p1, float p2, float p3, float p4, float p5, float p6, float p7, BOOL p8, BOOL p9) { return _i(0xC7F76DF27A5045A1,ped, p1, p2, p3, p4, p5, p6, p7, p8, p9); } // 0xC7F76DF27A5045A1 0x3EFBDD9B b323 - // + // inline Void SetPedSphereDefensiveArea(Ped ped, float x, float y, float z, float radius, BOOL p5, BOOL p6) { return _i(0x9D3151A373974804,ped, x, y, z, radius, p5, p6); } // 0x9D3151A373974804 0xBD96D8E8 b323 - // + // inline Void SetPedDefensiveSphereAttachedToPed(Ped ped, Ped target, float xOffset, float yOffset, float zOffset, float radius, BOOL p6) { return _i(0xF9B8F91AAD3B953E,ped, target, xOffset, yOffset, zOffset, radius, p6); } // 0xF9B8F91AAD3B953E 0x40638BDC b323 - // + // inline Void SetPedDefensiveSphereAttachedToVehicle(Ped ped, Vehicle target, float xOffset, float yOffset, float zOffset, float radius, BOOL p6) { return _i(0xE4723DB6E736CCFF,ped, target, xOffset, yOffset, zOffset, radius, p6); } // 0xE4723DB6E736CCFF 0x4763B2C6 b323 - // + // inline Void SetPedDefensiveAreaAttachedToPed(Ped ped, Ped attachPed, float p2, float p3, float p4, float p5, float p6, float p7, float p8, BOOL p9, BOOL p10) { return _i(0x4EF47FE21698A8B6,ped, attachPed, p2, p3, p4, p5, p6, p7, p8, p9, p10); } // 0x4EF47FE21698A8B6 0x74BDA7CE b323 - // + // inline Void SetPedDefensiveAreaDirection(Ped ped, float p1, float p2, float p3, BOOL p4) { return _i(0x413C6C763A4AFFAD,ped, p1, p2, p3, p4); } // 0x413C6C763A4AFFAD 0xB66B0C9A b323 - // Ped will no longer get angry when you stay near him. + // Ped will no longer get angry when you stay near him. inline Void RemovePedDefensiveArea(Ped ped, BOOL toggle) { return _i(0x74D4E028107450A9,ped, toggle); } // 0x74D4E028107450A9 0x34AAAFA5 b323 - // + // inline Vector3 GetPedDefensiveAreaPosition(Ped ped, BOOL p1) { return _i(0x3C06B8786DD94CD1,ped, p1); } // 0x3C06B8786DD94CD1 0xCB65198D b323 - // + // inline BOOL IsPedDefensiveAreaActive(Ped ped, BOOL p1) { return _i(0xBA63D9FE45412247,ped, p1); } // 0xBA63D9FE45412247 0x6D88BCD3 b323 - // + // inline Void SetPedPreferredCoverSet(Ped ped, Any itemSet) { return _i(0x8421EB4DA7E391B9,ped, itemSet); } // 0x8421EB4DA7E391B9 0xF3B7EFBF b323 - // + // inline Void RemovePedPreferredCoverSet(Ped ped) { return _i(0xFDDB234CF74073D9,ped); } // 0xFDDB234CF74073D9 0xA0134498 b323 - // It will revive/cure the injured ped. The condition is ped must not be dead. + // 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. inline Void ReviveInjuredPed(Ped ped) { return _i(0x8D8ACD8388CD99CE,ped); } // 0x8D8ACD8388CD99CE 0x14D3E6E3 b323 - // This function will simply bring the dead person back to life. + // 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). // @@ -12729,29 +12729,29 @@ namespace PED // // Also, disabling any assigned task immediately helped in the number of scenarios, where If you want peds to perform certain decided tasks. inline Void ResurrectPed(Ped ped) { return _i(0x71BC8E838B9C6035,ped); } // 0x71BC8E838B9C6035 0xA4B82097 b323 - // NOTE: Debugging functions are not present in the retail version of the game. + // 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 - inline Void SetPedNameDebug(Ped ped, String name) { return _i(0x98EFA132A4117BE1,ped, name); } // 0x98EFA132A4117BE1 0x20D6273E b323 - // Gets the offset the specified ped has moved since the previous tick. + inline Void SetPedNameDebug(Ped ped, const char* name) { return _i(0x98EFA132A4117BE1,ped, name); } // 0x98EFA132A4117BE1 0x20D6273E b323 + // 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. inline Vector3 GetPedExtractedDisplacement(Ped ped, BOOL worldSpace) { return _i(0xE0AF41401ADF87E3,ped, worldSpace); } // 0xE0AF41401ADF87E3 0x5231F901 b323 - // + // inline Void SetPedDiesWhenInjured(Ped ped, BOOL toggle) { return _i(0x5BA7919BED300023,ped, toggle); } // 0x5BA7919BED300023 0xE94E24D4 b323 - // + // inline Void SetPedEnableWeaponBlocking(Ped ped, BOOL toggle) { return _i(0x97A790315D3831FD,ped, toggle); } // 0x97A790315D3831FD 0x4CAD1A4A b323 - // p1 was always 1 (true). + // 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. inline Void SpecialFunctionDoNotUse(Ped ped, BOOL p1) { return _i(0xF9ACF4A08098EA25,ped, p1); } // 0xF9ACF4A08098EA25 0x141CC936 b323 - // + // inline Void ResetPedVisibleDamage(Ped ped) { return _i(0x3AC1F7B898F30C05,ped); } // 0x3AC1F7B898F30C05 0xC4BC4841 b323 - // + // inline Void ApplyPedBloodDamageByZone(Ped ped, Any p1, float p2, float p3, Any p4) { return _i(0x816F6981C60BF53B,ped, p1, p2, p3, p4); } // 0x816F6981C60BF53B 0x1E54DB12 b323 - // woundTypes: + // woundTypes: // - soak_splat // - wound_sheet // - BulletSmall @@ -12765,12 +12765,12 @@ namespace PED // - BasicSlash // - Scripted_Ped_Splash_Back // - BackSplash - inline Void ApplyPedBlood(Ped ped, int boneIndex, float xRot, float yRot, float zRot, String woundType) { return _i(0x83F7E01C7B769A26,ped, boneIndex, xRot, yRot, zRot, woundType); } // 0x83F7E01C7B769A26 0x376CE3C0 b323 - // - inline Void ApplyPedBloodByZone(Ped ped, int p1, float p2, float p3, String p4) { return _i(0x3311E47B91EDCBBC,ped, p1, p2, p3, p4); } // 0x3311E47B91EDCBBC 0x8F3F3A9C b323 - // - inline Void ApplyPedBloodSpecific(Ped ped, int p1, float p2, float p3, float p4, float p5, int p6, float p7, String p8) { return _i(0xEF0D582CBF2D9B0F,ped, p1, p2, p3, p4, p5, p6, p7, p8); } // 0xEF0D582CBF2D9B0F 0xFC13CE80 b323 - // enum eDamageZone + inline Void ApplyPedBlood(Ped ped, int boneIndex, float xRot, float yRot, float zRot, const char* woundType) { return _i(0x83F7E01C7B769A26,ped, boneIndex, xRot, yRot, zRot, woundType); } // 0x83F7E01C7B769A26 0x376CE3C0 b323 + // + inline Void ApplyPedBloodByZone(Ped ped, int p1, float p2, float p3, const char* p4) { return _i(0x3311E47B91EDCBBC,ped, p1, p2, p3, p4); } // 0x3311E47B91EDCBBC 0x8F3F3A9C b323 + // + inline Void ApplyPedBloodSpecific(Ped ped, int p1, float p2, float p3, float p4, float p5, int p6, float p7, const char* p8) { return _i(0xEF0D582CBF2D9B0F,ped, p1, p2, p3, p4, p5, p6, p7, p8); } // 0xEF0D582CBF2D9B0F 0xFC13CE80 b323 + // enum eDamageZone // { // DZ_Torso = 0, // DZ_Head, @@ -12794,8 +12794,8 @@ namespace PED // cs_trev1_dirt // // ApplyPedDamageDecal(ped, 1, 0.5f, 0.513f, 0f, 1f, unk, 0, 0, "blushing"); - inline Void ApplyPedDamageDecal(Ped ped, int damageZone, float xOffset, float yOffset, float heading, float scale, float alpha, int variation, BOOL fadeIn, String decalName) { return _i(0x397C38AA7B4A5F83,ped, damageZone, xOffset, yOffset, heading, scale, alpha, variation, fadeIn, decalName); } // 0x397C38AA7B4A5F83 0x8A13A41F b323 - // Damage Packs: + inline Void ApplyPedDamageDecal(Ped ped, int damageZone, float xOffset, float yOffset, float heading, float scale, float alpha, int variation, BOOL fadeIn, const char* decalName) { return _i(0x397C38AA7B4A5F83,ped, damageZone, xOffset, yOffset, heading, scale, alpha, variation, fadeIn, decalName); } // 0x397C38AA7B4A5F83 0x8A13A41F b323 + // Damage Packs: // // "SCR_TrevorTreeBang" // "HOSPITAL_0" @@ -12823,35 +12823,35 @@ namespace PED // // gist.github.com/alexguirre/f3f47f75ddcf617f416f3c8a55ae2227 // Full list of ped damage packs by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedDamagePacks.json - inline Void ApplyPedDamagePack(Ped ped, String damagePack, float damage, float mult) { return _i(0x46DF918788CB093F,ped, damagePack, damage, mult); } // 0x46DF918788CB093F 0x208D0CB8 b323 - // + inline Void ApplyPedDamagePack(Ped ped, const char* damagePack, float damage, float mult) { return _i(0x46DF918788CB093F,ped, damagePack, damage, mult); } // 0x46DF918788CB093F 0x208D0CB8 b323 + // inline Void ClearPedBloodDamage(Ped ped) { return _i(0x8FE22675A5A45817,ped); } // 0x8FE22675A5A45817 0xF7ADC960 b323 - // Somehow related to changing ped's clothes. + // Somehow related to changing ped's clothes. inline Void ClearPedBloodDamageByZone(Ped ped, int p1) { return _i(0x56E3B78C5408D9F4,ped, p1); } // 0x56E3B78C5408D9F4 0xF210BE69 b323 - // + // inline Void HidePedBloodDamageByZone(Ped ped, Any p1, BOOL p2) { return _i(0x62AB793144DE75DC,ped, p1, p2); } // 0x62AB793144DE75DC 0x0CB6C4ED b323 - // p1: from 0 to 5 in the b617d scripts. + // p1: from 0 to 5 in the b617d scripts. // p2: "blushing" and "ALL" found in the b617d scripts. - inline Void ClearPedDamageDecalByZone(Ped ped, int p1, String p2) { return _i(0x523C79AEEFCC4A2A,ped, p1, p2); } // 0x523C79AEEFCC4A2A 0x70AA5B7D b323 - // + inline Void ClearPedDamageDecalByZone(Ped ped, int p1, const char* p2) { return _i(0x523C79AEEFCC4A2A,ped, p1, p2); } // 0x523C79AEEFCC4A2A 0x70AA5B7D b323 + // inline int GetPedDecorationsState(Ped ped) { return _i(0x71EAB450D86954A1,ped); } // 0x71EAB450D86954A1 0x47187F7F b323 - // + // inline Void MarkPedDecorationsAsClonedFromLocalPlayer(Ped ped, BOOL p1) { return _i(0x2B694AFCF64E6994,ped, p1); } // 0x2B694AFCF64E6994 b323 - // It clears the wetness of the selected Ped/Player. Clothes have to be wet to notice the difference. + // It clears the wetness of the selected Ped/Player. Clothes have to be wet to notice the difference. inline Void ClearPedWetness(Ped ped) { return _i(0x9C720776DAA43E7E,ped); } // 0x9C720776DAA43E7E 0x629F15BD b323 - // It adds the wetness level to the player clothing/outfit. As if player just got out from water surface. + // It adds the wetness level to the player clothing/outfit. As if player just got out from water surface. // // inline Void SetPedWetnessHeight(Ped ped, float height) { return _i(0x44CB6447D2571AA0,ped, height); } // 0x44CB6447D2571AA0 0x7B33289A b323 - // combined with PED::SetPedWetnessHeight(), this native makes the ped drenched in water up to the height specified in the other function + // combined with PED::SetPedWetnessHeight(), this native makes the ped drenched in water up to the height specified in the other function inline Void SetPedWetnessEnabledThisFrame(Ped ped) { return _i(0xB5485E4907B53019,ped); } // 0xB5485E4907B53019 0xBDE749F7 b323 - // + // inline Void SetPedWetness(Ped ped, float wetLevel) { return _i(0xAC0BB4D87777CAE2,ped, wetLevel); } // 0xAC0BB4D87777CAE2 b2802 - // + // inline Void ClearPedEnvDirt(Ped ped) { return _i(0x6585D955A68452A5,ped); } // 0x6585D955A68452A5 0xA993915F b323 - // Sweat is set to 100.0 or 0.0 in the decompiled scripts. + // Sweat is set to 100.0 or 0.0 in the decompiled scripts. inline Void SetPedSweat(Ped ped, float sweat) { return _i(0x27B0405F59637D1F,ped, sweat); } // 0x27B0405F59637D1F 0x76A1DB9F b323 - // Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals. + // Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals. // // collection - PedDecorationCollection filename hash // overlay - Item name hash @@ -12879,9 +12879,9 @@ namespace PED // // Full list of ped overlays / decorations by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedOverlayCollections.json inline Void AddPedDecorationFromHashes(Ped ped, Hash collection, Hash overlay) { return _i(0x5F5D1665E352A839,ped, collection, overlay); } // 0x5F5D1665E352A839 0x70559AC7 b323 - // Full list of ped overlays / decorations by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedOverlayCollections.json + // Full list of ped overlays / decorations by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedOverlayCollections.json inline Void AddPedDecorationFromHashesInCorona(Ped ped, Hash collection, Hash overlay) { return _i(0x5619BFA07CFD7833,ped, collection, overlay); } // 0x5619BFA07CFD7833 0x8CD3E487 b323 - // Returns the zoneID for the overlay if it is a member of collection. + // Returns the zoneID for the overlay if it is a member of collection. // enum ePedDecorationZone // { // ZONE_TORSO = 0, @@ -12896,13 +12896,13 @@ namespace PED // // Full list of ped overlays / decorations by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedOverlayCollections.json inline int GetPedDecorationZoneFromHashes(Hash collection, Hash overlay) { return _i(0x9FD452BFBE7A7A8B,collection, overlay); } // 0x9FD452BFBE7A7A8B 0x3543019E b323 - // + // inline Void ClearPedDecorations(Ped ped) { return _i(0xE5173C163976E38,ped); } // 0xE5173C163976E38 0xD4496BF3 b323 - // + // inline Void ClearPedDecorationsLeaveScars(Ped ped) { return _i(0xE3B27E70CEAB9F0C,ped); } // 0xE3B27E70CEAB9F0C 0xEFD58EB9 b323 - // Despite this function's name, it simply returns whether the specified handle is a Ped. + // Despite this function's name, it simply returns whether the specified handle is a Ped. inline BOOL WasPedSkeletonUpdated(Ped ped) { return _i(0x11B499C1E0FF8559,ped); } // 0x11B499C1E0FF8559 0xF7E2FBAD b323 - // Gets the position of the specified bone of the specified ped. + // 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. @@ -12910,14 +12910,14 @@ namespace PED // 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. inline Vector3 GetPedBoneCoords(Ped ped, int boneId, float offsetX, float offsetY, float offsetZ) { return _i(0x17C07FC640E86B4E,ped, boneId, offsetX, offsetY, offsetZ); } // 0x17C07FC640E86B4E 0x4579CAB1 b323 - // Creates a new NaturalMotion message. + // Creates a new NaturalMotion message. // // startImmediately: If set to true, the character will perform the message the moment it receives it by GivePedNmMessage. 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 GivePedNmMessage. inline Void CreateNmMessage(BOOL startImmediately, int messageId) { return _i(0x418EF2A1BCE56685,startImmediately, messageId); } // 0x418EF2A1BCE56685 0x1CFBFD4B b323 - // Sends the message that was created by a call to CreateNmMessage to the specified Ped. + // Sends the message that was created by a call to CreateNmMessage 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. @@ -12937,47 +12937,47 @@ namespace PED // CreateNmMessage(true, 372); // armsWindmill - Swing arms around. // GivePedNmMessage(ped); // Dispatch message to Ped. inline Void GivePedNmMessage(Ped ped) { return _i(0xB158DFCCC56E5C5B,ped); } // 0xB158DFCCC56E5C5B 0x737C3689 b323 - // + // inline int AddScenarioBlockingArea(float x1, float y1, float z1, float x2, float y2, float z2, BOOL p6, BOOL p7, BOOL p8, BOOL p9, Any p10) { return _i(0x1B5C85C612E5256E,x1, y1, z1, x2, y2, z2, p6, p7, p8, p9, p10); } // 0x1B5C85C612E5256E 0xA38C0234 b323 - // + // inline Void RemoveScenarioBlockingAreas() { return _i(0xD37401D78A929A49); } // 0xD37401D78A929A49 0x4DDF845F b323 - // + // inline Void RemoveScenarioBlockingArea(Any p0, BOOL p1) { return _i(0x31D16B74C6E29D66,p0, p1); } // 0x31D16B74C6E29D66 0x4483EF06 b323 - // + // inline Void SetScenarioPedsSpawnInSphereArea(float x, float y, float z, float range, int p4) { return _i(0x28157D43CF600981,x, y, z, range, p4); } // 0x28157D43CF600981 0x80EAD297 b323 - // + // inline BOOL DoesScenarioBlockingAreaExists(float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0x8A24B067D175A7BD,x1, y1, z1, x2, y2, z2); } // 0x8A24B067D175A7BD b678 - // Full list of ped scenarios by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json - inline BOOL IsPedUsingScenario(Ped ped, String scenario) { return _i(0x1BF094736DD62C2E,ped, scenario); } // 0x1BF094736DD62C2E 0x0F65B0D4 b323 - // + // Full list of ped scenarios by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json + inline BOOL IsPedUsingScenario(Ped ped, const char* scenario) { return _i(0x1BF094736DD62C2E,ped, scenario); } // 0x1BF094736DD62C2E 0x0F65B0D4 b323 + // inline BOOL IsPedUsingAnyScenario(Ped ped) { return _i(0x57AB4A3080F85143,ped); } // 0x57AB4A3080F85143 0x195EF5B7 b323 - // + // inline BOOL SetPedPanicExitScenario(Any p0, Any p1, Any p2, Any p3) { return _i(0xFE07FF6495D52E2A,p0, p1, p2, p3); } // 0xFE07FF6495D52E2A 0x59DE73AC b323 - // + // inline Void ToggleScenarioPedCowerInPlace(Ped ped, BOOL toggle) { return _i(0x9A77DFD295E29B09,ped, toggle); } // 0x9A77DFD295E29B09 0xC08FE5F6 b323 - // + // inline BOOL TriggerPedScenarioPanicexittoflee(Any p0, Any p1, Any p2, Any p3) { return _i(0x25361A96E0F7E419,p0, p1, p2, p3); } // 0x25361A96E0F7E419 0x58C0F6CF b323 - // + // inline BOOL SetPedShouldPlayDirectedNormalScenarioExit(Any p0, Any p1, Any p2, Any p3) { return _i(0xEC6935EBE0847B90,p0, p1, p2, p3); } // 0xEC6935EBE0847B90 b323 - // + // inline Void SetPedShouldPlayNormalScenarioExit(Ped ped) { return _i(0xA3A9299C4F2ADB98,ped); } // 0xA3A9299C4F2ADB98 0x033F43FA b323 - // + // inline Void SetPedShouldPlayImmediateScenarioExit(Ped ped) { return _i(0xF1C03A5352243A30,ped); } // 0xF1C03A5352243A30 0x4C684C81 b323 - // + // inline BOOL SetPedShouldPlayFleeScenarioExit(Ped ped, Any p1, Any p2, Any p3) { return _i(0xEEED8FAFEC331A70,ped, p1, p2, p3); } // 0xEEED8FAFEC331A70 0x7B4C3E6F b323 - // + // inline Void SetPedShouldIgnoreScenarioExitCollisionChecks(Ped ped, BOOL p1) { return _i(0x425AECF167663F48,ped, p1); } // 0x425AECF167663F48 0x5BC276AE b323 - // + // inline Void SetPedShouldIgnoreScenarioNavChecks(Any p0, BOOL p1) { return _i(0x5B6010B3CBC29095,p0, p1); } // 0x5B6010B3CBC29095 b323 - // + // inline Void SetPedShouldProbeForScenarioExitsInOneFrame(Any p0, BOOL p1) { return _i(0xCEDA60A74219D064,p0, p1); } // 0xCEDA60A74219D064 b323 - // + // inline BOOL IsPedGesturing(Any p0) { return _i(0xC30BDAEE47256C13,p0); } // 0xC30BDAEE47256C13 b1868 - // + // inline Void ResetFacialIdleAnim(Ped ped) { return _i(0x7FDE5A7897E426,ped); } // 0x7FDE5A7897E426 b2802 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline Void PlayFacialAnim(Ped ped, String animName, String animDict) { return _i(0xE1E65CA8AC9C00ED,ped, animName, animDict); } // 0xE1E65CA8AC9C00ED 0x1F6CCDDE b323 - // Clipsets: + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline Void PlayFacialAnim(Ped ped, const char* animName, const char* animDict) { return _i(0xE1E65CA8AC9C00ED,ped, animName, animDict); } // 0xE1E65CA8AC9C00ED 0x1F6CCDDE b323 + // Clipsets: // facials@gen_female@base // facials@gen_male@base // facials@p_m_zero@base @@ -12988,54 +12988,54 @@ namespace PED // mood_happy_1 // mood_talking_1 // - inline Void SetFacialClipset(Ped ped, String animDict) { return _i(0x5687C7F05B39E401,ped, animDict); } // 0x5687C7F05B39E401 b1493 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline Void SetFacialIdleAnimOverride(Ped ped, String animName, String animDict) { return _i(0xFFC24B988B938B38,ped, animName, animDict); } // 0xFFC24B988B938B38 0x9BA19C13 b323 - // + inline Void SetFacialClipset(Ped ped, const char* animDict) { return _i(0x5687C7F05B39E401,ped, animDict); } // 0x5687C7F05B39E401 b1493 + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline Void SetFacialIdleAnimOverride(Ped ped, const char* animName, const char* animDict) { return _i(0xFFC24B988B938B38,ped, animName, animDict); } // 0xFFC24B988B938B38 0x9BA19C13 b323 + // inline Void ClearFacialIdleAnimOverride(Ped ped) { return _i(0x726256CC1EEB182F,ped); } // 0x726256CC1EEB182F 0x5244F4E2 b323 - // + // inline Void SetPedCanPlayGestureAnims(Ped ped, BOOL toggle) { return _i(0xBAF20C5432058024,ped, toggle); } // 0xBAF20C5432058024 0xE131E3B3 b323 - // p2 usually 0 + // p2 usually 0 inline Void SetPedCanPlayVisemeAnims(Ped ped, BOOL toggle, BOOL p2) { return _i(0xF833DDBA3B104D43,ped, toggle, p2); } // 0xF833DDBA3B104D43 0xA2FDAF27 b323 - // + // inline Void SetPedIsIgnoredByAutoOpenDoors(Ped ped, BOOL p1) { return _i(0x33A60D8BDD6E508C,ped, p1); } // 0x33A60D8BDD6E508C 0xADB2511A b323 - // + // inline Void SetPedCanPlayAmbientAnims(Ped ped, BOOL toggle) { return _i(0x6373D1349925A70E,ped, toggle); } // 0x6373D1349925A70E 0xF8053081 b323 - // + // inline Void SetPedCanPlayAmbientBaseAnims(Ped ped, BOOL toggle) { return _i(0xEB0585D15254740,ped, toggle); } // 0xEB0585D15254740 0x5720A5DD b323 - // + // inline Void TriggerIdleAnimationOnPed(Ped ped) { return _i(0xC2EE020F5FB4DB53,ped); } // 0xC2EE020F5FB4DB53 0xB7CD0A49 b323 - // + // inline Void SetPedCanArmIk(Ped ped, BOOL toggle) { return _i(0x6C3B4D6D13B4C841,ped, toggle); } // 0x6C3B4D6D13B4C841 0x343B4DE0 b323 - // + // inline Void SetPedCanHeadIk(Ped ped, BOOL toggle) { return _i(0xC11C18092C5530DC,ped, toggle); } // 0xC11C18092C5530DC 0xD3B04476 b323 - // + // inline Void SetPedCanLegIk(Ped ped, BOOL toggle) { return _i(0x73518ECE2485412B,ped, toggle); } // 0x73518ECE2485412B 0x9955BC6F b323 - // + // inline Void SetPedCanTorsoIk(Ped ped, BOOL toggle) { return _i(0xF2B7106D37947CE0,ped, toggle); } // 0xF2B7106D37947CE0 0x8E5D4EAB b323 - // + // inline Void SetPedCanTorsoReactIk(Ped ped, BOOL p1) { return _i(0xF5846EDB26A98A24,ped, p1); } // 0xF5846EDB26A98A24 0x7B0040A8 b323 - // + // inline Void SetPedCanTorsoVehicleIk(Ped ped, BOOL p1) { return _i(0x6647C5F6F5792496,ped, p1); } // 0x6647C5F6F5792496 0x0FDA62DE b323 - // + // inline Void SetPedCanUseAutoConversationLookat(Ped ped, BOOL toggle) { return _i(0xEC4686EC06434678,ped, toggle); } // 0xEC4686EC06434678 0x584C5178 b323 - // + // inline BOOL IsPedHeadtrackingPed(Ped ped1, Ped ped2) { return _i(0x5CD3CB88A7F8850D,ped1, ped2); } // 0x5CD3CB88A7F8850D 0x2A5DF721 b323 - // + // inline BOOL IsPedHeadtrackingEntity(Ped ped, Entity entity) { return _i(0x813A0A7C9D2E831F,ped, entity); } // 0x813A0A7C9D2E831F 0x233C9ACF b323 - // This is only called once in the scripts. + // 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::SetPedPrimaryLookat(getElem(3, &l_34, 4), PLAYER::PlayerPedId()); inline Void SetPedPrimaryLookat(Ped ped, Ped lookAt) { return _i(0xCD17B554996A8D9E,ped, lookAt); } // 0xCD17B554996A8D9E 0x6DEF6F1C b323 - // + // inline Void SetPedClothPinFrames(Any p0, Any p1) { return _i(0x78C4E9961DB3EB5B,p0, p1); } // 0x78C4E9961DB3EB5B b323 - // + // inline Void SetPedClothPackageIndex(Any p0, Any p1) { return _i(0x82A3D6D9CC2CB8E3,p0, p1); } // 0x82A3D6D9CC2CB8E3 b323 - // + // inline Void SetPedClothProne(Any p0, BOOL p1) { return _i(0xA660FAF550EB37E5,p0, p1); } // 0xA660FAF550EB37E5 b323 - // enum ePedConfigFlags + // enum ePedConfigFlags // { // _CPED_CONFIG_FLAG_0xC63DE95E = 1, // CPED_CONFIG_FLAG_NoCriticalHits = 2, @@ -13497,41 +13497,41 @@ namespace PED // CPED_CONFIG_FLAG_DontChangeTargetFromMelee = 458, // }; inline Void SetPedConfigFlag(Ped ped, int flagId, BOOL value) { return _i(0x1913FE4CBF41C463,ped, flagId, value); } // 0x1913FE4CBF41C463 0x9CFBE10D b323 - // PED::SetPedResetFlag(PLAYER::PlayerPedId(), 240, 1); + // PED::SetPedResetFlag(PLAYER::PlayerPedId(), 240, 1); // Known values: // PRF_PreventGoingIntoStillInVehicleState = 236 *(fanatic2.c)* inline Void SetPedResetFlag(Ped ped, int flagId, BOOL doReset) { return _i(0xC1E8A365BF3B29F2,ped, flagId, doReset); } // 0xC1E8A365BF3B29F2 0xCFF6FF66 b323 - // See SetPedConfigFlag + // See SetPedConfigFlag inline BOOL GetPedConfigFlag(Ped ped, int flagId, BOOL p2) { return _i(0x7EE53118C892B513,ped, flagId, p2); } // 0x7EE53118C892B513 0xABE98267 b323 - // + // inline BOOL GetPedResetFlag(Ped ped, int flagId) { return _i(0xAF9E59B1B1FBF2A0,ped, flagId); } // 0xAF9E59B1B1FBF2A0 0x2FC10D11 b323 - // + // inline Void SetPedGroupMemberPassengerIndex(Ped ped, int index) { return _i(0xBDDB8D9EC6BCF3C,ped, index); } // 0xBDDB8D9EC6BCF3C 0x2AB3670B b323 - // + // inline Void SetPedCanEvasiveDive(Ped ped, BOOL toggle) { return _i(0x6B7A646C242A7059,ped, toggle); } // 0x6B7A646C242A7059 0x542FEB4D b323 - // Presumably returns the Entity that the Ped is currently diving out of the way of. + // Presumably returns the Entity that the Ped is currently diving out of the way of. // // var num3; // if (PED::IsPedEvasiveDiving(A_0, &num3) != 0) // if (ENTITY::IsEntityAVehicle(num3) != 0) inline BOOL IsPedEvasiveDiving(Ped ped, Entity* evadingEntity) { return _i(0x414641C26E105898,ped, evadingEntity); } // 0x414641C26E105898 0xD82829DC b323 - // + // inline Void SetPedShootsAtCoord(Ped ped, float x, float y, float z, BOOL toggle) { return _i(0x96A05E4FB321B1BA,ped, x, y, z, toggle); } // 0x96A05E4FB321B1BA 0xFD64EAE5 b323 - // Full list of peds by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/peds.json + // Full list of peds by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/peds.json inline Void SetPedModelIsSuppressed(Hash modelHash, BOOL toggle) { return _i(0xE163A4BCE4DE6F11,modelHash, toggle); } // 0xE163A4BCE4DE6F11 0x7820CA43 b323 - // + // inline Void StopAnyPedModelBeingSuppressed() { return _i(0xB47BD05FA66B40CF); } // 0xB47BD05FA66B40CF 0x5AD7DC55 b323 - // + // inline Void SetPedCanBeTargetedWhenInjured(Ped ped, BOOL toggle) { return _i(0x638C03B0F9878F57,ped, toggle); } // 0x638C03B0F9878F57 0x6FD9A7CD b323 - // + // inline Void SetPedGeneratesDeadBodyEvents(Ped ped, BOOL toggle) { return _i(0x7FB17BA2E7DECA5B,ped, toggle); } // 0x7FB17BA2E7DECA5B 0xE9B97A2B b323 - // + // inline Void BlockPedFromGeneratingDeadBodyEventsWhenDead(Ped ped, BOOL toggle) { return _i(0xE43A13C9E4CCCBCF,ped, toggle); } // 0xE43A13C9E4CCCBCF 0xFF1F6AEB b323 - // + // inline Void SetPedWillOnlyAttackWantedPlayer(Any p0, Any p1) { return _i(0x3E9679C1DFCF422C,p0, p1); } // 0x3E9679C1DFCF422C b877 - // + // inline Void SetPedCanRagdollFromPlayerImpact(Ped ped, BOOL toggle) { return _i(0xDF993EE5E90ABA25,ped, toggle); } // 0xDF993EE5E90ABA25 0xE9BD733A b323 - // PoliceMotorcycleHelmet 1024 + // PoliceMotorcycleHelmet 1024 // RegularMotorcycleHelmet 4096 // FiremanHelmet 16384 // PilotHeadset 32768 @@ -13539,58 +13539,58 @@ namespace PED // -- // p2 is generally 4096 or 16384 in the scripts. p1 varies between 1 and 0. inline Void GivePedHelmet(Ped ped, BOOL cannotRemove, int helmetFlag, int textureIndex) { return _i(0x54C7C4A94367717E,ped, cannotRemove, helmetFlag, textureIndex); } // 0x54C7C4A94367717E 0x1862A461 b323 - // + // inline Void RemovePedHelmet(Ped ped, BOOL instantly) { return _i(0xA7B2458D0AD6DED8,ped, instantly); } // 0xA7B2458D0AD6DED8 0x2086B1F0 b323 - // + // inline BOOL IsPedTakingOffHelmet(Ped ped) { return _i(0x14590DDBEDB1EC85,ped); } // 0x14590DDBEDB1EC85 0xA1008E0E b323 - // + // inline Void SetPedHelmet(Ped ped, BOOL canWearHelmet) { return _i(0x560A43136EB58105,ped, canWearHelmet); } // 0x560A43136EB58105 0xED366E53 b323 - // + // inline Void SetPedHelmetFlag(Ped ped, int helmetFlag) { return _i(0xC0E78D5C2CE3EB25,ped, helmetFlag); } // 0xC0E78D5C2CE3EB25 0x12677780 b323 - // List of component/props ID + // List of component/props ID // gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html inline Void SetPedHelmetPropIndex(Ped ped, int propIndex, BOOL p2) { return _i(0x26D83693ED99291C,ped, propIndex, p2); } // 0x26D83693ED99291C 0xA316D13F b323 - // + // inline Void SetPedHelmetVisorPropIndices(Ped ped, BOOL p1, int p2, int p3) { return _i(0x3F7325574E41B44D,ped, p1, p2, p3); } // 0x3F7325574E41B44D b791 - // + // inline BOOL IsPedHelmetVisorUp(Ped ped) { return _i(0xB9496CE47546DB2C,ped); } // 0xB9496CE47546DB2C b791 - // + // inline Void SetPedHelmetTextureIndex(Ped ped, int textureIndex) { return _i(0xF1550C4BD22582E2,ped, textureIndex); } // 0xF1550C4BD22582E2 0x5F6C3328 b323 - // Returns true if the ped passed through the parenthesis is wearing a helmet. + // Returns true if the ped passed through the parenthesis is wearing a helmet. inline BOOL IsPedWearingHelmet(Ped ped) { return _i(0xF33BDFE19B309B19,ped); } // 0xF33BDFE19B309B19 0x0D680D49 b323 - // + // inline Void ClearPedStoredHatProp(Ped ped) { return _i(0x687C0B594907D2E8,ped); } // 0x687C0B594907D2E8 0x24A1284E b323 - // + // inline int GetPedHelmetStoredHatPropIndex(Ped ped) { return _i(0x451294E859ECC018,ped); } // 0x451294E859ECC018 0x8A3A3116 b323 - // + // inline int GetPedHelmetStoredHatTexIndex(Ped ped) { return _i(0x9D728C1E12BF5518,ped); } // 0x9D728C1E12BF5518 0x74EB662D b323 - // + // inline BOOL IsCurrentHeadPropAHelmet(Any p0) { return _i(0xF2385935BFFD4D92,p0); } // 0xF2385935BFFD4D92 0xFFF149FE b323 - // + // inline Void SetPedToLoadCover(Ped ped, BOOL toggle) { return _i(0x332B562EEDA62399,ped, toggle); } // 0x332B562EEDA62399 0xCF94BA97 b323 - // It simply makes the said ped to cower behind cover object(wall, desk, car) + // 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. inline Void SetPedCanCowerInCover(Ped ped, BOOL toggle) { return _i(0xCB7553CDCEF4A735,ped, toggle); } // 0xCB7553CDCEF4A735 0x5194658B b323 - // + // inline Void SetPedCanPeekInCover(Ped ped, BOOL toggle) { return _i(0xC514825C507E3736,ped, toggle); } // 0xC514825C507E3736 0xC1DAE216 b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void SetPedPlaysHeadOnHornAnimWhenDiesInVehicle(Ped ped, BOOL toggle) { return _i(0x94D94BF1A75AED3D,ped, toggle); } // 0x94D94BF1A75AED3D 0x7C563CD2 b323 - // "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 + // "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 inline Void SetPedLegIkMode(Ped ped, int mode) { return _i(0xC396F5B86FF9FEBD,ped, mode); } // 0xC396F5B86FF9FEBD 0xFDDB042E b323 - // + // inline Void SetPedMotionBlur(Ped ped, BOOL toggle) { return _i(0xA986918B102B448,ped, toggle); } // 0xA986918B102B448 0xA211A128 b323 - // + // inline Void SetPedCanSwitchWeapon(Ped ped, BOOL toggle) { return _i(0xED7F7EFE9FABF340,ped, toggle); } // 0xED7F7EFE9FABF340 0xB5F8BA28 b323 - // + // inline Void SetPedDiesInstantlyInWater(Ped ped, BOOL toggle) { return _i(0xEEB64139BA29A7CF,ped, toggle); } // 0xEEB64139BA29A7CF 0xFE2554FC b323 - // Only appears in lamar1 script. + // Only appears in lamar1 script. inline Void SetLadderClimbInputState(Ped ped, int p1) { return _i(0x1A330D297AAC6BC1,ped, p1); } // 0x1A330D297AAC6BC1 0x77BB7CB8 b323 - // + // inline Void StopPedWeaponFiringWhenDropped(Ped ped) { return _i(0xC158D28142A34608,ped); } // 0xC158D28142A34608 0x4AC3421E b323 - // + // inline Void SetScriptedAnimSeatOffset(Ped ped, float p1) { return _i(0x5917BBA32D06C230,ped, p1); } // 0x5917BBA32D06C230 0x7CEFFA45 b323 - // enum eCombatMovement // 0x4F456B61 + // enum eCombatMovement // 0x4F456B61 // { // CM_Stationary, // CM_Defensive, @@ -13598,9 +13598,9 @@ namespace PED // CM_WillRetreat // }; inline Void SetPedCombatMovement(Ped ped, int combatMovement) { return _i(0x4D9CA1009AFBD057,ped, combatMovement); } // 0x4D9CA1009AFBD057 0x12E62F9E b323 - // See SetPedCombatMovement + // See SetPedCombatMovement inline int GetPedCombatMovement(Ped ped) { return _i(0xDEA92412FCAEB3F5,ped); } // 0xDEA92412FCAEB3F5 0xF3E7730E b323 - // enum eCombatAbility // 0xE793438C + // enum eCombatAbility // 0xE793438C // { // CA_Poor, // CA_Average, @@ -13608,7 +13608,7 @@ namespace PED // CA_NumTypes // }; inline Void SetPedCombatAbility(Ped ped, int abilityLevel) { return _i(0xC7622C0D36B2FDA8,ped, abilityLevel); } // 0xC7622C0D36B2FDA8 0x6C23D329 b323 - // enum eCombatRange // 0xB69160F5 + // enum eCombatRange // 0xB69160F5 // { // CR_Near, // CR_Medium, @@ -13617,9 +13617,9 @@ namespace PED // CR_NumRanges // }; inline Void SetPedCombatRange(Ped ped, int combatRange) { return _i(0x3C606747B23E497B,ped, combatRange); } // 0x3C606747B23E497B 0x8818A959 b323 - // See SetPedCombatRange + // See SetPedCombatRange inline int GetPedCombatRange(Ped ped) { return _i(0xF9D9F7F2DB8E2FA0,ped); } // 0xF9D9F7F2DB8E2FA0 0x9B9B7163 b323 - // enum eCombatAttributes // 0x0E8E7201 + // enum eCombatAttributes // 0x0E8E7201 // { // BF_CanUseCover = 0, // BF_CanUseVehicles = 1, @@ -13715,82 +13715,82 @@ namespace PED // BF_0x053AEAD9 = 91 // }; inline Void SetPedCombatAttributes(Ped ped, int attributeId, BOOL enabled) { return _i(0x9F7794730795E019,ped, attributeId, enabled); } // 0x9F7794730795E019 0x81D64248 b323 - // enum eTargetLossResponseType + // enum eTargetLossResponseType // { // TLR_ExitTask, // TLR_NeverLoseTarget, // TLR_SearchForTarget // }; inline Void SetPedTargetLossResponse(Ped ped, int responseType) { return _i(0x703B9079823DA4A,ped, responseType); } // 0x703B9079823DA4A 0xCFA613FF b323 - // + // inline BOOL IsPedPerformingMeleeAction(Ped ped) { return _i(0xDCCA191DF9980FD7,ped); } // 0xDCCA191DF9980FD7 0x139C0875 b323 - // + // inline BOOL IsPedPerformingStealthKill(Ped ped) { return _i(0xFD4CCDBCC59941B7,ped); } // 0xFD4CCDBCC59941B7 0x9ADD7B21 b323 - // + // inline BOOL IsPedPerformingACounterAttack(Ped ped) { return _i(0xEBD0EDBA5BE957CF,ped); } // 0xEBD0EDBA5BE957CF 0x9BE7C860 b323 - // + // inline BOOL IsPedBeingStealthKilled(Ped ped) { return _i(0x863B23EFDE9C5DF2,ped); } // 0x863B23EFDE9C5DF2 0xD044C8AF b323 - // + // inline Ped GetMeleeTargetForPed(Ped ped) { return _i(0x18A3E9EE1297FD39,ped); } // 0x18A3E9EE1297FD39 0xAFEC26A4 b323 - // + // inline BOOL WasPedKilledByStealth(Ped ped) { return _i(0xF9800AA1A771B000,ped); } // 0xF9800AA1A771B000 0x2EA4B54E b323 - // + // inline BOOL WasPedKilledByTakedown(Ped ped) { return _i(0x7F08E26039C7347C,ped); } // 0x7F08E26039C7347C 0xBDD3CE69 b323 - // + // inline BOOL WasPedKnockedOut(Ped ped) { return _i(0x61767F73EACEED21,ped); } // 0x61767F73EACEED21 0x3993092B b323 - // bit 1 (0x2) = use vehicle + // bit 1 (0x2) = use vehicle // bit 15 (0x8000) = force cower inline Void SetPedFleeAttributes(Ped ped, int attributeFlags, BOOL enable) { return _i(0x70A2D1137C8ED7C9,ped, attributeFlags, enable); } // 0x70A2D1137C8ED7C9 0xA717A875 b323 - // p1: Only "CODE_HUMAN_STanD_COWER" found in the b617d scripts. - inline Void SetPedCowerHash(Ped ped, String p1) { return _i(0xA549131166868ED3,ped, p1); } // 0xA549131166868ED3 0x16F30DF4 b323 - // + // p1: Only "CODE_HUMAN_STanD_COWER" found in the b617d scripts. + inline Void SetPedCowerHash(Ped ped, const char* p1) { return _i(0xA549131166868ED3,ped, p1); } // 0xA549131166868ED3 0x16F30DF4 b323 + // inline Void SetPedSteersAroundDeadBodies(Ped ped, BOOL toggle) { return _i(0x2016C603D6B8987C,ped, toggle); } // 0x2016C603D6B8987C 0xA6F2C057 b323 - // + // inline Void SetPedSteersAroundPeds(Ped ped, BOOL toggle) { return _i(0x46F2193B3AD1D891,ped, toggle); } // 0x46F2193B3AD1D891 0x797CAE4F b323 - // + // inline Void SetPedSteersAroundObjects(Ped ped, BOOL toggle) { return _i(0x1509C089ADC208BF,ped, toggle); } // 0x1509C089ADC208BF 0x3BD9B0A6 b323 - // + // inline Void SetPedSteersAroundVehicles(Ped ped, BOOL toggle) { return _i(0xEB6FB9D48DDE23EC,ped, toggle); } // 0xEB6FB9D48DDE23EC 0x533C0651 b323 - // + // inline Void SetPedIsAvoidedByOthers(Any p0, BOOL p1) { return _i(0xA9B61A329BFDCBEA,p0, p1); } // 0xA9B61A329BFDCBEA 0x2276DE0D b323 - // + // inline Void SetPedIncreasedAvoidanceRadius(Ped ped) { return _i(0x570389D1C3DE3C6B,ped); } // 0x570389D1C3DE3C6B 0x59C52BE6 b323 - // + // inline Void SetPedBlocksPathingWhenDead(Ped ped, BOOL toggle) { return _i(0x576594E8D64375E2,ped, toggle); } // 0x576594E8D64375E2 0x1D87DDC1 b323 - // + // inline Void SetPedNoTimeDelayBeforeShot(Any p0) { return _i(0xA52D5247A4227E14,p0); } // 0xA52D5247A4227E14 0xB52BA5F5 b323 - // + // inline BOOL IsAnyPedNearPoint(float x, float y, float z, float radius) { return _i(0x83961498679DC9F,x, y, z, radius); } // 0x83961498679DC9F 0xFBD9B050 b323 - // + // inline Void ForcePedAiAndAnimationUpdate(Ped ped, BOOL p1, BOOL p2) { return _i(0x2208438012482A1A,ped, p1, p2); } // 0x2208438012482A1A 0x187B9070 b323 - // + // inline BOOL IsPedHeadingTowardsPosition(Ped ped, float x, float y, float z, float p4) { return _i(0xFCF37A457CB96DC0,ped, x, y, z, p4); } // 0xFCF37A457CB96DC0 0x45037B9B b323 - // + // inline Void RequestPedVisibilityTracking(Ped ped) { return _i(0x7D7A2E43E74E2EB8,ped); } // 0x7D7A2E43E74E2EB8 0x840D24D3 b323 - // + // inline Void RequestPedVehicleVisibilityTracking(Ped ped, BOOL p1) { return _i(0x2BC338A7B21F4608,ped, p1); } // 0x2BC338A7B21F4608 0x31C31DAA b323 - // + // inline Void RequestPedRestrictedVehicleVisibilityTracking(Ped ped, BOOL p1) { return _i(0xCD018C591F94CB43,ped, p1); } // 0xCD018C591F94CB43 b323 - // + // inline Void RequestPedUseSmallBboxVisibilityTracking(Ped ped, BOOL p1) { return _i(0x75BA1CB3B7D40CAF,ped, p1); } // 0x75BA1CB3B7D40CAF 0x9194DB71 b323 - // returns whether or not a ped is visible within your FOV, not this check auto's to false after a certain distance. + // 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. inline BOOL IsTrackedPedVisible(Ped ped) { return _i(0x91C8E617F64188AC,ped); } // 0x91C8E617F64188AC 0x33248CC1 b323 - // + // inline int GetTrackedPedPixelcount(Ped ped) { return _i(0x511F1A683387C7E2,ped); } // 0x511F1A683387C7E2 0x5B1B70AA b323 - // + // inline BOOL IsPedTracked(Ped ped) { return _i(0x4C5E1F087CD10BB7,ped); } // 0x4C5E1F087CD10BB7 0x7EB613D9 b323 - // + // inline BOOL HasPedReceivedEvent(Ped ped, int eventId) { return _i(0x8507BCB710FA6DC0,ped, eventId); } // 0x8507BCB710FA6DC0 0xECD73DB0 b323 - // + // inline BOOL CanPedSeeHatedPed(Ped ped1, Ped ped2) { return _i(0x6CD5A433374D4CFB,ped1, ped2); } // 0x6CD5A433374D4CFB 0x74A0F291 b323 - // + // inline BOOL CanPedShuffleToOrFromTurretSeat(Ped ped, int* p1) { return _i(0x9C6A6C19B6C0C496,ped, p1); } // 0x9C6A6C19B6C0C496 b323 - // + // inline BOOL CanPedShuffleToOrFromExtraSeat(Ped ped, int* p1) { return _i(0x2DFC81C9B9608549,ped, p1); } // 0x2DFC81C9B9608549 b944 - // no bone= -1 + // no bone= -1 // // boneIds: // SKEL_ROOT = 0x0, @@ -13892,18 +13892,18 @@ namespace PED // RB_Neck_1 = 0x8b93, // IK_Root = 0xdd1c inline int GetPedBoneIndex(Ped ped, int boneId) { return _i(0x3F428D08BE5AAE31,ped, boneId); } // 0x3F428D08BE5AAE31 0x259C6BA2 b323 - // + // inline int GetPedRagdollBoneIndex(Ped ped, int bone) { return _i(0x2057EF813397A772,ped, bone); } // 0x2057EF813397A772 0x849F0716 b323 - // Values look to be between 0.0 and 1.0 + // 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. inline Void SetPedEnveffScale(Ped ped, float value) { return _i(0xBF29516833893561,ped, value); } // 0xBF29516833893561 0xFC1CFC27 b323 - // + // inline float GetPedEnveffScale(Ped ped) { return _i(0x9C14D30395A51A3C,ped); } // 0x9C14D30395A51A3C 0xA3421E39 b323 - // + // inline Void SetEnablePedEnveffScale(Ped ped, BOOL toggle) { return _i(0xD2C5AA0C0E8D0F1E,ped, toggle); } // 0xD2C5AA0C0E8D0F1E 0xC70F4A84 b323 - // In agency_heist3b.c4, its like this 90% of the time: + // In agency_heist3b.c4, its like this 90% of the time: // // PED::SetPedEnveffCpvAdd(ped, 0.099); // PED::SetPedEnveffScale(ped, 1.0); @@ -13917,60 +13917,60 @@ namespace PED // PED::SetPedEnveffColorModulator(ped, 74, 69, 60); // PED::SetEnablePedEnveffScale(ped, 1); inline Void SetPedEnveffCpvAdd(Ped ped, float p1) { return _i(0x110F526AB784111F,ped, p1); } // 0x110F526AB784111F 0x3B882533 b323 - // Something related to the environmental effects natives. + // 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 SetPedEnveffScale is set to 0.65 (instead of the usual 1.0), they use {74, 69, 60} inline Void SetPedEnveffColorModulator(Ped ped, int p1, int p2, int p3) { return _i(0xD69411AA0CEBF9E9,ped, p1, p2, p3); } // 0xD69411AA0CEBF9E9 0x87A0C174 b323 - // intensity: 0.0f - 1.0f + // 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. inline Void SetPedEmissiveScale(Ped ped, float intensity) { return _i(0x4E90D746056E273D,ped, intensity); } // 0x4E90D746056E273D b944 - // Use 0x4E90D746056E273D to set the illuminated clothing glow intensity for a specific ped. + // 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. inline float GetPedEmissiveScale(Ped ped) { return _i(0x1461B28A06717D68,ped); } // 0x1461B28A06717D68 b944 - // + // inline BOOL IsPedShaderReady(Ped ped) { return _i(0x81AA517FBBA05D39,ped); } // 0x81AA517FBBA05D39 b944 - // + // inline Void SetPedEnableCrewEmblem(Ped ped, BOOL toggle) { return _i(0xE906EC930F5FE7C8,ped, toggle); } // 0xE906EC930F5FE7C8 b791 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void RequestRagdollBoundsUpdate(Any p0, Any p1) { return _i(0x1216E0BFA72CC703,p0, p1); } // 0x1216E0BFA72CC703 0x7BD26837 b323 - // Enable/disable ped shadow (ambient occlusion). https://gfycat.com/thankfulesteemedgecko + // Enable/disable ped shadow (ambient occlusion). https://gfycat.com/thankfulesteemedgecko inline Void SetPedAoBlobRendering(Ped ped, BOOL toggle) { return _i(0x2B5AA717A181FB4C,ped, toggle); } // 0x2B5AA717A181FB4C 0x98E29ED0 b323 - // + // inline BOOL IsPedSheltered(Ped ped) { return _i(0xB8B52E498014F5B0,ped); } // 0xB8B52E498014F5B0 b323 - // p6 always 2 (but it doesnt seem to matter...) + // p6 always 2 (but it doesnt seem to matter...) // // roll and pitch 0 // yaw to Ped.rotation inline int CreateSynchronizedScene(float x, float y, float z, float roll, float pitch, float yaw, int p6) { return _i(0x8C18E0F9080ADD73,x, y, z, roll, pitch, yaw, p6); } // 0x8C18E0F9080ADD73 0xFFDDF8FA b323 - // + // inline int CreateSynchronizedSceneAtMapObject(float x, float y, float z, float radius, Hash object) { return _i(0x62EC273D00187DCA,x, y, z, radius, object); } // 0x62EC273D00187DCA 0xF3876894 b323 - // Returns true if a synchronized scene is running + // Returns true if a synchronized scene is running inline BOOL IsSynchronizedSceneRunning(int sceneId) { return _i(0x25D39B935A038A26,sceneId); } // 0x25D39B935A038A26 0x57A282F1 b323 - // + // inline Void SetSynchronizedSceneOrigin(int sceneID, float x, float y, float z, float roll, float pitch, float yaw, BOOL p7) { return _i(0x6ACF6B7225801CD7,sceneID, x, y, z, roll, pitch, yaw, p7); } // 0x6ACF6B7225801CD7 0x2EC2A0B2 b323 - // + // inline Void SetSynchronizedScenePhase(int sceneID, float phase) { return _i(0x734292F4F0ABF6D0,sceneID, phase); } // 0x734292F4F0ABF6D0 0xF5AB0D98 b323 - // + // inline float GetSynchronizedScenePhase(int sceneID) { return _i(0xE4A310B1D7FA73CC,sceneID); } // 0xE4A310B1D7FA73CC 0xB0B2C852 b323 - // + // inline Void SetSynchronizedSceneRate(int sceneID, float rate) { return _i(0xB6C49F8A5E295A5D,sceneID, rate); } // 0xB6C49F8A5E295A5D 0xF10112FD b323 - // + // inline float GetSynchronizedSceneRate(int sceneID) { return _i(0xD80932D577274D40,sceneID); } // 0xD80932D577274D40 0x89365F0D b323 - // + // inline Void SetSynchronizedSceneLooped(int sceneID, BOOL toggle) { return _i(0xD9A897A4C6C2974F,sceneID, toggle); } // 0xD9A897A4C6C2974F 0x32ED9F82 b323 - // + // inline BOOL IsSynchronizedSceneLooped(int sceneID) { return _i(0x62522002E0C391BA,sceneID); } // 0x62522002E0C391BA 0x47D87A84 b323 - // + // inline Void SetSynchronizedSceneHoldLastFrame(int sceneID, BOOL toggle) { return _i(0x394B9CD12435C981,sceneID, toggle); } // 0x394B9CD12435C981 0x2DE48DA1 b323 - // + // inline BOOL IsSynchronizedSceneHoldLastFrame(int sceneID) { return _i(0x7F2F4F13AC5257EF,sceneID); } // 0x7F2F4F13AC5257EF 0x72CF2514 b323 - // + // inline Void AttachSynchronizedSceneToEntity(int sceneID, Entity entity, int boneIndex) { return _i(0x272E4723B56A3B96,sceneID, entity, boneIndex); } // 0x272E4723B56A3B96 0xE9BA6189 b323 - // + // inline Void DetachSynchronizedScene(int sceneID) { return _i(0x6D38F1F04CBB37EA,sceneID); } // 0x6D38F1F04CBB37EA 0x52A1CAB2 b323 - // + // inline Void TakeOwnershipOfSynchronizedScene(int scene) { return _i(0xCD9CC7E200A52A6F,scene); } // 0xCD9CC7E200A52A6F 0xBF7F9035 b323 - // Regarding p2, p3 and p4: Most common is 0, 0, 0); followed by 0, 1, 0); and 1, 1, 0); in R* scripts. p4 is very rarely something other than 0. + // Regarding p2, p3 and p4: Most common is 0, 0, 0); followed by 0, 1, 0); and 1, 1, 0); in R* scripts. p4 is very rarely something other than 0. // // enum eMotionState // 0x92A659FE // { @@ -14000,13 +14000,13 @@ namespace PED // MotionState_Jetpack = 0x535E6A5E // }; inline BOOL ForcePedMotionState(Ped ped, Hash motionStateHash, BOOL p2, int p3, BOOL p4) { return _i(0xF28965D04F570DCA,ped, motionStateHash, p2, p3, p4); } // 0xF28965D04F570DCA 0x164DDEFF b323 - // + // inline BOOL GetPedCurrentMoveBlendRatio(Ped ped, float* speedX, float* speedY) { return _i(0xF60165E1D2C5370B,ped, speedX, speedY); } // 0xF60165E1D2C5370B b323 - // + // inline Void SetPedMaxMoveBlendRatio(Ped ped, float value) { return _i(0x433083750C5E064A,ped, value); } // 0x433083750C5E064A 0xEAD0269A b323 - // + // inline Void SetPedMinMoveBlendRatio(Ped ped, float value) { return _i(0x1A898D26E2333DD,ped, value); } // 0x1A898D26E2333DD 0x383EC364 b323 - // Min: 0.00 + // Min: 0.00 // Max: 10.00 // // Can be used in combo with fast run cheat. @@ -14019,9 +14019,9 @@ namespace PED // // 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. inline Void SetPedMoveRateOverride(Ped ped, float value) { return _i(0x85BF80FA50A39D1,ped, value); } // 0x85BF80FA50A39D1 0x900008C6 b323 - // + // inline Void SetPedMoveRateInWaterOverride(Ped ped, float p1) { return _i(0xB3E35AC043707D9,ped, p1); } // 0xB3E35AC043707D9 b573 - // Checks if the specified sexiness flag is set + // Checks if the specified sexiness flag is set // // enum eSexinessFlags // { @@ -14030,7 +14030,7 @@ namespace PED // SF_HOT_PERSON = 2, // }; inline BOOL PedHasSexinessFlagSet(Ped ped, int sexinessFlag) { return _i(0x46B05BCAE43856B0,ped, sexinessFlag); } // 0x46B05BCAE43856B0 0x79543043 b323 - // Returns size of array, passed into the second variable. + // Returns size of array, passed into the second variable. // // See below for usage information. // @@ -14059,7 +14059,7 @@ namespace PED // } // } inline int GetPedNearbyVehicles(Ped ped, Any* sizeAndVehs) { return _i(0xCFF869CBFA210D82,ped, sizeAndVehs); } // 0xCFF869CBFA210D82 0xCB716F68 b323 - // sizeAndPeds - is a pointer to an array. The array is filled with peds found nearby the ped supplied to the first argument. + // 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. @@ -14074,124 +14074,124 @@ namespace PED // // Example: gtaforums.com/topic/789788-function-args-to-pedget-ped-nearby-peds/?p=1067386687 inline int GetPedNearbyPeds(Ped ped, Any* sizeAndPeds, int ignore) { return _i(0x23F8F5FC7E8C4A6B,ped, sizeAndPeds, ignore); } // 0x23F8F5FC7E8C4A6B 0x4D3325F4 b323 - // + // inline BOOL HaveAllStreamingRequestsCompleted(Ped ped) { return _i(0x7350823473013C02,ped); } // 0x7350823473013C02 0xF9FB4B71 b323 - // + // inline BOOL IsPedUsingActionMode(Ped ped) { return _i(0xE73468D085F745,ped); } // 0xE73468D085F745 0x5AE7EDA2 b323 - // p2 is usually -1 in the scripts. action is either 0 or "DEFAULT_ACTION". - inline Void SetPedUsingActionMode(Ped ped, BOOL p1, int p2, String action) { return _i(0xD75ACCF5E0FB5367,ped, p1, p2, action); } // 0xD75ACCF5E0FB5367 0x8802F696 b323 - // name: "MP_FEMALE_ACTION" found multiple times in the b617d scripts. - inline Void SetMovementModeOverride(Ped ped, String name) { return _i(0x781DE8FA214E87D2,ped, name); } // 0x781DE8FA214E87D2 0x83BAE814 b323 - // Overrides the ped's collision capsule radius for the current tick. + // p2 is usually -1 in the scripts. action is either 0 or "DEFAULT_ACTION". + inline Void SetPedUsingActionMode(Ped ped, BOOL p1, int p2, const char* action) { return _i(0xD75ACCF5E0FB5367,ped, p1, p2, action); } // 0xD75ACCF5E0FB5367 0x8802F696 b323 + // name: "MP_FEMALE_ACTION" found multiple times in the b617d scripts. + inline Void SetMovementModeOverride(Ped ped, const char* name) { return _i(0x781DE8FA214E87D2,ped, name); } // 0x781DE8FA214E87D2 0x83BAE814 b323 + // 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. inline Void SetPedCapsule(Ped ped, float value) { return _i(0x364DF566EC833DE2,ped, value); } // 0x364DF566EC833DE2 0xB153E1B9 b323 - // gtaforums.com/topic/885580-ped-headshotmugshot-txd/ + // gtaforums.com/topic/885580-ped-headshotmugshot-txd/ inline int RegisterPedheadshot(Ped ped) { return _i(0x4462658788425076,ped); } // 0x4462658788425076 0xFFE2667B b323 - // + // inline int RegisterPedheadshotHires(Ped ped) { return _i(0xBA8805A1108A2515,ped); } // 0xBA8805A1108A2515 b877 - // Similar to RegisterPedheadshot but creates a transparent background instead of black. Example: https://i.imgur.com/iHz8ztn.png + // Similar to RegisterPedheadshot but creates a transparent background instead of black. Example: https://i.imgur.com/iHz8ztn.png inline int RegisterPedheadshotTransparent(Ped ped) { return _i(0x953563CE563143AF,ped); } // 0x953563CE563143AF 0x4DD03628 b323 - // gtaforums.com/topic/885580-ped-headshotmugshot-txd/ + // gtaforums.com/topic/885580-ped-headshotmugshot-txd/ inline Void UnregisterPedheadshot(int id) { return _i(0x96B1361D9B24C2FF,id); } // 0x96B1361D9B24C2FF 0x0879AE45 b323 - // gtaforums.com/topic/885580-ped-headshotmugshot-txd/ + // gtaforums.com/topic/885580-ped-headshotmugshot-txd/ inline BOOL IsPedheadshotValid(int id) { return _i(0xA0A9668F158129A2,id); } // 0xA0A9668F158129A2 0x0B1080C4 b323 - // gtaforums.com/topic/885580-ped-headshotmugshot-txd/ + // gtaforums.com/topic/885580-ped-headshotmugshot-txd/ inline BOOL IsPedheadshotReady(int id) { return _i(0x7085228842B13A67,id); } // 0x7085228842B13A67 0x761CD02E b323 - // gtaforums.com/topic/885580-ped-headshotmugshot-txd/ - inline String GetPedheadshotTxdString(int id) { return _i(0xDB4EACD4AD0A5D6B,id); } // 0xDB4EACD4AD0A5D6B 0x76D28E96 b323 - // + // gtaforums.com/topic/885580-ped-headshotmugshot-txd/ + inline const char* GetPedheadshotTxdString(int id) { return _i(0xDB4EACD4AD0A5D6B,id); } // 0xDB4EACD4AD0A5D6B 0x76D28E96 b323 + // inline BOOL RequestPedheadshotImgUpload(int id) { return _i(0xF0DAEF2F545BEE25,id); } // 0xF0DAEF2F545BEE25 0x10F2C023 b323 - // + // inline Void ReleasePedheadshotImgUpload(int id) { return _i(0x5D517B27CF6ECD04,id); } // 0x5D517B27CF6ECD04 0x0DBB2FA7 b323 - // + // inline BOOL IsPedheadshotImgUploadAvailable() { return _i(0xEBB376779A760AA8); } // 0xEBB376779A760AA8 0x810158F8 b323 - // + // inline BOOL HasPedheadshotImgUploadFailed() { return _i(0x876928DDDFCCC9CD); } // 0x876928DDDFCCC9CD 0x05023F8F b323 - // + // inline BOOL HasPedheadshotImgUploadSucceeded() { return _i(0xE8A169E666CBC541); } // 0xE8A169E666CBC541 0xAA39FD6C b323 - // + // inline Void SetPedHeatscaleOverride(Ped ped, float heatScale) { return _i(0xC1F6EBF9A3D55538,ped, heatScale); } // 0xC1F6EBF9A3D55538 0xEF9142DB b323 - // + // inline Void DisablePedHeatscaleOverride(Ped ped) { return _i(0x600048C60D5C2C51,ped); } // 0x600048C60D5C2C51 0x0688DE64 b323 - // + // inline Void SpawnpointsStartSearch(float p0, float p1, float p2, float p3, float p4, int interiorFlags, float scale, int duration) { return _i(0x2DF9038C90AD5264,p0, p1, p2, p3, p4, interiorFlags, scale, duration); } // 0x2DF9038C90AD5264 0x909A1D76 b323 - // + // inline Void SpawnpointsStartSearchInAngledArea(float x1, float y1, float z1, float x2, float y2, float z2, float width, int interiorFlags, float scale, int duration) { return _i(0xB2AFF10216DEFA2F,x1, y1, z1, x2, y2, z2, width, interiorFlags, scale, duration); } // 0xB2AFF10216DEFA2F 0x4AAD0ECB b323 - // + // inline Void SpawnpointsCancelSearch() { return _i(0xFEE4A5459472A9F8); } // 0xFEE4A5459472A9F8 0x492C9E46 b323 - // + // inline BOOL SpawnpointsIsSearchActive() { return _i(0x3C67506996001F5E); } // 0x3C67506996001F5E 0x814A28F4 b323 - // + // inline BOOL SpawnpointsIsSearchComplete() { return _i(0xA586FBEB32A53DBB); } // 0xA586FBEB32A53DBB 0x0B60D2BA b323 - // + // inline BOOL SpawnpointsIsSearchFailed() { return _i(0xF445DE8DA80A1792); } // 0xF445DE8DA80A1792 0x6B83ABDF b323 - // + // inline int SpawnpointsGetNumSearchResults() { return _i(0xA635C11B8C44AFC2); } // 0xA635C11B8C44AFC2 0xF46B4DC8 b323 - // + // inline Void SpawnpointsGetSearchResult(int randomInt, float* x, float* y, float* z) { return _i(0x280C7E3AC7F56E90,randomInt, x, y, z); } // 0x280C7E3AC7F56E90 0x36A4AC65 b323 - // + // inline Void SpawnpointsGetSearchResultFlags(int p0, int* p1) { return _i(0xB782F8238512BAD5,p0, p1); } // 0xB782F8238512BAD5 0xBA699DDF b323 - // + // inline Void SetIkTarget(Ped ped, int ikIndex, Entity entityLookAt, int boneLookAt, float offsetX, float offsetY, float offsetZ, Any p7, int blendInDuration, int blendOutDuration) { return _i(0xC32779C16FCEECD9,ped, ikIndex, entityLookAt, boneLookAt, offsetX, offsetY, offsetZ, p7, blendInDuration, blendOutDuration); } // 0xC32779C16FCEECD9 0x6FE5218C b323 - // + // inline Void ForceInstantLegIkSetup(Ped ped) { return _i(0xED3C76ADFA6D07C4,ped); } // 0xED3C76ADFA6D07C4 0xFB4000DC b323 - // - inline Void RequestActionModeAsset(String asset) { return _i(0x290E2780BB7AA598,asset); } // 0x290E2780BB7AA598 0x572BA553 b323 - // - inline BOOL HasActionModeAssetLoaded(String asset) { return _i(0xE4B5F4BF2CB24E65,asset); } // 0xE4B5F4BF2CB24E65 0xF7EB2BF1 b323 - // - inline Void RemoveActionModeAsset(String asset) { return _i(0x13E940F88470FA51,asset); } // 0x13E940F88470FA51 0x3F480F92 b323 - // - inline Void RequestStealthModeAsset(String asset) { return _i(0x2A0A62FCDEE16D4F,asset); } // 0x2A0A62FCDEE16D4F 0x280A004A b323 - // - inline BOOL HasStealthModeAssetLoaded(String asset) { return _i(0xE977FC5B08AF3441,asset); } // 0xE977FC5B08AF3441 0x39245667 b323 - // - inline Void RemoveStealthModeAsset(String asset) { return _i(0x9219857D21F0E842,asset); } // 0x9219857D21F0E842 0x8C0B243A b323 - // + // + inline Void RequestActionModeAsset(const char* asset) { return _i(0x290E2780BB7AA598,asset); } // 0x290E2780BB7AA598 0x572BA553 b323 + // + inline BOOL HasActionModeAssetLoaded(const char* asset) { return _i(0xE4B5F4BF2CB24E65,asset); } // 0xE4B5F4BF2CB24E65 0xF7EB2BF1 b323 + // + inline Void RemoveActionModeAsset(const char* asset) { return _i(0x13E940F88470FA51,asset); } // 0x13E940F88470FA51 0x3F480F92 b323 + // + inline Void RequestStealthModeAsset(const char* asset) { return _i(0x2A0A62FCDEE16D4F,asset); } // 0x2A0A62FCDEE16D4F 0x280A004A b323 + // + inline BOOL HasStealthModeAssetLoaded(const char* asset) { return _i(0xE977FC5B08AF3441,asset); } // 0xE977FC5B08AF3441 0x39245667 b323 + // + inline Void RemoveStealthModeAsset(const char* asset) { return _i(0x9219857D21F0E842,asset); } // 0x9219857D21F0E842 0x8C0B243A b323 + // inline Void SetPedLodMultiplier(Ped ped, float multiplier) { return _i(0xDC2C5C242AAC342B,ped, multiplier); } // 0xDC2C5C242AAC342B 0x1D2B5C70 b323 - // + // inline Void SetPedCanLosePropsOnDamage(Ped ped, BOOL toggle, int p2) { return _i(0xE861D0B05C7662B8,ped, toggle, p2); } // 0xE861D0B05C7662B8 0x2F9550C2 b323 - // + // inline Void SetForceFootstepUpdate(Ped ped, BOOL toggle) { return _i(0x129466ED55140F8D,ped, toggle); } // 0x129466ED55140F8D 0x37DBC2AD b323 - // + // inline Void SetForceStepType(Ped ped, BOOL p1, int type, int p3) { return _i(0xCB968B53FC7F916D,ped, p1, type, p3); } // 0xCB968B53FC7F916D 0xC0F1BC91 b323 - // + // inline BOOL IsAnyHostilePedNearPoint(Ped ped, float x, float y, float z, float radius) { return _i(0x68772DB2B2526F9F,ped, x, y, z, radius); } // 0x68772DB2B2526F9F 0x1A464167 b323 - // Toggles config flag CPED_CONFIG_FLAG_CanPlayInCarIdles. + // Toggles config flag CPED_CONFIG_FLAG_CanPlayInCarIdles. inline Void SetPedCanPlayInCarIdles(Ped ped, BOOL toggle) { return _i(0x820E9892A77E97CD,ped, toggle); } // 0x820E9892A77E97CD b877 - // + // inline BOOL IsTargetPedInPerceptionArea(Ped ped, Ped targetPed, float p2, float p3, float p4, float p5) { return _i(0x6087579E7AA85A9,ped, targetPed, p2, p3, p4, p5); } // 0x6087579E7AA85A9 0xD0567D41 b323 - // Min and max are usually 100.0 and 200.0 + // Min and max are usually 100.0 and 200.0 inline Void SetPopControlSphereThisFrame(float x, float y, float z, float min, float max) { return _i(0xD8C3BE3EE94CAF2D,x, y, z, min, max); } // 0xD8C3BE3EE94CAF2D 0x4BBE5E2C b323 - // + // inline Void ForceZeroMassInCollisions(Ped ped) { return _i(0xD33DAA36272177C4,ped); } // 0xD33DAA36272177C4 0xA89A53F2 b323 - // + // inline Void SetDisableHighFallDeath(Ped ped, BOOL toggle) { return _i(0x711794453CFD692B,ped, toggle); } // 0x711794453CFD692B b463 - // + // inline Void SetPedPhonePaletteIdx(Any p0, Any p1) { return _i(0x83A169EABCDB10A2,p0, p1); } // 0x83A169EABCDB10A2 b323 - // + // inline Void SetPedSteerBias(Ped ped, float value) { return _i(0x288DF530C92DAD6F,ped, value); } // 0x288DF530C92DAD6F b323 - // + // inline BOOL IsPedSwitchingWeapon(Ped Ped) { return _i(0x3795688A307E1EB6,Ped); } // 0x3795688A307E1EB6 b505 - // + // inline Void SetPedTreatedAsFriendly(Any p0, Any p1, Any p2) { return _i(0xF62619393661D6E,p0, p1, p2); } // 0xF62619393661D6E b877 - // + // inline Void SetDisablePedMapCollision(Ped ped) { return _i(0xDFE68C4B787E1BFB,ped); } // 0xDFE68C4B787E1BFB b1180 - // + // inline Void EnableMpLight(Ped ped, BOOL toggle) { return _i(0xEE2476B9EE4A094F,ped, toggle); } // 0xEE2476B9EE4A094F b1493 - // + // inline BOOL GetMpLightEnabled(Ped ped) { return _i(0x88274C11CF0D866D,ped); } // 0x88274C11CF0D866D b1493 - // + // inline Void ClearCoverPointForPed(Ped ped) { return _i(0x637822DC2AFEEBF8,ped); } // 0x637822DC2AFEEBF8 b1493 - // + // inline Void SetAllowStuntJumpCamera(Ped ped, BOOL toggle) { return _i(0xFAB944D4D481ACCB,ped, toggle); } // 0xFAB944D4D481ACCB b1734 } namespace PHYSICS { - // Creates a rope at the specific position, that extends in the specified direction when not attached to any entities. + // 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) @@ -14226,132 +14226,132 @@ namespace PHYSICS // // 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. inline int AddRope(float x, float y, float z, float rotX, float rotY, float rotZ, float length, int ropeType, float maxLength, float minLength, float windingSpeed, BOOL p11, BOOL p12, BOOL rigid, float p14, BOOL breakWhenShot, Any* unkPtr) { return _i(0xE832D760399EB220,x, y, z, rotX, rotY, rotZ, length, ropeType, maxLength, minLength, windingSpeed, p11, p12, rigid, p14, breakWhenShot, unkPtr); } // 0xE832D760399EB220 0xA592EC74 b323 - // + // inline Void DeleteRope(int* ropeId) { return _i(0x52B4829281364649,ropeId); } // 0x52B4829281364649 0x748D72AF b323 - // + // inline Void DeleteChildRope(int ropeId) { return _i(0xAA5D6B1888E4DB20,ropeId); } // 0xAA5D6B1888E4DB20 0xB19B4706 b323 - // + // inline BOOL DoesRopeExist(int* ropeId) { return _i(0xFD5448BE3111ED96,ropeId); } // 0xFD5448BE3111ED96 0x66E4A3AC b323 - // + // inline Void RopeDrawEnabled(int* ropeId, BOOL p1) { return _i(0xA1AE736541B0FCA3,ropeId, p1); } // 0xA1AE736541B0FCA3 b1868 - // + // inline Void RopeDrawShadowEnabled(int* ropeId, BOOL toggle) { return _i(0xF159A63806BB5BA8,ropeId, toggle); } // 0xF159A63806BB5BA8 0x51523B8C b323 - // Rope presets can be found in the gamefiles. One example is "ropeFamily3", it is NOT a hash but rather a string. - inline Void LoadRopeData(int ropeId, String rope_preset) { return _i(0xCBB203C04D1ABD27,ropeId, rope_preset); } // 0xCBB203C04D1ABD27 0x9E8F1644 b323 - // + // Rope presets can be found in the gamefiles. One example is "ropeFamily3", it is NOT a hash but rather a string. + inline Void LoadRopeData(int ropeId, const char* rope_preset) { return _i(0xCBB203C04D1ABD27,ropeId, rope_preset); } // 0xCBB203C04D1ABD27 0x9E8F1644 b323 + // inline Void PinRopeVertex(int ropeId, int vertex, float x, float y, float z) { return _i(0x2B320CF14146B69A,ropeId, vertex, x, y, z); } // 0x2B320CF14146B69A 0xAE1D101B b323 - // + // inline Void UnpinRopeVertex(int ropeId, int vertex) { return _i(0x4B5AE2EEE4A8F180,ropeId, vertex); } // 0x4B5AE2EEE4A8F180 0xB30B552F b323 - // + // inline int GetRopeVertexCount(int ropeId) { return _i(0x3655F544CD30F0B5,ropeId); } // 0x3655F544CD30F0B5 0x5131CD2C b323 - // Attaches entity 1 to entity 2. + // Attaches entity 1 to entity 2. inline Void AttachEntitiesToRope(int ropeId, Entity ent1, Entity ent2, float ent1_x, float ent1_y, float ent1_z, float ent2_x, float ent2_y, float ent2_z, float length, BOOL p10, BOOL p11, Any* p12, Any* p13) { return _i(0x3D95EC8B6D940AC3,ropeId, ent1, ent2, ent1_x, ent1_y, ent1_z, ent2_x, ent2_y, ent2_z, length, p10, p11, p12, p13); } // 0x3D95EC8B6D940AC3 0x7508668F b323 - // The position supplied can be anywhere, and the entity should anchor relative to that point from it's origin. + // The position supplied can be anywhere, and the entity should anchor relative to that point from it's origin. inline Void AttachRopeToEntity(int ropeId, Entity entity, float x, float y, float z, BOOL p5) { return _i(0x4B490A6832559A65,ropeId, entity, x, y, z, p5); } // 0x4B490A6832559A65 0xB25D9536 b323 - // + // inline Void DetachRopeFromEntity(int ropeId, Entity entity) { return _i(0xBCF3026912A8647D,ropeId, entity); } // 0xBCF3026912A8647D 0x3E720BEE b323 - // + // inline Void RopeSetUpdatePinverts(int ropeId) { return _i(0xC8D667EE52114ABA,ropeId); } // 0xC8D667EE52114ABA 0xEAF291A0 b323 - // + // inline Void RopeSetUpdateOrder(int ropeId, Any p1) { return _i(0xDC57A637A20006ED,ropeId, p1); } // 0xDC57A637A20006ED 0x80DB77A7 b323 - // + // inline Void RopeSetSmoothReelin(int ropeId, BOOL p1) { return _i(0x36CCB9BE67B970FD,ropeId, p1); } // 0x36CCB9BE67B970FD 0xC67D5CF6 b323 - // + // inline BOOL IsRopeAttachedAtBothEnds(int* ropeId) { return _i(0x84DE3B5FB3E666F0,ropeId); } // 0x84DE3B5FB3E666F0 0x7A18BB9C b323 - // + // inline Vector3 GetRopeLastVertexCoord(int ropeId) { return _i(0x21BB0FBD3E217C2D,ropeId); } // 0x21BB0FBD3E217C2D 0x91F6848B b323 - // + // inline Vector3 GetRopeVertexCoord(int ropeId, int vertex) { return _i(0xEA61CA8E80F09E4D,ropeId, vertex); } // 0xEA61CA8E80F09E4D 0x84374452 b323 - // + // inline Void StartRopeWinding(int ropeId) { return _i(0x1461C72C889E343E,ropeId); } // 0x1461C72C889E343E 0x5187BED3 b323 - // + // inline Void StopRopeWinding(int ropeId) { return _i(0xCB2D4AB84A19AA7C,ropeId); } // 0xCB2D4AB84A19AA7C 0x46826B53 b323 - // + // inline Void StartRopeUnwindingFront(int ropeId) { return _i(0x538D1179EC1AA9A9,ropeId); } // 0x538D1179EC1AA9A9 0xFC0DB4C3 b323 - // + // inline Void StopRopeUnwindingFront(int ropeId) { return _i(0xFFF3A50779EFBBB3,ropeId); } // 0xFFF3A50779EFBBB3 0x2EEDB18F b323 - // + // inline Void RopeConvertToSimple(int ropeId) { return _i(0x5389D48EFA2F079A,ropeId); } // 0x5389D48EFA2F079A 0x43E92628 b323 - // Loads rope textures for all ropes in the current scene. + // Loads rope textures for all ropes in the current scene. inline Void RopeLoadTextures() { return _i(0x9B9039DBF2D258C1); } // 0x9B9039DBF2D258C1 0xBA97CE91 b323 - // + // inline BOOL RopeAreTexturesLoaded() { return _i(0xF2D0E6A75CC05597); } // 0xF2D0E6A75CC05597 0x5FDC1047 b323 - // Unloads rope textures for all ropes in the current scene. + // Unloads rope textures for all ropes in the current scene. inline Void RopeUnloadTextures() { return _i(0x6CE36C35C1AC8163); } // 0x6CE36C35C1AC8163 0x584463E0 b323 - // + // inline BOOL DoesScriptOwnRope(int ropeId) { return _i(0x271C9D3ACA5D6409,ropeId); } // 0x271C9D3ACA5D6409 b323 - // + // inline Void RopeAttachVirtualBoundGeom(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) { return _i(0xBC0CE682D4D05650,ropeId, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); } // 0xBC0CE682D4D05650 0x106BA127 b323 - // + // inline Void RopeChangeScriptOwner(Any p0, BOOL p1, BOOL p2) { return _i(0xB1B6216CA2E7B55E,p0, p1, p2); } // 0xB1B6216CA2E7B55E 0x7C6F7668 b323 - // + // inline Void RopeSetRefframevelocityColliderorder(int ropeId, int p1) { return _i(0xB743F735C03D7810,ropeId, p1); } // 0xB743F735C03D7810 0x686672DD b323 - // + // inline float RopeGetDistanceBetweenEnds(int ropeId) { return _i(0x73040398DFF9A4A6,ropeId); } // 0x73040398DFF9A4A6 0xFD309DC8 b323 - // Forces a rope to a certain length. + // Forces a rope to a certain length. inline Void RopeForceLength(int ropeId, float length) { return _i(0xD009F759A723DB1B,ropeId, length); } // 0xD009F759A723DB1B 0xABF3130F b323 - // Reset a rope to a certain length. + // Reset a rope to a certain length. inline Void RopeResetLength(int ropeId, float length) { return _i(0xC16DE94D9BEA14A0,ropeId, length); } // 0xC16DE94D9BEA14A0 0xC8A423A3 b323 - // + // inline Void ApplyImpulseToCloth(float posX, float posY, float posZ, float vecX, float vecY, float vecZ, float impulse) { return _i(0xE37F721824571784,posX, posY, posZ, vecX, vecY, vecZ, impulse); } // 0xE37F721824571784 0xA2A5C9FE b323 - // + // inline Void SetDamping(Entity entity, int vertex, float value) { return _i(0xEEA3B200A6FEB65B,entity, vertex, value); } // 0xEEA3B200A6FEB65B 0xCFB37773 b323 - // + // inline Void ActivatePhysics(Entity entity) { return _i(0x710311ADF0E20730,entity); } // 0x710311ADF0E20730 0x031711B8 b323 - // + // inline Void SetCgoffset(Entity entity, float x, float y, float z) { return _i(0xD8FA3908D7B86904,entity, x, y, z); } // 0xD8FA3908D7B86904 0x59910AB2 b323 - // + // inline Vector3 GetCgoffset(Entity entity) { return _i(0x8214A4B5A7A33612,entity); } // 0x8214A4B5A7A33612 0x49A11F0D b323 - // + // inline Void SetCgAtBoundcenter(Entity entity) { return _i(0xBE520D9761FF811F,entity); } // 0xBE520D9761FF811F 0xA5B55421 b323 - // + // inline Void BreakEntityGlass(Entity entity, float p1, float p2, float p3, float p4, float p5, float p6, float p7, float p8, Any p9, BOOL p10) { return _i(0x2E648D16F6E308F3,entity, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); } // 0x2E648D16F6E308F3 0xD0E0402F b323 - // + // inline BOOL GetIsEntityAFrag(Object object) { return _i(0xC112765300C7E1E,object); } // 0xC112765300C7E1E b505 - // + // inline Void SetDisableBreaking(Object object, BOOL toggle) { return _i(0x5CEC1A84620E7D5B,object, toggle); } // 0x5CEC1A84620E7D5B 0xEE77C326 b323 - // + // inline Void ResetDisableBreaking(Object object) { return _i(0xCC6E963682533882,object); } // 0xCC6E963682533882 b323 - // + // inline Void SetDisableFragDamage(Object object, BOOL toggle) { return _i(0x1BA3AED21C16CFB,object, toggle); } // 0x1BA3AED21C16CFB 0x97269DC8 b323 - // PED_RAGDOLL_BUMP Proof? + // PED_RAGDOLL_BUMP Proof? inline Void SetUseKinematicPhysics(Entity entity, BOOL toggle) { return _i(0x15F944730C832252,entity, toggle); } // 0x15F944730C832252 b463 - // + // inline Void SetInStuntMode(BOOL p0) { return _i(0x9EBD751E5787BAF2,p0); } // 0x9EBD751E5787BAF2 b791 - // Related to the lower-end of a vehicles fTractionCurve, e.g., from standing starts and acceleration from low/zero speeds. + // Related to the lower-end of a vehicles fTractionCurve, e.g., from standing starts and acceleration from low/zero speeds. inline Void SetInArenaMode(BOOL toggle) { return _i(0xAA6A6098851C396F,toggle); } // 0xAA6A6098851C396F b1604 } namespace PLAYER { - // Gets the ped for a specified player index. + // Gets the ped for a specified player index. inline Ped GetPlayerPed(Player player) { return _i(0x43A66C31C68491C0,player); } // 0x43A66C31C68491C0 0x6E31E993 b323 - // Does the same like PLAYER::GetPlayerPed + // Does the same like PLAYER::GetPlayerPed inline Ped GetPlayerPedScriptIndex(Player player) { return _i(0x50FAC3A3E030A6E1,player); } // 0x50FAC3A3E030A6E1 0x6AC64990 b323 - // 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 + // 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. inline Void SetPlayerModel(Player player, Hash model) { return _i(0xA1CADD00108836,player, model); } // 0xA1CADD00108836 0x774A4C54 b323 - // + // inline Void ChangePlayerPed(Player player, Ped ped, BOOL p2, BOOL resetDamage) { return _i(0x48189FAC643DEEE,player, ped, p2, resetDamage); } // 0x48189FAC643DEEE 0xBE515485 b323 - // + // inline Void GetPlayerRgbColour(Player player, int* r, int* g, int* b) { return _i(0xE902EF951DCE178F,player, r, g, b); } // 0xE902EF951DCE178F 0x6EF43BBB b323 - // Gets the number of players in the current session. + // Gets the number of players in the current session. // If not multiplayer, always returns 1. inline int GetNumberOfPlayers() { return _i(0x407C7F91DDB46C16); } // 0x407C7F91DDB46C16 0x4C1B8867 b323 - // Gets the player's team. + // Gets the player's team. // Does nothing in singleplayer. inline int GetPlayerTeam(Player player) { return _i(0x37039302F4E0A008,player); } // 0x37039302F4E0A008 0x9873E404 b323 - // Set player team on deathmatch and last team standing.. + // Set player team on deathmatch and last team standing.. inline Void SetPlayerTeam(Player player, int team) { return _i(0x299FA38396A4940,player, team); } // 0x299FA38396A4940 0x725ADCF2 b323 - // + // inline int GetNumberOfPlayersInTeam(int team) { return _i(0x1FC200409F10E6F1,team); } // 0x1FC200409F10E6F1 b1180 - // - inline String GetPlayerName(Player player) { return _i(0x6D0DE6A7B5DA71F8,player); } // 0x6D0DE6A7B5DA71F8 0x406B4B20 b323 - // Remnant from GTA IV. Does nothing in GTA V. + // + inline const char* GetPlayerName(Player player) { return _i(0x6D0DE6A7B5DA71F8,player); } // 0x6D0DE6A7B5DA71F8 0x406B4B20 b323 + // Remnant from GTA IV. Does nothing in GTA V. inline float GetWantedLevelRadius(Player player) { return _i(0x85DEB493BE80812,player); } // 0x85DEB493BE80812 0x1CF7D7DA b323 - // + // inline Vector3 GetPlayerWantedCentrePosition(Player player) { return _i(0xC92BA89F1AF26F8,player); } // 0xC92BA89F1AF26F8 0x821F2D2C b323 - // # Predominant call signatures + // # Predominant call signatures // PLAYER::SetPlayerWantedCentrePosition(PLAYER::PlayerId(), ENTITY::GetEntityCoords(PLAYER::PlayerPedId(), 1)); // // # Parameter value ranges @@ -14359,42 +14359,42 @@ namespace PLAYER // P1: ENTITY::GetEntityCoords(PLAYER::PlayerPedId(), 1) // P2: Not set by any call inline Void SetPlayerWantedCentrePosition(Player player, Vector3* position, BOOL p2, BOOL p3) { return _i(0x520E541A97A13354,player, position, p2, p3); } // 0x520E541A97A13354 0xF261633A b323 - // Drft + // Drft inline int GetWantedLevelThreshold(int wantedLevel) { return _i(0xFDD179EAF45B556C,wantedLevel); } // 0xFDD179EAF45B556C 0xD9783F6B b323 - // Call SetPlayerWantedLevel_NOW for immediate effect + // Call SetPlayerWantedLevel_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 // inline Void SetPlayerWantedLevel(Player player, int wantedLevel, BOOL disableNoMission) { return _i(0x39FF19C64EF7DA5B,player, wantedLevel, disableNoMission); } // 0x39FF19C64EF7DA5B 0xB7A0914B b323 - // p2 is always false in R* scripts + // p2 is always false in R* scripts inline Void SetPlayerWantedLevelNoDrop(Player player, int wantedLevel, BOOL p2) { return _i(0x340E61DE7F471565,player, wantedLevel, p2); } // 0x340E61DE7F471565 0xED6F44F5 b323 - // Forces any pending wanted level to be applied to the specified player immediately. + // Forces any pending wanted level to be applied to the specified player immediately. // // Call SetPlayerWantedLevel with the desired wanted level, followed by SetPlayerWantedLevel_NOW. // // Second parameter is unknown (always false). inline Void SetPlayerWantedLevelNow(Player player, BOOL p1) { return _i(0xE0A7D1E497FFCD6F,player, p1); } // 0xE0A7D1E497FFCD6F 0xAF3AFD83 b323 - // + // inline BOOL ArePlayerFlashingStarsAboutToDrop(Player player) { return _i(0xAFAF86043E5874E9,player); } // 0xAFAF86043E5874E9 0xE13A71C7 b323 - // + // inline BOOL ArePlayerStarsGreyedOut(Player player) { return _i(0xA6EB355EE14A2DB,player); } // 0xA6EB355EE14A2DB 0x5E72AB72 b323 - // + // inline BOOL IsWantedAndHasBeenSeenByCops(Player player) { return _i(0x7E07C78925D5FD96,player); } // 0x7E07C78925D5FD96 b372 - // + // inline Void SetDispatchCopsForPlayer(Player player, BOOL toggle) { return _i(0xDB172424876553F4,player, toggle); } // 0xDB172424876553F4 0x48A18913 b323 - // + // inline BOOL IsPlayerWantedLevelGreater(Player player, int wantedLevel) { return _i(0x238DB2A2C23EE9EF,player, wantedLevel); } // 0x238DB2A2C23EE9EF 0x589A2661 b323 - // This executes at the same as speed as PLAYER::SetPlayerWantedLevel(player, 0, false); + // This executes at the same as speed as PLAYER::SetPlayerWantedLevel(player, 0, false); // // PLAYER::GetPlayerWantedLevel(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. inline Void ClearPlayerWantedLevel(Player player) { return _i(0xB302540597885499,player); } // 0xB302540597885499 0x54EA5BCC b323 - // + // inline BOOL IsPlayerDead(Player player) { return _i(0x424D4687FA1E5652,player); } // 0x424D4687FA1E5652 0x140CA5A8 b323 - // + // inline BOOL IsPlayerPressingHorn(Player player) { return _i(0xFA1E2BF8B10598F9,player); } // 0xFA1E2BF8B10598F9 0xED1D1662 b323 - // Flags: + // Flags: // SPC_AMBIENT_SCRIPT = (1 << 1), // SPC_CLEAR_TASKS = (1 << 2), // SPC_REMOVE_FIRES = (1 << 3), @@ -14410,50 +14410,50 @@ namespace PLAYER // // See: https://alloc8or.re/gta5/doc/enums/eSetPlayerControlFlag.txt inline Void SetPlayerControl(Player player, BOOL bHasControl, int flags) { return _i(0x8D32347D6D4C40A2,player, bHasControl, flags); } // 0x8D32347D6D4C40A2 0xD17AFCD8 b323 - // + // inline int GetPlayerWantedLevel(Player player) { return _i(0xE28E54788CE8F12D,player); } // 0xE28E54788CE8F12D 0xBDCDD163 b323 - // + // inline Void SetMaxWantedLevel(int maxWantedLevel) { return _i(0xAA5F02DB48D704B9,maxWantedLevel); } // 0xAA5F02DB48D704B9 0x665A06F5 b323 - // If toggle is set to false: + // 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 inline Void SetPoliceRadarBlips(BOOL toggle) { return _i(0x43286D561B72B8BF,toggle); } // 0x43286D561B72B8BF 0x8E114B10 b323 - // The player will be ignored by the police if toggle is set to true + // The player will be ignored by the police if toggle is set to true inline Void SetPoliceIgnorePlayer(Player player, BOOL toggle) { return _i(0x32C62AA929C2DA6A,player, toggle); } // 0x32C62AA929C2DA6A 0xE6DE71B7 b323 - // Checks whether the specified player has a Ped, the Ped is not dead, is not injured and is not arrested. + // Checks whether the specified player has a Ped, the Ped is not dead, is not injured and is not arrested. inline BOOL IsPlayerPlaying(Player player) { return _i(0x5E9564D8246B909A,player); } // 0x5E9564D8246B909A 0xE15D777F b323 - // + // inline Void SetEveryoneIgnorePlayer(Player player, BOOL toggle) { return _i(0x8EEDA153AD141BA4,player, toggle); } // 0x8EEDA153AD141BA4 0xC915285E b323 - // + // inline Void SetAllRandomPedsFlee(Player player, BOOL toggle) { return _i(0x56E0FE8534C2949,player, toggle); } // 0x56E0FE8534C2949 0x49EAE968 b323 - // + // inline Void SetAllRandomPedsFleeThisFrame(Player player) { return _i(0x471D2FF42A94B4F2,player); } // 0x471D2FF42A94B4F2 0xBF974891 b323 - // + // inline Void SetAllNeutralRandomPedsFlee(Player player, BOOL toggle) { return _i(0xDE45D1A1EF45EE61,player, toggle); } // 0xDE45D1A1EF45EE61 0x274631FE b323 - // - This is called after SetAllRandomPedsFlee_THIS_FRAME + // - This is called after SetAllRandomPedsFlee_THIS_FRAME // inline Void SetAllNeutralRandomPedsFleeThisFrame(Player player) { return _i(0xC3376F42B1FACCC6,player); } // 0xC3376F42B1FACCC6 0x02DF7AF4 b323 - // + // inline Void SetLawPedsCanAttackNonWantedPlayerThisFrame(Player player) { return _i(0xFAC75988A7D078D3,player); } // 0xFAC75988A7D078D3 b463 - // + // inline Void SetIgnoreLowPriorityShockingEvents(Player player, BOOL toggle) { return _i(0x596976B02B6B5700,player, toggle); } // 0x596976B02B6B5700 0xA3D675ED b323 - // + // inline Void SetWantedLevelMultiplier(float multiplier) { return _i(0x20E5F00CDA207BA,multiplier); } // 0x20E5F00CDA207BA 0x1359292F b323 - // Max value is 1.0 + // Max value is 1.0 inline Void SetWantedLevelDifficulty(Player player, float difficulty) { return _i(0x9B0BB33B04405E7A,player, difficulty); } // 0x9B0BB33B04405E7A 0xB552626C b323 - // + // inline Void ResetWantedLevelDifficulty(Player player) { return _i(0xB9D0DD990DC141DD,player); } // 0xB9D0DD990DC141DD 0xA64C378D b323 - // + // inline int GetWantedLevelTimeToEscape() { return _i(0xA72200F51875FEA4); } // 0xA72200F51875FEA4 b2372 - // + // inline Void SetWantedLevelHiddenEscapeTime(Player player, int wantedLevel, int lossTime) { return _i(0x49B856B1360C47C7,player, wantedLevel, lossTime); } // 0x49B856B1360C47C7 b2060 - // + // inline Void ResetWantedLevelHiddenEscapeTime(Player player) { return _i(0x823EC8E82BA45986,player); } // 0x823EC8E82BA45986 b2060 - // + // inline Void StartFiringAmnesty(int duration) { return _i(0xBF9BD71691857E48,duration); } // 0xBF9BD71691857E48 0x5F8A22A6 b323 - // PLAYER::ReportCrime(PLAYER::PlayerId(), 37, PLAYER::GetWantedLevelThreshold(1)); + // PLAYER::ReportCrime(PLAYER::PlayerId(), 37, PLAYER::GetWantedLevelThreshold(1)); // // From am_armybase.ysc.c4: // @@ -14512,24 +14512,24 @@ namespace PLAYER // 45: ??? // 46: ??? inline Void ReportCrime(Player player, int crimeType, int wantedLvlThresh) { return _i(0xE9B09589827545E7,player, crimeType, wantedLvlThresh); } // 0xE9B09589827545E7 0xD8EB3A44 b323 - // crimeType: see ReportCrime + // crimeType: see ReportCrime inline Void SuppressCrimeThisFrame(Player player, int crimeType) { return _i(0x9A987297ED8BD838,player, crimeType); } // 0x9A987297ED8BD838 0x59B5C2A2 b323 - // This native is used in both singleplayer and multiplayer scripts. + // This native is used in both singleplayer and multiplayer scripts. // // Always used like this in scripts // PLAYER::UpdateWantedPositionThisFrame(PLAYER::PlayerId()); inline Void UpdateWantedPositionThisFrame(Player player) { return _i(0xBC9490CA15AEA8FB,player); } // 0xBC9490CA15AEA8FB 0x6B34A160 b323 - // This has been found in use in the decompiled files. + // This has been found in use in the decompiled files. inline Void SuppressLosingWantedLevelIfHiddenThisFrame(Player player) { return _i(0x4669B3ED80F24B4E,player); } // 0x4669B3ED80F24B4E 0xB9FB142F b323 - // + // inline Void AllowEvasionHudIfDisablingHiddenEvasionThisFrame(Player player, Any p1) { return _i(0x2F41A3BAE005E5FA,player, p1); } // 0x2F41A3BAE005E5FA b372 - // This has been found in use in the decompiled files. + // This has been found in use in the decompiled files. inline Void ForceStartHiddenEvasion(Player player) { return _i(0xAD73CE5A09E42D12,player); } // 0xAD73CE5A09E42D12 0x85725848 b323 - // + // inline Void SuppressWitnessesCallingPoliceThisFrame(Player player) { return _i(0x36F1B38855F2A8DF,player); } // 0x36F1B38855F2A8DF 0x3A7E5FB6 b323 - // + // inline Void ReportPoliceSpottedPlayer(Player player) { return _i(0xDC64D2C53493ED12,player); } // 0xDC64D2C53493ED12 0xD15C4B1C b323 - // PLAYER::SetLawResponseDelayOverride(rPtr((&l_122) + 71)); // Found in decompilation + // PLAYER::SetLawResponseDelayOverride(rPtr((&l_122) + 71)); // Found in decompilation // // *** // @@ -14538,126 +14538,126 @@ namespace PLAYER // l_8d._f47 = MISC::GetRandomFloatInRange(18.0, 28.0); // PLAYER::SetLawResponseDelayOverride((l_8d._f47)); inline Void SetLawResponseDelayOverride(float p0) { return _i(0xB45EFF719D8427A6,p0); } // 0xB45EFF719D8427A6 0xBF6993C7 b323 - // 2 matches in 1 script - am_hold_up + // 2 matches in 1 script - am_hold_up // // Used in multiplayer scripts? inline Void ResetLawResponseDelayOverride() { return _i(0x32A6DBA562C518); } // 0x32A6DBA562C518 0x47CAB814 b323 - // + // inline BOOL CanPlayerStartMission(Player player) { return _i(0xDE7465A27D403C06,player); } // 0xDE7465A27D403C06 0x39E3CB3F b323 - // + // inline BOOL IsPlayerReadyForCutscene(Player player) { return _i(0x908CBECC2CAA3690,player); } // 0x908CBECC2CAA3690 0xBB77E9CD b323 - // + // inline BOOL IsPlayerTargettingEntity(Player player, Entity entity) { return _i(0x7912F7FC4F6264B6,player, entity); } // 0x7912F7FC4F6264B6 0xF3240B77 b323 - // Assigns the handle of locked-on melee target to *entity that you pass it. + // Assigns the handle of locked-on melee target to *entity that you pass it. // Returns false if no entity found. inline BOOL GetPlayerTargetEntity(Player player, Entity* entity) { return _i(0x13EDE1A5DBF797C9,player, entity); } // 0x13EDE1A5DBF797C9 0xF6AAA2D7 b323 - // Gets a value indicating whether the specified player is currently aiming freely. + // Gets a value indicating whether the specified player is currently aiming freely. inline BOOL IsPlayerFreeAiming(Player player) { return _i(0x2E397FD2ECD37C87,player); } // 0x2E397FD2ECD37C87 0x1DEC67B7 b323 - // Gets a value indicating whether the specified player is currently aiming freely at the specified entity. + // Gets a value indicating whether the specified player is currently aiming freely at the specified entity. inline BOOL IsPlayerFreeAimingAtEntity(Player player, Entity entity) { return _i(0x3C06B5C839B38F7B,player, entity); } // 0x3C06B5C839B38F7B 0x7D80EEAA b323 - // 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 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. inline BOOL GetEntityPlayerIsFreeAimingAt(Player player, Entity* entity) { return _i(0x2975C866E6713290,player, entity); } // 0x2975C866E6713290 0x8866D9D0 b323 - // Affects the range of auto aim target. + // Affects the range of auto aim target. inline Void SetPlayerLockonRangeOverride(Player player, float range) { return _i(0x29961D490E5814FD,player, range); } // 0x29961D490E5814FD 0x74D42C03 b323 - // Set whether this player should be able to do drive-bys. + // 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." // inline Void SetPlayerCanDoDriveBy(Player player, BOOL toggle) { return _i(0x6E8834B52EC20C77,player, toggle); } // 0x6E8834B52EC20C77 0xF4D99685 b323 - // Sets whether this player can be hassled by gangs. + // Sets whether this player can be hassled by gangs. inline Void SetPlayerCanBeHassledByGangs(Player player, BOOL toggle) { return _i(0xD5E460AD7020A246,player, toggle); } // 0xD5E460AD7020A246 0x71B305BB b323 - // Sets whether this player can take cover. + // Sets whether this player can take cover. inline Void SetPlayerCanUseCover(Player player, BOOL toggle) { return _i(0xD465A8599DFF6814,player, toggle); } // 0xD465A8599DFF6814 0x13CAFAFA b323 - // Gets the maximum wanted level the player can get. + // Gets the maximum wanted level the player can get. // Ranges from 0 to 5. inline int GetMaxWantedLevel() { return _i(0x462E0DB9B137DC5F); } // 0x462E0DB9B137DC5F 0x457F1E44 b323 - // + // inline BOOL IsPlayerTargettingAnything(Player player) { return _i(0x78CFE51896B6B8A4,player); } // 0x78CFE51896B6B8A4 0x456DB50D b323 - // + // inline Void SetPlayerSprint(Player player, BOOL toggle) { return _i(0xA01B8075D8B92DF4,player, toggle); } // 0xA01B8075D8B92DF4 0x7DD7900C b323 - // + // inline Void ResetPlayerStamina(Player player) { return _i(0xA6F312FCCE9C1DFE,player); } // 0xA6F312FCCE9C1DFE 0xC0445A9C b323 - // + // inline Void RestorePlayerStamina(Player player, float p1) { return _i(0xA352C1B864CAFD33,player, p1); } // 0xA352C1B864CAFD33 0x62A93608 b323 - // + // inline float GetPlayerSprintStaminaRemaining(Player player) { return _i(0x3F9F16F8E65A7ED7,player); } // 0x3F9F16F8E65A7ED7 0x47017C90 b323 - // + // inline float GetPlayerSprintTimeRemaining(Player player) { return _i(0x1885BC9B108B4C99,player); } // 0x1885BC9B108B4C99 0x40E80543 b323 - // + // inline float GetPlayerUnderwaterTimeRemaining(Player player) { return _i(0xA1FCF8E6AF40B731,player); } // 0xA1FCF8E6AF40B731 0x1317125A b323 - // + // inline float SetPlayerUnderwaterBreathPercentRemaining(Player player, float time) { return _i(0xA0D3E4F7AAFB7E78,player, time); } // 0xA0D3E4F7AAFB7E78 b757 - // Returns the group ID the player is member of. + // Returns the group ID the player is member of. inline int GetPlayerGroup(Player player) { return _i(0xD127585F77030AF,player); } // 0xD127585F77030AF 0xA5EDCDE8 b323 - // + // inline int GetPlayerMaxArmour(Player player) { return _i(0x92659B4CE1863CB3,player); } // 0x92659B4CE1863CB3 0x02A50657 b323 - // Can the player control himself, used to disable controls for player for things like a cutscene. + // Can the player control himself, used to disable controls for player for things like a cutscene. // // --- // // You can't disable controls with this, use SetPlayerControl(...) for this. inline BOOL IsPlayerControlOn(Player player) { return _i(0x49C32D60007AFA47,player); } // 0x49C32D60007AFA47 0x618857F2 b323 - // 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. + // 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. inline BOOL GetAreCameraControlsDisabled() { return _i(0x7C814D2FB49F40C0); } // 0x7C814D2FB49F40C0 b323 - // + // inline BOOL IsPlayerScriptControlOn(Player player) { return _i(0x8A876A65283DD7D7,player); } // 0x8A876A65283DD7D7 0x61B00A84 b323 - // Returns TRUE if the player ('s ped) is climbing at the moment. + // Returns TRUE if the player ('s ped) is climbing at the moment. inline BOOL IsPlayerClimbing(Player player) { return _i(0x95E8F73DC65EFB9C,player); } // 0x95E8F73DC65EFB9C 0x4A9E9AE0 b323 - // Return true while player is being arrested / busted. + // 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. inline BOOL IsPlayerBeingArrested(Player player, BOOL atArresting) { return _i(0x388A47C51ABDAC8E,player, atArresting); } // 0x388A47C51ABDAC8E 0x7F6A60D3 b323 - // + // inline Void ResetPlayerArrestState(Player player) { return _i(0x2D03E13C460760D6,player); } // 0x2D03E13C460760D6 0x453C7CAB b323 - // Alternative: GetVehiclePedIsIn(PlayerPedId(), 1); + // Alternative: GetVehiclePedIsIn(PlayerPedId(), 1); inline Vehicle GetPlayersLastVehicle() { return _i(0xB6997A7EB3F5C8C0); } // 0xB6997A7EB3F5C8C0 0xE2757AC1 b323 - // Returns the same as PlayerId and NETWORK_PlayerId_TO_INT + // Returns the same as PlayerId and NETWORK_PlayerId_TO_INT inline Player GetPlayerIndex() { return _i(0xA5EDC40EF369B48D); } // 0xA5EDC40EF369B48D 0x309BBDC1 b323 - // Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). + // Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). inline Player IntToPlayerindex(int value) { return _i(0x41BD2A6B006AF756,value); } // 0x41BD2A6B006AF756 0x98DD98F1 b323 - // Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). + // Simply returns whatever is passed to it (Regardless of whether the handle is valid or not). // -------------------------------------------------------- // if (NETWORK::NetworkIsParticipantActive(PLAYER::IntToParticipantindex(i))) // inline int IntToParticipantindex(int value) { return _i(0x9EC6603812C24710,value); } // 0x9EC6603812C24710 0x98F3B274 b323 - // + // inline int GetTimeSincePlayerHitVehicle(Player player) { return _i(0x5D35ECF3A81A0EE0,player); } // 0x5D35ECF3A81A0EE0 0x6E9B8B9E b323 - // + // inline int GetTimeSincePlayerHitPed(Player player) { return _i(0xE36A25322DC35F42,player); } // 0xE36A25322DC35F42 0xB6209195 b323 - // + // inline int GetTimeSincePlayerDroveOnPavement(Player player) { return _i(0xD559D2BE9E37853B,player); } // 0xD559D2BE9E37853B 0x8836E732 b323 - // + // inline int GetTimeSincePlayerDroveAgainstTraffic(Player player) { return _i(0xDB89591E290D9182,player); } // 0xDB89591E290D9182 0x9F27D00E b323 - // + // inline BOOL IsPlayerFreeForAmbientTask(Player player) { return _i(0xDCCFD3F106C36AB4,player); } // 0xDCCFD3F106C36AB4 0x85C7E232 b323 - // This returns YOUR 'identity' as a Player type. + // This returns YOUR 'identity' as a Player type. // // Always returns 0 in story mode. inline Player PlayerId() { return _i(0x4F8644AF03D0E0D6); } // 0x4F8644AF03D0E0D6 0x8AEA886C b323 - // Returns current player ped + // Returns current player ped inline Ped PlayerPedId() { return _i(0xD80958FC74E988A6); } // 0xD80958FC74E988A6 0xFA92E226 b323 - // Does exactly the same thing as PlayerId() + // Does exactly the same thing as PlayerId() inline int NetworkPlayerIdToInt() { return _i(0xEE68096F9F37341E); } // 0xEE68096F9F37341E 0x8DD5B838 b323 - // + // inline BOOL HasForceCleanupOccurred(int cleanupFlags) { return _i(0xC968670BFACE42D9,cleanupFlags); } // 0xC968670BFACE42D9 0x4B37333C b323 - // used with 1,2,8,64,128 in the scripts + // used with 1,2,8,64,128 in the scripts inline Void ForceCleanup(int cleanupFlags) { return _i(0xBC8983F38F78ED51,cleanupFlags); } // 0xBC8983F38F78ED51 0xFDAAEA2B b323 - // PLAYER::ForceCleanup_FOR_ALL_THREADS_WITH_THIS_NAME("pb_prostitute", 1); // Found in decompilation - inline Void ForceCleanupForAllThreadsWithThisName(String name, int cleanupFlags) { return _i(0x4C68DDDDF0097317,name, cleanupFlags); } // 0x4C68DDDDF0097317 0x04256C73 b323 - // + // PLAYER::ForceCleanup_FOR_ALL_THREADS_WITH_THIS_NAME("pb_prostitute", 1); // Found in decompilation + inline Void ForceCleanupForAllThreadsWithThisName(const char* name, int cleanupFlags) { return _i(0x4C68DDDDF0097317,name, cleanupFlags); } // 0x4C68DDDDF0097317 0x04256C73 b323 + // inline Void ForceCleanupForThreadWithThisId(int id, int cleanupFlags) { return _i(0xF745B37630DF176B,id, cleanupFlags); } // 0xF745B37630DF176B 0x882D3EB3 b323 - // + // inline int GetCauseOfMostRecentForceCleanup() { return _i(0x9A41CF4674A12272); } // 0x9A41CF4674A12272 0x39AA9FC8 b323 - // + // inline Void SetPlayerMayOnlyEnterThisVehicle(Player player, Vehicle vehicle) { return _i(0x8026FF78F208978A,player, vehicle); } // 0x8026FF78F208978A 0xA454DD29 b323 - // + // inline Void SetPlayerMayNotEnterAnyVehicle(Player player) { return _i(0x1DE37BBF9E9CC14A,player); } // 0x1DE37BBF9E9CC14A 0xAF7AFCC4 b323 - // 1 - Welcome to Los Santos + // 1 - Welcome to Los Santos // 2 - A Friendship Resurrected // 3 - A Fair Day's Pay // 4 - The Moment of Truth @@ -14735,31 +14735,31 @@ namespace PLAYER // 76 - Elitist // 77 - Masterminds inline BOOL GiveAchievementToPlayer(int achievementId) { return _i(0xBEC7076D64130195,achievementId); } // 0xBEC7076D64130195 0x822BC992 b323 - // For Steam. + // For Steam. // Does nothing and always returns false in the retail version of the game. inline BOOL SetAchievementProgress(int achievementId, int progress) { return _i(0xC2AFFFDABBDC2C5C,achievementId, progress); } // 0xC2AFFFDABBDC2C5C b323 - // For Steam. + // For Steam. // Always returns 0 in retail version of the game. inline int GetAchievementProgress(int achievementId) { return _i(0x1C186837D0619335,achievementId); } // 0x1C186837D0619335 b323 - // See GiveAchievementToPlayer + // See GiveAchievementToPlayer inline BOOL HasAchievementBeenPassed(int achievementId) { return _i(0x867365E111A3B6EB,achievementId); } // 0x867365E111A3B6EB 0x136A5BE9 b323 - // Returns TRUE if the game is in online mode and FALSE if in offline mode. + // Returns TRUE if the game is in online mode and FALSE if in offline mode. // // This is an alias for NetworkIsSignedOnline. inline BOOL IsPlayerOnline() { return _i(0xF25D331DC2627BBC); } // 0xF25D331DC2627BBC 0x9FAB6729 b323 - // this function is hard-coded to always return 0. + // this function is hard-coded to always return 0. inline BOOL IsPlayerLoggingInNp() { return _i(0x74556E1420867ECA); } // 0x74556E1420867ECA 0x8F72FAD0 b323 - // Purpose of the BOOL currently unknown. + // Purpose of the BOOL currently unknown. // Both, true and false, work inline Void DisplaySystemSigninUi(BOOL p0) { return _i(0x94DD7888C10A979E,p0); } // 0x94DD7888C10A979E 0x4264CED2 b323 - // + // inline BOOL IsSystemUiBeingDisplayed() { return _i(0x5D511E3867C87139); } // 0x5D511E3867C87139 0xE495B6DA b323 - // Simply sets you as invincible (Health will not deplete). + // 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); inline Void SetPlayerInvincible(Player player, BOOL toggle) { return _i(0x239528EACDC3E7DE,player, toggle); } // 0x239528EACDC3E7DE 0xDFB9A2A2 b323 - // Returns the Player's Invincible status. + // 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: // @@ -14778,17 +14778,17 @@ namespace PLAYER // // inline BOOL GetPlayerInvincible(Player player) { return _i(0xB721981B2B939E07,player); } // 0xB721981B2B939E07 0x680C90EE b323 - // Always returns false. + // Always returns false. inline BOOL GetPlayerDebugInvincible(Player player) { return _i(0xDCC07526B8EC45AF,player); } // 0xDCC07526B8EC45AF b1868 - // + // inline Void SetPlayerInvincibleButHasReactions(Player player, BOOL toggle) { return _i(0x6BC97F4F4BB3C04B,player, toggle); } // 0x6BC97F4F4BB3C04B b463 - // + // inline Void SetPlayerCanCollectDroppedMoney(Player player, BOOL p1) { return _i(0xCAC57395B151135F,player, p1); } // 0xCAC57395B151135F 0x00563E0D b323 - // + // inline Void RemovePlayerHelmet(Player player, BOOL p2) { return _i(0xF3AC26D3CC576528,player, p2); } // 0xF3AC26D3CC576528 0x6255F3B4 b323 - // + // inline Void GivePlayerRagdollControl(Player player, BOOL toggle) { return _i(0x3C49C870E66F0A28,player, toggle); } // 0x3C49C870E66F0A28 0xC7B4D7AC b323 - // Example from fm_mission_controler.ysc.c4: + // Example from fm_mission_controler.ysc.c4: // // PLAYER::SetPlayerLockon(PLAYER::PlayerId(), 1); // @@ -14796,48 +14796,48 @@ namespace PLAYER // // No need to confirm it says PlayerId() so it uses PlayerId() lol. inline Void SetPlayerLockon(Player player, BOOL toggle) { return _i(0x5C8B2F450EE4328E,player, toggle); } // 0x5C8B2F450EE4328E 0x0B270E0F b323 - // Sets your targeting mode. + // Sets your targeting mode. // 0 = Assisted Aim - Full // 1 = Assisted Aim - Partial // 2 = Free Aim - Assisted // 3 = Free Aim inline Void SetPlayerTargetingMode(int targetMode) { return _i(0xB1906895227793F3,targetMode); } // 0xB1906895227793F3 0x61CAE253 b323 - // Returns targeting mode. See SetPlayerTargetingMode + // Returns targeting mode. See SetPlayerTargetingMode inline int GetPlayerTargetingMode() { return _i(0x875BDD898B99C8CE); } // 0x875BDD898B99C8CE b3095 - // + // inline Void SetPlayerTargetLevel(int targetLevel) { return _i(0x5702B917B99DB1CD,targetLevel); } // 0x5702B917B99DB1CD 0x772DA539 b323 - // Returns profile setting 237. + // Returns profile setting 237. inline BOOL GetIsUsingFpsThirdPersonCover() { return _i(0xB9CF1F793A9F1BF1); } // 0xB9CF1F793A9F1BF1 b323 - // Returns profile setting 243. + // Returns profile setting 243. inline BOOL GetIsUsingHoodCamera() { return _i(0xCB645E85E97EA48B); } // 0xCB645E85E97EA48B b372 - // + // inline Void ClearPlayerHasDamagedAtLeastOnePed(Player player) { return _i(0xF0B67A4DE6AB5F98,player); } // 0xF0B67A4DE6AB5F98 0x1D31CBBD b323 - // + // inline BOOL HasPlayerDamagedAtLeastOnePed(Player player) { return _i(0x20CE80B0C2BF4ACC,player); } // 0x20CE80B0C2BF4ACC 0x14F52453 b323 - // + // inline Void ClearPlayerHasDamagedAtLeastOneNonAnimalPed(Player player) { return _i(0x4AACB96203D11A31,player); } // 0x4AACB96203D11A31 0x7E3BFBC5 b323 - // + // inline BOOL HasPlayerDamagedAtLeastOneNonAnimalPed(Player player) { return _i(0xE4B90F367BD81752,player); } // 0xE4B90F367BD81752 0xA3707DFC b323 - // This can be between 1.0f - 14.9f + // 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. // // inline Void SetAirDragMultiplierForPlayersVehicle(Player player, float multiplier) { return _i(0xCA7DC8329F0A1E9E,player, multiplier); } // 0xCA7DC8329F0A1E9E 0xF20F72E5 b323 - // Swim speed multiplier. + // 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. inline Void SetSwimMultiplierForPlayer(Player player, float multiplier) { return _i(0xA91C6F0FF7D16A13,player, multiplier); } // 0xA91C6F0FF7D16A13 0xB986FF47 b323 - // 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. + // 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. inline Void SetRunSprintMultiplierForPlayer(Player player, float multiplier) { return _i(0x6DB47AA77FD94E09,player, multiplier); } // 0x6DB47AA77FD94E09 0x825423C2 b323 - // Returns the time since the character was arrested in (ms) milliseconds. + // Returns the time since the character was arrested in (ms) milliseconds. // // example // @@ -14847,7 +14847,7 @@ namespace PLAYER // // if player has not been arrested, the int returned will be -1. inline int GetTimeSinceLastArrest() { return _i(0x5063F92F07C2A316); } // 0x5063F92F07C2A316 0x62824EF4 b323 - // Returns the time since the character died in (ms) milliseconds. + // Returns the time since the character died in (ms) milliseconds. // // example // @@ -14857,128 +14857,128 @@ namespace PLAYER // // if player has not died, the int returned will be -1. inline int GetTimeSinceLastDeath() { return _i(0xC7034807558DDFCA); } // 0xC7034807558DDFCA 0x24BC5AC0 b323 - // + // inline Void AssistedMovementCloseRoute() { return _i(0xAEBF081FFC0A0E5E); } // 0xAEBF081FFC0A0E5E 0xF23277F3 b323 - // + // inline Void AssistedMovementFlushRoute() { return _i(0x8621390F0CDCFE1F); } // 0x8621390F0CDCFE1F 0xD04568B9 b323 - // + // inline Void SetPlayerForcedAim(Player player, BOOL toggle) { return _i(0xFEE4F80AC44A726,player, toggle); } // 0xFEE4F80AC44A726 0x94E42E2E b323 - // + // inline Void SetPlayerForcedZoom(Player player, BOOL toggle) { return _i(0x75E7D505F2B15902,player, toggle); } // 0x75E7D505F2B15902 0xB0C576CB b323 - // + // inline Void SetPlayerForceSkipAimIntro(Player player, BOOL toggle) { return _i(0x7651BC64AE59E128,player, toggle); } // 0x7651BC64AE59E128 0x374F42F0 b323 - // Inhibits the player from using any method of combat including melee and firearms. + // Inhibits the player from using any method of combat including melee and firearms. // // NOTE: Only disables the firing for one frame inline Void DisablePlayerFiring(Player player, BOOL toggle) { return _i(0x5E6CC07646BBEAB8,player, toggle); } // 0x5E6CC07646BBEAB8 0x30CB28CB b323 - // Used only once in R* scripts (freemode.ysc). + // Used only once in R* scripts (freemode.ysc). inline Void DisablePlayerThrowGrenadeWhileUsingGun() { return _i(0xB885852C39CC265D); } // 0xB885852C39CC265D b323 - // + // inline Void SetDisableAmbientMeleeMove(Player player, BOOL toggle) { return _i(0x2E8AABFA40A84F8C,player, toggle); } // 0x2E8AABFA40A84F8C 0xCCD937E7 b323 - // Default is 100. Use player id and not ped id. For instance: PLAYER::SetPlayerMaxArmour(PLAYER::PlayerId(), 100); // main_persistent.ct4 + // Default is 100. Use player id and not ped id. For instance: PLAYER::SetPlayerMaxArmour(PLAYER::PlayerId(), 100); // main_persistent.ct4 inline Void SetPlayerMaxArmour(Player player, int value) { return _i(0x77DFCCF5948B8C71,player, value); } // 0x77DFCCF5948B8C71 0xC6C3C53B b323 - // p1 is always 0 in the scripts + // p1 is always 0 in the scripts inline Void SpecialAbilityActivate(Player player, int p1) { return _i(0x821FDC827D6F4090,player, p1); } // 0x821FDC827D6F4090 b678 - // + // inline Void SetSpecialAbilityMp(Player player, int p1, Any p2) { return _i(0xB214D570EAD7F81A,player, p1, p2); } // 0xB214D570EAD7F81A b678 - // p1 is always 0 in the scripts + // p1 is always 0 in the scripts inline Void SpecialAbilityDeactivateMp(Player player, int p1) { return _i(0x17F7471EACA78290,player, p1); } // 0x17F7471EACA78290 b678 - // + // inline Void SpecialAbilityDeactivate(Player player, Any p1) { return _i(0xD6A953C6D1492057,player, p1); } // 0xD6A953C6D1492057 0x80C2AB09 b323 - // + // inline Void SpecialAbilityDeactivateFast(Player player, Any p1) { return _i(0x9CB5CE07A3968D5A,player, p1); } // 0x9CB5CE07A3968D5A 0x0751908A b323 - // + // inline Void SpecialAbilityReset(Player player, Any p1) { return _i(0x375F0E738F861A94,player, p1); } // 0x375F0E738F861A94 0xA7D8BCD3 b323 - // + // inline Void SpecialAbilityChargeOnMissionFailed(Player player, Any p1) { return _i(0xC9A763D8FE87436A,player, p1); } // 0xC9A763D8FE87436A 0x4136829A b323 - // Every occurrence of p1 & p2 were both true. + // Every occurrence of p1 & p2 were both true. inline Void SpecialAbilityChargeSmall(Player player, BOOL p1, BOOL p2, Any p3) { return _i(0x2E7B9B683481687D,player, p1, p2, p3); } // 0x2E7B9B683481687D 0x6F463F56 b323 - // Only 1 match. Both p1 & p2 were true. + // Only 1 match. Both p1 & p2 were true. inline Void SpecialAbilityChargeMedium(Player player, BOOL p1, BOOL p2, Any p3) { return _i(0xF113E3AA9BC54613,player, p1, p2, p3); } // 0xF113E3AA9BC54613 0xAB55D8F3 b323 - // 2 matches. p1 was always true. + // 2 matches. p1 was always true. inline Void SpecialAbilityChargeLarge(Player player, BOOL p1, BOOL p2, Any p3) { return _i(0xF733F45FA4497D93,player, p1, p2, p3); } // 0xF733F45FA4497D93 0xF440C04D b323 - // p1 appears to always be 1 (only comes up twice) + // p1 appears to always be 1 (only comes up twice) inline Void SpecialAbilityChargeContinuous(Player player, Ped p1, Any p2) { return _i(0xED481732DFF7E997,player, p1, p2); } // 0xED481732DFF7E997 0x5FEE98A2 b323 - // p1 appears as 5, 10, 15, 25, or 30. p2 is always true. + // p1 appears as 5, 10, 15, 25, or 30. p2 is always true. inline Void SpecialAbilityChargeAbsolute(Player player, int p1, BOOL p2, Any p3) { return _i(0xB7B0870EB531D08D,player, p1, p2, p3); } // 0xB7B0870EB531D08D 0x72429998 b323 - // + // // normalizedValue is from 0.0 - 1.0 // p2 is always 1 inline Void SpecialAbilityChargeNormalized(Player player, float normalizedValue, BOOL p2, Any p3) { return _i(0xA0696A65F009EE18,player, normalizedValue, p2, p3); } // 0xA0696A65F009EE18 0x8C7E68C1 b323 - // Also known as _RECHARGE_SPECIAL_ABILITY + // Also known as _RECHARGE_SPECIAL_ABILITY inline Void SpecialAbilityFillMeter(Player player, BOOL p1, Any p2) { return _i(0x3DACA8DDC6FD4980,player, p1, p2); } // 0x3DACA8DDC6FD4980 0xB71589DA b323 - // p1 was always true. + // p1 was always true. inline Void SpecialAbilityDepleteMeter(Player player, BOOL p1, Any p2) { return _i(0x1D506DBBBC51E64B,player, p1, p2); } // 0x1D506DBBBC51E64B 0x9F80F6DF b323 - // + // inline Void SpecialAbilityLock(Hash playerModel, Any p1) { return _i(0x6A09D0D590A47D13,playerModel, p1); } // 0x6A09D0D590A47D13 0x1B7BB388 b323 - // + // inline Void SpecialAbilityUnlock(Hash playerModel, Any p1) { return _i(0xF145F3BE2EFA9A3B,playerModel, p1); } // 0xF145F3BE2EFA9A3B 0x1FDB2919 b323 - // + // inline BOOL IsSpecialAbilityUnlocked(Hash playerModel) { return _i(0xC6017F6A6CDFA694,playerModel); } // 0xC6017F6A6CDFA694 0xC9C75E82 b323 - // + // inline BOOL IsSpecialAbilityActive(Player player, Any p1) { return _i(0x3E5F7FC85D854E15,player, p1); } // 0x3E5F7FC85D854E15 0x1B17E334 b323 - // + // inline BOOL IsSpecialAbilityMeterFull(Player player, Any p1) { return _i(0x5A1FE504B7F2587,player, p1); } // 0x5A1FE504B7F2587 0x2E19D7F6 b323 - // + // inline Void EnableSpecialAbility(Player player, BOOL toggle, Any p2) { return _i(0x181EC197DAEFE121,player, toggle, p2); } // 0x181EC197DAEFE121 0xC86C1B4E b323 - // + // inline BOOL IsSpecialAbilityEnabled(Player player, Any p1) { return _i(0xB1D200FE26AEF3CB,player, p1); } // 0xB1D200FE26AEF3CB 0xC01238CC b323 - // + // inline Void SetSpecialAbilityMultiplier(float multiplier) { return _i(0xA49C426ED0CA4AB7,multiplier); } // 0xA49C426ED0CA4AB7 0xFF1BC556 b323 - // + // inline Void UpdateSpecialAbilityFromStat(Player player, Any p1) { return _i(0xFFEE8FA29AB9A18E,player, p1); } // 0xFFEE8FA29AB9A18E 0x5D0FE25B b323 - // Appears once in "re_dealgonewrong" + // Appears once in "re_dealgonewrong" inline BOOL GetIsPlayerDrivingOnHighway(Player player) { return _i(0x5FC472C501CCADB3,player); } // 0x5FC472C501CCADB3 0x46E7E31D b323 - // Only 1 occurrence. p1 was 2. + // Only 1 occurrence. p1 was 2. inline BOOL GetIsPlayerDrivingWreckless(Player player, int p1) { return _i(0xF10B44FD479D69F3,player, p1); } // 0xF10B44FD479D69F3 0x1E359CC8 b323 - // 2 occurrences in agency_heist3a. p1 was 0.7f then 0.4f. + // 2 occurrences in agency_heist3a. p1 was 0.7f then 0.4f. inline BOOL GetIsMoppingAreaFreeInFrontOfPlayer(Player player, float p1) { return _i(0xDD2620B7B9D16FF1,player, p1); } // 0xDD2620B7B9D16FF1 0x8CB53C9F b323 - // `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. + // `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. inline Void StartPlayerTeleport(Player player, float x, float y, float z, float heading, BOOL p5, BOOL findCollisionLand, BOOL p7) { return _i(0xAD15F075A4DA0FDE,player, x, y, z, heading, p5, findCollisionLand, p7); } // 0xAD15F075A4DA0FDE 0xC552E06C b323 - // + // inline BOOL UpdatePlayerTeleport(Player player) { return _i(0xE23D5873C2394C61,player); } // 0xE23D5873C2394C61 b323 - // Disables the player's teleportation + // Disables the player's teleportation inline Void StopPlayerTeleport() { return _i(0xC449EDED9D73009C); } // 0xC449EDED9D73009C 0x86AB8DBB b323 - // + // inline BOOL IsPlayerTeleportActive() { return _i(0x2B15662D7F8886F); } // 0x2B15662D7F8886F 0x3A11D118 b323 - // + // inline float GetPlayerCurrentStealthNoise(Player player) { return _i(0x2F395D61F3A1F877,player); } // 0x2F395D61F3A1F877 0xC3B02362 b323 - // `regenRate`: The recharge multiplier, a value between 0.0 and 1.0. + // `regenRate`: The recharge multiplier, a value between 0.0 and 1.0. // Use 1.0 to reset it back to normal inline Void SetPlayerHealthRechargeMultiplier(Player player, float regenRate) { return _i(0x5DB660B38DD98A31,player, regenRate); } // 0x5DB660B38DD98A31 0x45514731 b323 - // + // inline float GetPlayerHealthRechargeMaxPercent(Player player) { return _i(0x8BC515BAE4AAF8FF,player); } // 0x8BC515BAE4AAF8FF b617 - // + // inline Void SetPlayerHealthRechargeMaxPercent(Player player, float limit) { return _i(0xC388A0F065F5BC34,player, limit); } // 0xC388A0F065F5BC34 b573 - // Needs to be called every frame. + // Needs to be called every frame. inline Void DisablePlayerHealthRecharge(Player player) { return _i(0xBCB06442F7E52666,player); } // 0xBCB06442F7E52666 b2802 - // + // inline Void SetPlayerFallDistanceToTriggerRagdollOverride(Player player, float p1) { return _i(0xEFD79FA81DFBA9CB,player, p1); } // 0xEFD79FA81DFBA9CB b573 - // This modifies the damage value of your weapon. Whether it is a multiplier or base damage is unknown. + // 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 inline Void SetPlayerWeaponDamageModifier(Player player, float modifier) { return _i(0xCE07B9F7817AADA3,player, modifier); } // 0xCE07B9F7817AADA3 0xB02C2F39 b323 - // modifier's min value is 0.1 + // modifier's min value is 0.1 inline Void SetPlayerWeaponDefenseModifier(Player player, float modifier) { return _i(0x2D83BC011CA14A3C,player, modifier); } // 0x2D83BC011CA14A3C 0xAE446344 b323 - // modifier's min value is 0.1 + // modifier's min value is 0.1 inline Void SetPlayerWeaponMinigunDefenseModifier(Player player, float modifier) { return _i(0xBCFDE9EDE4CF27DC,player, modifier); } // 0xBCFDE9EDE4CF27DC b944 - // modifier's min value is 0.1 + // modifier's min value is 0.1 inline Void SetPlayerMeleeWeaponDamageModifier(Player player, float modifier, BOOL p2) { return _i(0x4A3DC7ECCC321032,player, modifier, p2); } // 0x4A3DC7ECCC321032 0x362E69AD b323 - // modifier's min value is 0.1 + // modifier's min value is 0.1 inline Void SetPlayerMeleeWeaponDefenseModifier(Player player, float modifier) { return _i(0xAE540335B4ABC4E2,player, modifier); } // 0xAE540335B4ABC4E2 0x9F3D577F b323 - // modifier's min value is 0.1 + // modifier's min value is 0.1 inline Void SetPlayerVehicleDamageModifier(Player player, float modifier) { return _i(0xA50E117CDDF82F0C,player, modifier); } // 0xA50E117CDDF82F0C 0x823ECA63 b323 - // modifier's min value is 0.1 + // modifier's min value is 0.1 inline Void SetPlayerVehicleDefenseModifier(Player player, float modifier) { return _i(0x4C60E6EFDAFF2462,player, modifier); } // 0x4C60E6EFDAFF2462 0xA16626C7 b323 - // + // inline Void SetPlayerMaxExplosiveDamage(Player player, float p1) { return _i(0x8D768602ADEF2245,player, p1); } // 0x8D768602ADEF2245 b463 - // + // inline Void SetPlayerExplosiveDamageModifier(Player player, Any p1) { return _i(0xD821056B9ACF8052,player, p1); } // 0xD821056B9ACF8052 b1011 - // + // inline Void SetPlayerWeaponTakedownDefenseModifier(Player player, float p1) { return _i(0x31E90B8873A4CD3B,player, p1); } // 0x31E90B8873A4CD3B b617 - // Tints: + // Tints: // None = -1, // Rainbow = 0, // Red = 1, @@ -14996,7 +14996,7 @@ namespace PLAYER // Sunrise = 13, // inline Void SetPlayerParachuteTintIndex(Player player, int tintIndex) { return _i(0xA3D0E54541D9A5E5,player, tintIndex); } // 0xA3D0E54541D9A5E5 0x8EA12EDB b323 - // Tints: + // Tints: // None = -1, // Rainbow = 0, // Red = 1, @@ -15013,7 +15013,7 @@ namespace PLAYER // Airbone = 12, // Sunrise = 13, inline Void GetPlayerParachuteTintIndex(Player player, int* tintIndex) { return _i(0x75D3F7A1B0D9B145,player, tintIndex); } // 0x75D3F7A1B0D9B145 0x432B0509 b323 - // Tints: + // Tints: // None = -1, // Rainbow = 0, // Red = 1, @@ -15030,7 +15030,7 @@ namespace PLAYER // Airbone = 12, // Sunrise = 13, inline Void SetPlayerReserveParachuteTintIndex(Player player, int index) { return _i(0xAF04C87F5DC1DF38,player, index); } // 0xAF04C87F5DC1DF38 0x70689638 b323 - // Tints: + // Tints: // None = -1, // Rainbow = 0, // Red = 1, @@ -15047,26 +15047,26 @@ namespace PLAYER // Airbone = 12, // Sunrise = 13, inline Void GetPlayerReserveParachuteTintIndex(Player player, int* index) { return _i(0xD5A016BC3C09CF40,player, index); } // 0xD5A016BC3C09CF40 0x77B8EF01 b323 - // tints 0- 13 + // tints 0- 13 // 0 - unkown // 1 - unkown // 2 - unkown // 3 - unkown // 4 - unkown inline Void SetPlayerParachutePackTintIndex(Player player, int tintIndex) { return _i(0x93B0FB27C9A04060,player, tintIndex); } // 0x93B0FB27C9A04060 0xD79D5D1B b323 - // + // inline Void GetPlayerParachutePackTintIndex(Player player, int* tintIndex) { return _i(0x6E9C742F340CE5A2,player, tintIndex); } // 0x6E9C742F340CE5A2 0x4E418E13 b323 - // + // inline Void SetPlayerHasReserveParachute(Player player) { return _i(0x7DDAB28D31FAC363,player); } // 0x7DDAB28D31FAC363 0xA3E4798E b323 - // + // inline BOOL GetPlayerHasReserveParachute(Player player) { return _i(0x5DDFE2FF727F3CA3,player); } // 0x5DDFE2FF727F3CA3 0x30DA1DA1 b323 - // + // inline Void SetPlayerCanLeaveParachuteSmokeTrail(Player player, BOOL enabled) { return _i(0xF401B182DBA8AF53,player, enabled); } // 0xF401B182DBA8AF53 0x832DEB7A b323 - // + // inline Void SetPlayerParachuteSmokeTrailColor(Player player, int r, int g, int b) { return _i(0x8217FD371A4625CF,player, r, g, b); } // 0x8217FD371A4625CF 0x14FE9264 b323 - // + // inline Void GetPlayerParachuteSmokeTrailColor(Player player, int* r, int* g, int* b) { return _i(0xEF56DBABD3CD4887,player, r, g, b); } // 0xEF56DBABD3CD4887 0xF66E5CDD b323 - // example: + // example: // // flags: 0-6 // @@ -15074,13 +15074,13 @@ namespace PLAYER // // wouldnt the flag be the seatIndex? inline Void SetPlayerPhonePaletteIdx(Player player, int flags) { return _i(0x11D5F725F0E780E0,player, flags); } // 0x11D5F725F0E780E0 b323 - // + // inline Void SetPlayerNoiseMultiplier(Player player, float multiplier) { return _i(0xDB89EF50FF25FCE9,player, multiplier); } // 0xDB89EF50FF25FCE9 0x15786DD1 b323 - // Values around 1.0f to 2.0f used in game scripts. + // Values around 1.0f to 2.0f used in game scripts. inline Void SetPlayerSneakingNoiseMultiplier(Player player, float multiplier) { return _i(0xB2C1A29588A9F47C,player, multiplier); } // 0xB2C1A29588A9F47C 0x8D2D89C4 b323 - // + // inline BOOL CanPedHearPlayer(Player player, Ped ped) { return _i(0xF297383AA91DCA29,player, ped); } // 0xF297383AA91DCA29 0x1C70B2EB b323 - // This is to make the player walk without accepting input from INPUT. + // This is to make the player walk without accepting input from INPUT. // // gaitType is in increments of 100s. 2000, 500, 300, 200, etc. // @@ -15090,307 +15090,307 @@ namespace PLAYER // // Function.Call(Hash.SimulatePlayerInputGait, Game.Player, 1.0f, 100, 1.0f, 1, 0); //Player will go forward for 100ms inline Void SimulatePlayerInputGait(Player player, float amount, int gaitType, float speed, BOOL p4, BOOL p5, Any p6) { return _i(0x477D5D63E63ECA5D,player, amount, gaitType, speed, p4, p5, p6); } // 0x477D5D63E63ECA5D 0x0D77CC34 b323 - // + // inline Void ResetPlayerInputGait(Player player) { return _i(0x19531C47A2ABD691,player); } // 0x19531C47A2ABD691 0x4A701EE1 b323 - // + // inline Void SetAutoGiveParachuteWhenEnterPlane(Player player, BOOL toggle) { return _i(0x9F343285A00B4BB6,player, toggle); } // 0x9F343285A00B4BB6 0xA97C2059 b323 - // + // inline Void SetAutoGiveScubaGearWhenExitVehicle(Player player, BOOL toggle) { return _i(0xD2B315B6689D537D,player, toggle); } // 0xD2B315B6689D537D 0xA25D767E b323 - // + // inline Void SetPlayerStealthPerceptionModifier(Player player, float value) { return _i(0x4E9021C1FCDD507A,player, value); } // 0x4E9021C1FCDD507A 0x3D26105F b323 - // + // inline BOOL IsRemotePlayerInNonClonedVehicle(Player player) { return _i(0x690A61A6D13583F6,player); } // 0x690A61A6D13583F6 0x1D371529 b323 - // + // inline Void IncreasePlayerJumpSuppressionRange(Player player) { return _i(0x9EDD76E87D5D51BA,player); } // 0x9EDD76E87D5D51BA 0xE30A64DC b323 - // + // inline Void SetPlayerSimulateAiming(Player player, BOOL toggle) { return _i(0xC54C95DA968EC5B5,player, toggle); } // 0xC54C95DA968EC5B5 0xF1E0CAFC b323 - // + // inline Void SetPlayerClothPinFrames(Player player, int p1) { return _i(0x749FADDF97DFE930,player, p1); } // 0x749FADDF97DFE930 0xF7A0F00F b323 - // Every occurrence was either 0 or 2. + // Every occurrence was either 0 or 2. inline Void SetPlayerClothPackageIndex(int index) { return _i(0x9F7BBA2EA6372500,index); } // 0x9F7BBA2EA6372500 0xB8209F16 b323 - // 6 matches across 4 scripts. 5 occurrences were 240. The other was 255. + // 6 matches across 4 scripts. 5 occurrences were 240. The other was 255. inline Void SetPlayerClothLockCounter(int value) { return _i(0x14D913B777DFF5DA,value); } // 0x14D913B777DFF5DA 0x8D9FD4D1 b323 - // Only 1 match. ob_sofa_michael. + // Only 1 match. ob_sofa_michael. // // PLAYER::PlayerAttachVirtualBound(-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; inline Void PlayerAttachVirtualBound(float p0, float p1, float p2, float p3, float p4, float p5, float p6, float p7) { return _i(0xED51733DC73AED51,p0, p1, p2, p3, p4, p5, p6, p7); } // 0xED51733DC73AED51 0xECD12E60 b323 - // 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; + // 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; inline Void PlayerDetachVirtualBound() { return _i(0x1DD5897E2FA6E7C9); } // 0x1DD5897E2FA6E7C9 0x96100EA4 b323 - // + // inline BOOL HasPlayerBeenSpottedInStolenVehicle(Player player) { return _i(0xD705740BB0A1CF4C,player); } // 0xD705740BB0A1CF4C 0x4A01B76A b323 - // Returns true if an unk value is greater than 0.0f + // Returns true if an unk value is greater than 0.0f inline BOOL IsPlayerBattleAware(Player player) { return _i(0x38D28DA81E4E9BF9,player); } // 0x38D28DA81E4E9BF9 0x013B4F72 b323 - // + // inline BOOL GetPlayerReceivedBattleEventRecently(Player player, int p1, BOOL p2) { return _i(0xBC0753C9CA14B506,player, p1, p2); } // 0xBC0753C9CA14B506 0x9DF75B2A b323 - // Appears only 3 times in the scripts, more specifically in michael1.ysc + // 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" inline Void ExtendWorldBoundaryForPlayer(float x, float y, float z) { return _i(0x5006D96C995A5827,x, y, z); } // 0x5006D96C995A5827 0x64DDB07D b323 - // + // inline Void ResetWorldBoundaryForPlayer() { return _i(0xDA1DF03D5A315F4E); } // 0xDA1DF03D5A315F4E 0xA97C2F6C b323 - // Returns true if the player is riding a train. + // Returns true if the player is riding a train. inline BOOL IsPlayerRidingTrain(Player player) { return _i(0x4EC12697209F2196,player); } // 0x4EC12697209F2196 0x9765E71D b323 - // + // inline BOOL HasPlayerLeftTheWorld(Player player) { return _i(0xD55DDFB47991A294,player); } // 0xD55DDFB47991A294 0xFEA40B6C b323 - // + // inline Void SetPlayerLeavePedBehind(Player player, BOOL toggle) { return _i(0xFF300C7649724A0B,player, toggle); } // 0xFF300C7649724A0B 0xAD8383FA b323 - // p1 was always 5. + // p1 was always 5. // p4 was always false. inline Void SetPlayerParachuteVariationOverride(Player player, int p1, Any p2, Any p3, BOOL p4) { return _i(0xD9284A8C0D48352C,player, p1, p2, p3, p4); } // 0xD9284A8C0D48352C 0x9254249D b323 - // + // inline Void ClearPlayerParachuteVariationOverride(Player player) { return _i(0xF4CC924CF8C7B21,player); } // 0xF4CC924CF8C7B21 0xFD60F5AB b323 - // + // inline Void SetPlayerParachuteModelOverride(Player player, Hash model) { return _i(0x977DB4641F6FC3DB,player, model); } // 0x977DB4641F6FC3DB 0x5D382498 b323 - // + // inline Void SetPlayerReserveParachuteModelOverride(Player player, Hash model) { return _i(0x764486AEDE748DB,player, model); } // 0x764486AEDE748DB b2372 - // + // inline Hash GetPlayerParachuteModelOverride(Player player) { return _i(0xC219887CA3E65C41,player); } // 0xC219887CA3E65C41 b2372 - // + // inline Hash GetPlayerReserveParachuteModelOverride(Player player) { return _i(0x37FAAA68DCA9D08D,player); } // 0x37FAAA68DCA9D08D b2372 - // + // inline Void ClearPlayerParachuteModelOverride(Player player) { return _i(0x8753997EB5F6EE3F,player); } // 0x8753997EB5F6EE3F 0x6FF034BB b323 - // + // inline Void ClearPlayerReserveParachuteModelOverride(Player player) { return _i(0x290D248E25815AE8,player); } // 0x290D248E25815AE8 b2372 - // + // inline Void SetPlayerParachutePackModelOverride(Player player, Hash model) { return _i(0xDC80A4C2F18A2B64,player, model); } // 0xDC80A4C2F18A2B64 0xA877FF5E b323 - // + // inline Void ClearPlayerParachutePackModelOverride(Player player) { return _i(0x10C54E4389C12B42,player); } // 0x10C54E4389C12B42 0xBB62AAC5 b323 - // + // inline Void DisablePlayerVehicleRewards(Player player) { return _i(0xC142BE3BB9CE125F,player); } // 0xC142BE3BB9CE125F 0x8C6E611D b323 - // + // inline Void SetPlayerSpectatedVehicleRadioOverride(BOOL p0) { return _i(0x2F7CEB6520288061,p0); } // 0x2F7CEB6520288061 0x2849D4B2 b323 - // + // inline Void SetPlayerBluetoothState(Player player, BOOL state) { return _i(0x5DC40A8869C22141,player, state); } // 0x5DC40A8869C22141 0x7A6B0EF8 b323 - // + // inline BOOL IsPlayerBluetoothEnable(Player player) { return _i(0x65FAEE425DE637B0,player); } // 0x65FAEE425DE637B0 0xEA01BD4A b323 - // + // inline Void DisableCameraViewModeCycle(Player player) { return _i(0x5501B7A5CDB79D37,player); } // 0x5501B7A5CDB79D37 b323 - // + // inline int GetPlayerFakeWantedLevel(Player player) { return _i(0x56105E599CAB0EFA,player); } // 0x56105E599CAB0EFA 0x0098D244 b323 - // + // inline Void SetPlayerCanDamagePlayer(Player player1, Player player2, BOOL toggle) { return _i(0x55FCC0C390620314,player1, player2, toggle); } // 0x55FCC0C390620314 b573 - // + // inline Void SetApplyWaypointOfPlayer(Player player, int hudColor) { return _i(0x2382AB11450AE7BA,player, hudColor); } // 0x2382AB11450AE7BA b877 - // + // inline BOOL IsPlayerVehicleWeaponToggledToNonHoming(Any p0) { return _i(0x6E4361FF3E8CD7CA,p0); } // 0x6E4361FF3E8CD7CA b1011 - // Unsets playerPed+330 if the current weapon has certain flags. + // Unsets playerPed+330 if the current weapon has certain flags. inline Void SetPlayerVehicleWeaponToNonHoming(Any p0) { return _i(0x237440E46D918649,p0); } // 0x237440E46D918649 b1290 - // + // inline Void SetPlayerHomingDisabledForAllVehicleWeapons(Any p0, Any p1) { return _i(0xEE4EBDD2593BA844,p0, p1); } // 0xEE4EBDD2593BA844 b1180 - // + // inline Void AddPlayerTargetableEntity(Player player, Entity entity) { return _i(0x9097EB6D4BB9A12A,player, entity); } // 0x9097EB6D4BB9A12A b1868 - // + // inline Void RemovePlayerTargetableEntity(Player player, Entity entity) { return _i(0x9F260BFB59ADBCA3,player, entity); } // 0x9F260BFB59ADBCA3 b1868 - // + // inline Void SetPlayerPreviousVariationData(Player player, int p1, int p2, Any p3, Any p4, Any p5) { return _i(0x7BAE68775557AE0B,player, p1, p2, p3, p4, p5); } // 0x7BAE68775557AE0B b1290 - // Resets values set by SetScriptFirePosition + // Resets values set by SetScriptFirePosition inline Void RemoveScriptFirePosition() { return _i(0x7148E0F43D11F0D9); } // 0x7148E0F43D11F0D9 b1604 - // + // inline Void SetScriptFirePosition(float coordX, float coordY, float coordZ) { return _i(0x70A382ADEC069DD3,coordX, coordY, coordZ); } // 0x70A382ADEC069DD3 b1604 } namespace RECORDING { - // + // inline Void ReplayStartEvent(int p0) { return _i(0x48621C9FCA3EBD28,p0); } // 0x48621C9FCA3EBD28 b323 - // + // inline Void ReplayStopEvent() { return _i(0x81CBAE94390F9F89); } // 0x81CBAE94390F9F89 b323 - // + // inline Void ReplayCancelEvent() { return _i(0x13B350B8AD0EEE10); } // 0x13B350B8AD0EEE10 b323 - // + // inline Void ReplayRecordBackForTime(float p0, float p1, int p2) { return _i(0x293220DA1B46CEBC,p0, p1, p2); } // 0x293220DA1B46CEBC b323 - // -This function appears to be deprecated/ unused. Tracing the call internally leads to a _nullsub - + // -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. // - inline Void ReplayCheckForEventThisFrame(String missionNameLabel, Any p1) { return _i(0x208784099002BC30,missionNameLabel, p1); } // 0x208784099002BC30 b323 - // This disable the recording feature and has to be called every frame. + inline Void ReplayCheckForEventThisFrame(const char* missionNameLabel, Any p1) { return _i(0x208784099002BC30,missionNameLabel, p1); } // 0x208784099002BC30 b323 + // This disable the recording feature and has to be called every frame. inline Void ReplayPreventRecordingThisFrame() { return _i(0xEB2D525B57F42B40); } // 0xEB2D525B57F42B40 b323 - // + // inline Void ReplayResetEventInfo() { return _i(0xF854439EFBB3B583); } // 0xF854439EFBB3B583 b323 - // This will disable the ability to make camera changes in R* Editor. + // This will disable the ability to make camera changes in R* Editor. inline Void ReplayDisableCameraMovementThisFrame() { return _i(0xAF66DCEE6609B148); } // 0xAF66DCEE6609B148 b323 - // Does nothing (it's a nullsub). + // Does nothing (it's a nullsub). inline Void RecordGreatestMoment(int p0, int p1, int p2) { return _i(0x66972397E0757E7A,p0, p1, p2); } // 0x66972397E0757E7A b323 - // Starts recording a replay. + // 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. inline Void StartReplayRecording(int mode) { return _i(0xC3AC2FFF9612AC81,mode); } // 0xC3AC2FFF9612AC81 b323 - // Stops recording and saves the recorded clip. + // Stops recording and saves the recorded clip. inline Void StopReplayRecording() { return _i(0x71A5197D6AFC8B3); } // 0x71A5197D6AFC8B3 b323 - // Stops recording and discards the recorded clip. + // Stops recording and discards the recorded clip. inline Void CancelReplayRecording() { return _i(0x88BB3507ED41A240); } // 0x88BB3507ED41A240 b323 - // + // inline BOOL SaveReplayRecording() { return _i(0x644546EC5287471B); } // 0x644546EC5287471B b323 - // Checks if you're recording, returns TRUE when you start recording (F1) or turn on action replay (F2) + // 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 inline BOOL IsReplayRecording() { return _i(0x1897CA71995A90B4); } // 0x1897CA71995A90B4 b323 - // + // inline BOOL IsReplayInitialized() { return _i(0xDF4B952F7D381B95); } // 0xDF4B952F7D381B95 b323 - // + // inline BOOL IsReplayAvailable() { return _i(0x4282E08174868BE3); } // 0x4282E08174868BE3 b323 - // + // inline BOOL IsReplayRecordSpaceAvailable(BOOL p0) { return _i(0x33D47E85B476ABCD,p0); } // 0x33D47E85B476ABCD b323 } namespace REPLAY { - // Does nothing (it's a nullsub). - inline Void RegisterEffectForReplayEditor(String p0, BOOL p1) { return _i(0x7E2BD3EF6C205F09,p0, p1); } // 0x7E2BD3EF6C205F09 b323 - // Returns a bool if interior rendering is disabled, if yes, all "normal" rendered interiors are invisible + // Does nothing (it's a nullsub). + inline Void RegisterEffectForReplayEditor(const char* p0, BOOL p1) { return _i(0x7E2BD3EF6C205F09,p0, p1); } // 0x7E2BD3EF6C205F09 b323 + // Returns a bool if interior rendering is disabled, if yes, all "normal" rendered interiors are invisible inline BOOL ReplaySystemHasRequestedAScriptCleanup() { return _i(0x95AB8B5C992C7B58); } // 0x95AB8B5C992C7B58 b323 - // Disables some other rendering (internal) + // Disables some other rendering (internal) inline Void SetScriptsHaveCleanedUpForReplaySystem() { return _i(0x5AD3932DAEB1E5D3); } // 0x5AD3932DAEB1E5D3 b323 - // + // inline Void SetReplaySystemPausedForSave(BOOL p0) { return _i(0xE058175F8EAFE79A,p0); } // 0xE058175F8EAFE79A b323 - // Sets (almost, not sure) all Rockstar Editor values (bIsRecording etc) to 0. + // Sets (almost, not sure) all Rockstar Editor values (bIsRecording etc) to 0. inline Void ReplayControlShutdown() { return _i(0x3353D13F09307691); } // 0x3353D13F09307691 b323 - // Please note that you will need to call DoScreenFadeIn after exiting the Rockstar Editor when you call this. + // Please note that you will need to call DoScreenFadeIn after exiting the Rockstar Editor when you call this. inline Void ActivateRockstarEditor(int p0) { return _i(0x49DA8145672B2725,p0); } // 0x49DA8145672B2725 b323 } namespace SAVEMIGRATION { - // + // inline BOOL SavemigrationIsMpEnabled() { return _i(0x84B418E93894AC1C); } // 0x84B418E93894AC1C b2372 - // + // inline BOOL SavemigrationMpRequestAccounts() { return _i(0x85F41F9225D08C72); } // 0x85F41F9225D08C72 b2612 - // + // inline int SavemigrationMpGetAccountsStatus() { return _i(0xC8CB5999919EA2CA); } // 0xC8CB5999919EA2CA b2612 - // + // inline int SavemigrationMpNumAccounts() { return _i(0x77A16200E18E0C55); } // 0x77A16200E18E0C55 b2612 - // + // inline BOOL SavemigrationMpGetAccount(int p0, Any* p1) { return _i(0xFCE2747EEF1D05FC,p0, p1); } // 0xFCE2747EEF1D05FC b2612 - // + // inline BOOL SavemigrationMpRequestStatus() { return _i(0xE5E9746A66359F9D); } // 0xE5E9746A66359F9D b2372 - // + // inline int SavemigrationMpGetStatus() { return _i(0x690B76BD2763E068); } // 0x690B76BD2763E068 b2372 } namespace SCRIPT { - // - inline Void RequestScript(String scriptName) { return _i(0x6EB5F71AA68F2E8E,scriptName); } // 0x6EB5F71AA68F2E8E 0xE26B2666 b323 - // - inline Void SetScriptAsNoLongerNeeded(String scriptName) { return _i(0xC90D2DCACD56184C,scriptName); } // 0xC90D2DCACD56184C 0x6FCB7795 b323 - // Returns if a script has been loaded into the game. Used to see if a script was loaded after requesting. - inline BOOL HasScriptLoaded(String scriptName) { return _i(0xE6CC9F3BA0FB9EF1,scriptName); } // 0xE6CC9F3BA0FB9EF1 0x5D67F751 b323 - // - inline BOOL DoesScriptExist(String scriptName) { return _i(0xFC04745FBE67C19A,scriptName); } // 0xFC04745FBE67C19A 0xDEAB87AB b323 - // formerly _REQUEST_STREAMED_SCRIPT + // + inline Void RequestScript(const char* scriptName) { return _i(0x6EB5F71AA68F2E8E,scriptName); } // 0x6EB5F71AA68F2E8E 0xE26B2666 b323 + // + inline Void SetScriptAsNoLongerNeeded(const char* scriptName) { return _i(0xC90D2DCACD56184C,scriptName); } // 0xC90D2DCACD56184C 0x6FCB7795 b323 + // Returns if a script has been loaded into the game. Used to see if a script was loaded after requesting. + inline BOOL HasScriptLoaded(const char* scriptName) { return _i(0xE6CC9F3BA0FB9EF1,scriptName); } // 0xE6CC9F3BA0FB9EF1 0x5D67F751 b323 + // + inline BOOL DoesScriptExist(const char* scriptName) { return _i(0xFC04745FBE67C19A,scriptName); } // 0xFC04745FBE67C19A 0xDEAB87AB b323 + // formerly _REQUEST_STREAMED_SCRIPT inline Void RequestScriptWithNameHash(Hash scriptHash) { return _i(0xD62A67D26D9653E6,scriptHash); } // 0xD62A67D26D9653E6 0x1C68D9DC b323 - // + // inline Void SetScriptWithNameHashAsNoLongerNeeded(Hash scriptHash) { return _i(0xC5BC038960E9DB27,scriptHash); } // 0xC5BC038960E9DB27 0x96C26F66 b323 - // + // inline BOOL HasScriptWithNameHashLoaded(Hash scriptHash) { return _i(0x5F0F0C783EB16C04,scriptHash); } // 0x5F0F0C783EB16C04 0x06674818 b323 - // + // inline BOOL DoesScriptWithNameHashExist(Hash scriptHash) { return _i(0xF86AA3C56BA31381,scriptHash); } // 0xF86AA3C56BA31381 0x19EAE282 b323 - // + // inline Void TerminateThread(int threadId) { return _i(0xC8B189ED9138BCD4,threadId); } // 0xC8B189ED9138BCD4 0x253FD520 b323 - // + // inline BOOL IsThreadActive(int threadId) { return _i(0x46E9AE36D8FA6417,threadId); } // 0x46E9AE36D8FA6417 0x78D7A5A0 b323 - // - inline String GetNameOfScriptWithThisId(int threadId) { return _i(0x5A42BA9FC8DA96B,threadId); } // 0x5A42BA9FC8DA96B 0xBE7ACD89 b323 - // Starts a new iteration of the current threads. + // + inline const char* GetNameOfScriptWithThisId(int threadId) { return _i(0x5A42BA9FC8DA96B,threadId); } // 0x5A42BA9FC8DA96B 0xBE7ACD89 b323 + // Starts a new iteration of the current threads. // Call this first, then ScriptThreadIteratorGetNextThreadId (0x30B4FA1C82DD4B9F) inline Void ScriptThreadIteratorReset() { return _i(0xDADFADA5A20143A8); } // 0xDADFADA5A20143A8 0xBB4E2F66 b323 - // If the function returns 0, the end of the iteration has been reached. + // If the function returns 0, the end of the iteration has been reached. inline int ScriptThreadIteratorGetNextThreadId() { return _i(0x30B4FA1C82DD4B9F); } // 0x30B4FA1C82DD4B9F 0x1E28B28F b323 - // + // inline int GetIdOfThisThread() { return _i(0xC30338E8088E2E21); } // 0xC30338E8088E2E21 0xDE524830 b323 - // + // inline Void TerminateThisThread() { return _i(0x1090044AD1DA76FA); } // 0x1090044AD1DA76FA 0x3CD9CBB7 b323 - // Gets the number of instances of the specified script is currently running. + // 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; inline int GetNumberOfThreadsRunningTheScriptWithThisHash(Hash scriptHash) { return _i(0x2C83A9DA6BFFC4F9,scriptHash); } // 0x2C83A9DA6BFFC4F9 0x029D3841 b323 - // - inline String GetThisScriptName() { return _i(0x442E0A7EDE4A738A); } // 0x442E0A7EDE4A738A 0xA40FD5D9 b323 - // + // + inline const char* GetThisScriptName() { return _i(0x442E0A7EDE4A738A); } // 0x442E0A7EDE4A738A 0xA40FD5D9 b323 + // inline Hash GetHashOfThisScriptName() { return _i(0x8A1C8B1738FFE87E); } // 0x8A1C8B1738FFE87E 0x2BEE1F45 b323 - // eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) + // eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) inline int GetNumberOfEvents(int eventGroup) { return _i(0x5F92A689A06620AA,eventGroup); } // 0x5F92A689A06620AA 0xA3525D60 b323 - // eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) + // eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) inline BOOL GetEventExists(int eventGroup, int eventIndex) { return _i(0x936E6168A9BCEDB5,eventGroup, eventIndex); } // 0x936E6168A9BCEDB5 0xA1B447B5 b323 - // eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) + // eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) inline int GetEventAtIndex(int eventGroup, int eventIndex) { return _i(0xD8F66A3A60C62153,eventGroup, eventIndex); } // 0xD8F66A3A60C62153 0xB49C1442 b323 - // eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) + // eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) // // Note: eventDataSize is NOT the size in bytes, it is the size determined by the SIZE_OF operator (RAGE Script operator, not C/C++ sizeof). That is, the size in bytes divided by 8 (script variables are always 8-byte aligned!). inline BOOL GetEventData(int eventGroup, int eventIndex, Any* eventData, int eventDataSize) { return _i(0x2902843FCD2B2D79,eventGroup, eventIndex, eventData, eventDataSize); } // 0x2902843FCD2B2D79 0x4280F92F b323 - // eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) + // eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork) // // Note: eventDataSize is NOT the size in bytes, it is the size determined by the SIZE_OF operator (RAGE Script operator, not C/C++ sizeof). That is, the size in bytes divided by 8 (script variables are always 8-byte aligned!). // // playerBits (also known as playersToBroadcastTo) is a bitset that indicates which players this event should be sent to. In order to send the event to specific players only, use (1 << playerIndex). Set all bits if it should be broadcast to all players. inline Void TriggerScriptEvent(int eventGroup, Any* eventData, int eventDataSize, int playerBits) { return _i(0x5AE99C571D5BBE5D,eventGroup, eventData, eventDataSize, playerBits); } // 0x5AE99C571D5BBE5D 0x54763B35 b323 - // + // inline Void ShutdownLoadingScreen() { return _i(0x78EBE9809CCD637); } // 0x78EBE9809CCD637 0xA2826D17 b323 - // + // inline Void SetNoLoadingScreen(BOOL toggle) { return _i(0x5262CC1995D07E09,toggle); } // 0x5262CC1995D07E09 0xC8055034 b323 - // + // inline BOOL GetNoLoadingScreen() { return _i(0x18C1270EA7F199BC); } // 0x18C1270EA7F199BC 0x27512BA0 b323 - // + // inline Void CommitToLoadingscreenSelction() { return _i(0xB1577667C3708F9B); } // 0xB1577667C3708F9B 0xB03BCCDF b323 - // Returns true if bit 0 in GtaThread+0x154 is set. + // Returns true if bit 0 in GtaThread+0x154 is set. inline BOOL BgIsExitflagSet() { return _i(0x836B62713E0534CA); } // 0x836B62713E0534CA 0x22B9F132 b323 - // Sets bit 1 in GtaThread+0x154 + // Sets bit 1 in GtaThread+0x154 inline Void BgSetExitflagResponse() { return _i(0x760910B49D2B98EA); } // 0x760910B49D2B98EA 0x5C95B670 b323 - // Hashed version of BgStartContext. + // Hashed version of BgStartContext. inline Void BgStartContextHash(Hash contextHash) { return _i(0x75B18E49607874C7,contextHash); } // 0x75B18E49607874C7 0x67B23E17 b323 - // Hashed version of BgEndContext. + // Hashed version of BgEndContext. inline Void BgEndContextHash(Hash contextHash) { return _i(0x107E5CC7CA942BC1,contextHash); } // 0x107E5CC7CA942BC1 0x3D981EBF b323 - // Inserts the given context into the background scripts context map. - inline Void BgStartContext(String contextName) { return _i(0x9D5A25BADB742ACD,contextName); } // 0x9D5A25BADB742ACD 0xF3F1D953 b323 - // Deletes the given context from the background scripts context map. - inline Void BgEndContext(String contextName) { return _i(0xDC2BACD920D0A0DD,contextName); } // 0xDC2BACD920D0A0DD 0x11F38FB3 b323 - // - inline BOOL BgDoesLaunchParamExist(int scriptIndex, String p1) { return _i(0xF6F1EBBC4E1D5E6,scriptIndex, p1); } // 0xF6F1EBBC4E1D5E6 0xF8E5F73A b323 - // - inline int BgGetLaunchParamValue(int scriptIndex, String p1) { return _i(0x22E21FBCFC88C149,scriptIndex, p1); } // 0x22E21FBCFC88C149 0x682CB7E1 b323 - // + // Inserts the given context into the background scripts context map. + inline Void BgStartContext(const char* contextName) { return _i(0x9D5A25BADB742ACD,contextName); } // 0x9D5A25BADB742ACD 0xF3F1D953 b323 + // Deletes the given context from the background scripts context map. + inline Void BgEndContext(const char* contextName) { return _i(0xDC2BACD920D0A0DD,contextName); } // 0xDC2BACD920D0A0DD 0x11F38FB3 b323 + // + inline BOOL BgDoesLaunchParamExist(int scriptIndex, const char* p1) { return _i(0xF6F1EBBC4E1D5E6,scriptIndex, p1); } // 0xF6F1EBBC4E1D5E6 0xF8E5F73A b323 + // + inline int BgGetLaunchParamValue(int scriptIndex, const char* p1) { return _i(0x22E21FBCFC88C149,scriptIndex, p1); } // 0x22E21FBCFC88C149 0x682CB7E1 b323 + // inline int BgGetScriptIdFromNameHash(Hash p0) { return _i(0x829CD22E043A2577,p0); } // 0x829CD22E043A2577 0xC515E735 b323 - // New variant of SEND_TU_SCRIPT_EVENT that automatically initializes the event data header. + // New variant of SEND_TU_SCRIPT_EVENT that automatically initializes the event data header. // See TriggerScriptEvent for more info. inline Void SendTuScriptEventNew(int eventGroup, Any* eventData, int eventDataSize, int playerBits, Hash eventType) { return _i(0x71A6F836422FDD2B,eventGroup, eventData, eventDataSize, playerBits, eventType); } // 0x71A6F836422FDD2B b3095 } namespace SECURITY { - // Registers a protected variable that will be checked for modifications by the anticheat + // Registers a protected variable that will be checked for modifications by the anticheat inline Void RegisterScriptVariable(Any* variable) { return _i(0x40EB1EFD921822BC,variable); } // 0x40EB1EFD921822BC b2545 - // + // inline Void UnregisterScriptVariable(Any* variable) { return _i(0x340A36A700E99699,variable); } // 0x340A36A700E99699 b2545 - // + // inline Void ForceCheckScriptVariables() { return _i(0x8E580AB902917360); } // 0x8E580AB902917360 b2545 } namespace SHAPETEST { - // Asynchronously starts a line-of-sight (raycast) world probe shape test. + // Asynchronously starts a line-of-sight (raycast) world probe shape test. // // Use the handle with 0x3D87450E15D98694 or 0x65287525D951F6BE until it returns 0 or 2. // // p8 is a bit mask with bits 1, 2 and/or 4, relating to collider types; 4 should usually be used. inline int StartShapeTestLosProbe(float x1, float y1, float z1, float x2, float y2, float z2, int flags, Entity entity, int p8) { return _i(0x7EE9F5D83DD4F90E,x1, y1, z1, x2, y2, z2, flags, entity, p8); } // 0x7EE9F5D83DD4F90E 0xEFAF4BA6 b323 - // Does the same as 0x7EE9F5D83DD4F90E, except blocking until the shape test completes. + // Does the same as 0x7EE9F5D83DD4F90E, except blocking until the shape test completes. inline int StartExpensiveSynchronousShapeTestLosProbe(float x1, float y1, float z1, float x2, float y2, float z2, int flags, Entity entity, int p8) { return _i(0x377906D8A31E5586,x1, y1, z1, x2, y2, z2, flags, entity, p8); } // 0x377906D8A31E5586 0x8251485D b323 - // + // inline int StartShapeTestBoundingBox(Entity entity, int flags1, int flags2) { return _i(0x52837721A854EC7,entity, flags1, flags2); } // 0x52837721A854EC7 0xCEEAD94B b323 - // + // inline int StartShapeTestBox(float x, float y, float z, float dimX, float dimY, float dimZ, float rotX, float rotY, float rotZ, Any p9, int flags, Entity entity, Any p12) { return _i(0xFE466162C4401D18,x, y, z, dimX, dimY, dimZ, rotX, rotY, rotZ, p9, flags, entity, p12); } // 0xFE466162C4401D18 0x249BC876 b323 - // + // inline int StartShapeTestBound(Entity entity, int flags1, int flags2) { return _i(0x37181417CE7C8900,entity, flags1, flags2); } // 0x37181417CE7C8900 0x13BC46C0 b323 - // Raycast from point to point, where the ray has a radius. + // Raycast from point to point, where the ray has a radius. // // flags: // vehicles=10 @@ -15402,250 +15402,250 @@ namespace SHAPETEST // // Entity is an entity to ignore inline int StartShapeTestCapsule(float x1, float y1, float z1, float x2, float y2, float z2, float radius, int flags, Entity entity, int p9) { return _i(0x28579D1B8F8AAC80,x1, y1, z1, x2, y2, z2, radius, flags, entity, p9); } // 0x28579D1B8F8AAC80 0x591EA833 b323 - // + // inline int StartShapeTestSweptSphere(float x1, float y1, float z1, float x2, float y2, float z2, float radius, int flags, Entity entity, Any p9) { return _i(0xE6AC6C45FBE83004,x1, y1, z1, x2, y2, z2, radius, flags, entity, p9); } // 0xE6AC6C45FBE83004 0x4559460A b323 - // Returns a ShapeTest handle that can be used with GetShapeTestResult. + // Returns a ShapeTest handle that can be used with GetShapeTestResult. // // In its only usage in game scripts its called with flag set to 511, entity to player_ped_id and flag2 set to 7 inline int StartShapeTestMouseCursorLosProbe(Vector3* pVec1, Vector3* pVec2, int flag, Entity entity, int flag2) { return _i(0xFF6BE494C7987F34,pVec1, pVec2, flag, entity, flag2); } // 0xFF6BE494C7987F34 b323 - // Returns the result of a shape test: 0 if the handle is invalid, 1 if the shape test is still pending, or 2 if the shape test has completed, and the handle should be invalidated. + // Returns the result of a shape test: 0 if the handle is invalid, 1 if the shape test is still pending, or 2 if the shape test has completed, and the handle should be invalidated. // // When used with an asynchronous shape test, this native should be looped until returning 0 or 2, after which the handle is invalidated. inline int GetShapeTestResult(int shapeTestHandle, BOOL* hit, Vector3* endCoords, Vector3* surfaceNormal, Entity* entityHit) { return _i(0x3D87450E15D98694,shapeTestHandle, hit, endCoords, surfaceNormal, entityHit); } // 0x3D87450E15D98694 0xF3C2875A b323 - // Returns the result of a shape test, also returning the material of any touched surface. + // Returns the result of a shape test, also returning the material of any touched surface. // // When used with an asynchronous shape test, this native should be looped until returning 0 or 2, after which the handle is invalidated. // // Unless the return value is 2, the other return values are undefined. inline int GetShapeTestResultIncludingMaterial(int shapeTestHandle, BOOL* hit, Vector3* endCoords, Vector3* surfaceNormal, Hash* materialHash, Entity* entityHit) { return _i(0x65287525D951F6BE,shapeTestHandle, hit, endCoords, surfaceNormal, materialHash, entityHit); } // 0x65287525D951F6BE 0x4301E10C b323 - // Invalidates the entity handle passed by removing the fwScriptGuid from the entity. This should be used when receiving an ambient entity from shape testing natives, but can also be used for other natives returning an 'irrelevant' entity handle. + // Invalidates the entity handle passed by removing the fwScriptGuid from the entity. This should be used when receiving an ambient entity from shape testing natives, but can also be used for other natives returning an 'irrelevant' entity handle. inline Void ReleaseScriptGuidFromEntity(Entity entityHit) { return _i(0x2B3334BCA57CD799,entityHit); } // 0x2B3334BCA57CD799 0xEC2AAF06 b323 } namespace SOCIALCLUB { - // + // inline int ScInboxGetTotalNumMessages() { return _i(0x3A93FF1A2CA0864); } // 0x3A93FF1A2CA0864 0x6BE5DF29 b323 - // + // inline Hash ScInboxGetMessageTypeAtIndex(int msgIndex) { return _i(0xBB8EA16ECBC976C4,msgIndex); } // 0xBB8EA16ECBC976C4 0x5ECF955D b323 - // + // inline BOOL ScInboxGetMessageIsReadAtIndex(int msgIndex) { return _i(0x93028F1DB42BFD08,msgIndex); } // 0x93028F1DB42BFD08 0xD1ED1D48 b323 - // + // inline BOOL ScInboxSetMessageAsReadAtIndex(int msgIndex) { return _i(0x2C015348CF19CA1D,msgIndex); } // 0x2C015348CF19CA1D 0x19EE0CCB b323 - // - inline BOOL ScInboxMessageGetDataInt(int p0, String context, int* out) { return _i(0xA00EFE4082C4056E,p0, context, out); } // 0xA00EFE4082C4056E 0x88068C7C b323 - // - inline BOOL ScInboxMessageGetDataBool(int p0, String p1) { return _i(0xFFE5C16F402D851D,p0, p1); } // 0xFFE5C16F402D851D b323 - // - inline BOOL ScInboxMessageGetDataString(int p0, String context, char* out) { return _i(0x7572EF42FC6A9B6D,p0, context, out); } // 0x7572EF42FC6A9B6D 0x15607620 b323 - // + // + inline BOOL ScInboxMessageGetDataInt(int p0, const char* context, int* out) { return _i(0xA00EFE4082C4056E,p0, context, out); } // 0xA00EFE4082C4056E 0x88068C7C b323 + // + inline BOOL ScInboxMessageGetDataBool(int p0, const char* p1) { return _i(0xFFE5C16F402D851D,p0, p1); } // 0xFFE5C16F402D851D b323 + // + inline BOOL ScInboxMessageGetDataString(int p0, const char* context, char* out) { return _i(0x7572EF42FC6A9B6D,p0, context, out); } // 0x7572EF42FC6A9B6D 0x15607620 b323 + // inline BOOL ScInboxMessageDoApply(int p0) { return _i(0x9A2C8064B6C1E41A,p0); } // 0x9A2C8064B6C1E41A 0xEBE420A4 b323 - // - inline String ScInboxMessageGetRawTypeAtIndex(int p0) { return _i(0xF3E31D16CBDCB304,p0); } // 0xF3E31D16CBDCB304 0x2C959AF9 b323 - // + // + inline const char* ScInboxMessageGetRawTypeAtIndex(int p0) { return _i(0xF3E31D16CBDCB304,p0); } // 0xF3E31D16CBDCB304 0x2C959AF9 b323 + // inline Void ScInboxMessagePushGamerT0RecipList(Any* gamerHandle) { return _i(0xDA024BDBD600F44A,gamerHandle); } // 0xDA024BDBD600F44A 0x0B9A3512 b323 - // + // inline Void ScInboxSendUgcstatupdateToRecipList(Any* data) { return _i(0xA68D3D229F4F3B06,data); } // 0xA68D3D229F4F3B06 0x75324674 b323 - // + // inline BOOL ScInboxMessageGetUgcdata(int p0, Any* p1) { return _i(0x69D82604A1A5A254,p0, p1); } // 0x69D82604A1A5A254 0x88CA3BFC b323 - // + // inline BOOL ScInboxGetBountyDataAtIndex(int index, Any* outData) { return _i(0x87E0052F08BD64E6,index, outData); } // 0x87E0052F08BD64E6 0xAB3346B5 b323 - // + // inline Void ScEmailRetrieveEmails(int offset, int limit) { return _i(0x40ADDCBAFA1018A,offset, limit); } // 0x40ADDCBAFA1018A b323 - // + // inline int ScEmailGetRetrievalStatus() { return _i(0x16DA8172459434AA); } // 0x16DA8172459434AA b323 - // + // inline int ScEmailGetNumRetrievedEmails() { return _i(0x7DB18CA8CAD5B098); } // 0x7DB18CA8CAD5B098 b505 - // + // inline BOOL ScEmailGetEmailAtIndex(int p0, Any* p1) { return _i(0x4737980E8A283806,p0, p1); } // 0x4737980E8A283806 b323 - // + // inline Void ScEmailDeleteEmails(Any* p0, Any p1) { return _i(0x44ACA259D67651DB,p0, p1); } // 0x44ACA259D67651DB b323 - // + // inline Void ScEmailMessagePushGamerToRecipList(Any* gamerHandle) { return _i(0x2330C12A7A605D16,gamerHandle); } // 0x2330C12A7A605D16 0x9A703A2B b323 - // + // inline Void ScEmailMessageClearRecipList() { return _i(0x55DF6DB45179236E); } // 0x55DF6DB45179236E 0xD094F11A b323 - // - inline Void ScEmailSendEmail(String p0) { return _i(0x116FB94DC4B79F17,p0); } // 0x116FB94DC4B79F17 0xAF3C081B b323 - // + // + inline Void ScEmailSendEmail(const char* p0) { return _i(0x116FB94DC4B79F17,p0); } // 0x116FB94DC4B79F17 0xAF3C081B b323 + // inline BOOL ScEmailSetCurrentEmailTag(Any p0) { return _i(0x7DBD622D9533857,p0); } // 0x7DBD622D9533857 b505 - // + // inline Void ScCacheNewRockstarMsgs(BOOL toggle) { return _i(0xBFA0A56A817C6C7D,toggle); } // 0xBFA0A56A817C6C7D 0x2FB9F53C b323 - // + // inline BOOL ScHasNewRockstarMsg() { return _i(0xBC1CC91205EC8D6E); } // 0xBC1CC91205EC8D6E 0x6C5738AB b323 - // - inline String ScGetNewRockstarMsg() { return _i(0xDF649C4E9AFDD788); } // 0xDF649C4E9AFDD788 0x468668F0 b323 - // + // + inline const char* ScGetNewRockstarMsg() { return _i(0xDF649C4E9AFDD788); } // 0xDF649C4E9AFDD788 0x468668F0 b323 + // inline BOOL ScPresenceAttrSetInt(Hash attrHash, int value) { return _i(0x1F1E9682483697C7,attrHash, value); } // 0x1F1E9682483697C7 0x90C74343 b323 - // + // inline BOOL ScPresenceAttrSetFloat(Hash attrHash, float value) { return _i(0xC4C4575F62534A24,attrHash, value); } // 0xC4C4575F62534A24 0x94BF0D35 b323 - // - inline BOOL ScPresenceAttrSetString(Hash attrHash, String value) { return _i(0x287F1F75D2803595,attrHash, value); } // 0x287F1F75D2803595 0x3ACE6D6B b323 - // + // + inline BOOL ScPresenceAttrSetString(Hash attrHash, const char* value) { return _i(0x287F1F75D2803595,attrHash, value); } // 0x287F1F75D2803595 0x3ACE6D6B b323 + // inline BOOL ScPresenceSetActivityRating(Any p0, float p1) { return _i(0x487912FD248EFDDF,p0, p1); } // 0x487912FD248EFDDF 0x579B4510 b323 - // - inline BOOL ScGamerdataGetInt(String name, int* value) { return _i(0xC85A7127E7AD02AA,name, value); } // 0xC85A7127E7AD02AA 0xF8BDA989 b323 - // - inline BOOL ScGamerdataGetFloat(String name, float* value) { return _i(0xA770C8EEC6FB2AC5,name, value); } // 0xA770C8EEC6FB2AC5 0x515AF67C b323 - // - inline BOOL ScGamerdataGetBool(String name) { return _i(0x8416FE4E4629D7D7,name); } // 0x8416FE4E4629D7D7 0xDF45B2A7 b323 - // - inline BOOL ScGamerdataGetString(String name, char* value) { return _i(0x7FFCBFEE44ECFABF,name, value); } // 0x7FFCBFEE44ECFABF 0x2AE35169 b323 - // + // + inline BOOL ScGamerdataGetInt(const char* name, int* value) { return _i(0xC85A7127E7AD02AA,name, value); } // 0xC85A7127E7AD02AA 0xF8BDA989 b323 + // + inline BOOL ScGamerdataGetFloat(const char* name, float* value) { return _i(0xA770C8EEC6FB2AC5,name, value); } // 0xA770C8EEC6FB2AC5 0x515AF67C b323 + // + inline BOOL ScGamerdataGetBool(const char* name) { return _i(0x8416FE4E4629D7D7,name); } // 0x8416FE4E4629D7D7 0xDF45B2A7 b323 + // + inline BOOL ScGamerdataGetString(const char* name, char* value) { return _i(0x7FFCBFEE44ECFABF,name, value); } // 0x7FFCBFEE44ECFABF 0x2AE35169 b323 + // inline BOOL ScGamerdataGetActiveXpBonus(float* value) { return _i(0x2D874D4AE612A65F,value); } // 0x2D874D4AE612A65F b323 - // Starts a task to check an entered string for profanity on the ROS/Social Club services. + // Starts a task to check an entered string for profanity on the ROS/Social Club services. // // See also: 1753344C770358AE, 82E4A58BABC15AE7. - inline BOOL ScProfanityCheckString(String string, int* token) { return _i(0x75632C5ECD7ED843,string, token); } // 0x75632C5ECD7ED843 0xDF084A6B b323 - // - inline BOOL ScProfanityCheckStringUgc(String string, int* token) { return _i(0xEB2BF817463DFA28,string, token); } // 0xEB2BF817463DFA28 b678 - // + inline BOOL ScProfanityCheckString(const char* string, int* token) { return _i(0x75632C5ECD7ED843,string, token); } // 0x75632C5ECD7ED843 0xDF084A6B b323 + // + inline BOOL ScProfanityCheckStringUgc(const char* string, int* token) { return _i(0xEB2BF817463DFA28,string, token); } // 0xEB2BF817463DFA28 b678 + // inline BOOL ScProfanityGetCheckIsValid(int token) { return _i(0x1753344C770358AE,token); } // 0x1753344C770358AE 0xFFED3676 b323 - // + // inline BOOL ScProfanityGetCheckIsPending(int token) { return _i(0x82E4A58BABC15AE7,token); } // 0x82E4A58BABC15AE7 0xA796D7A7 b323 - // + // inline BOOL ScProfanityGetStringPassed(int token) { return _i(0x85535ACF97FC0969,token); } // 0x85535ACF97FC0969 0x09497F31 b323 - // + // inline int ScProfanityGetStringStatus(int token) { return _i(0x930DE22F07B1CCE3,token); } // 0x930DE22F07B1CCE3 0x4D8A6521 b323 - // - inline BOOL ScLicenseplateCheckString(String p0, int* p1) { return _i(0xF6BAAAF762E1BF40,p0, p1); } // 0xF6BAAAF762E1BF40 0x7AA36406 b323 - // + // + inline BOOL ScLicenseplateCheckString(const char* p0, int* p1) { return _i(0xF6BAAAF762E1BF40,p0, p1); } // 0xF6BAAAF762E1BF40 0x7AA36406 b323 + // inline BOOL ScLicenseplateGetCheckIsValid(Any p0) { return _i(0xF22CA0FD74B80E7A,p0); } // 0xF22CA0FD74B80E7A 0xF379DCE4 b323 - // + // inline BOOL ScLicenseplateGetCheckIsPending(Any p0) { return _i(0x9237E334F6E43156,p0); } // 0x9237E334F6E43156 0x65D84665 b323 - // + // inline int ScLicenseplateGetCount(int token) { return _i(0x700569DBA175A77C,token); } // 0x700569DBA175A77C 0x159FE39C b323 - // - inline String ScLicenseplateGetPlate(int token, int plateIndex) { return _i(0x1D4446A62D35B0D0,token, plateIndex); } // 0x1D4446A62D35B0D0 0x4CE9BAA7 b323 - // - inline String ScLicenseplateGetPlateData(int token, int plateIndex) { return _i(0x2E89990DDFF670C3,token, plateIndex); } // 0x2E89990DDFF670C3 0x05303FC8 b323 - // - inline BOOL ScLicenseplateSetPlateData(String oldPlateText, String newPlateText, Any* plateData) { return _i(0xD0EE05FE193646EA,oldPlateText, newPlateText, plateData); } // 0xD0EE05FE193646EA 0x9F98FA5C b323 - // - inline BOOL ScLicenseplateAdd(String plateText, Any* plateData, int* token) { return _i(0x1989C6E6F67E76A8,plateText, plateData, token); } // 0x1989C6E6F67E76A8 0xEEDE7FAB b323 - // + // + inline const char* ScLicenseplateGetPlate(int token, int plateIndex) { return _i(0x1D4446A62D35B0D0,token, plateIndex); } // 0x1D4446A62D35B0D0 0x4CE9BAA7 b323 + // + inline const char* ScLicenseplateGetPlateData(int token, int plateIndex) { return _i(0x2E89990DDFF670C3,token, plateIndex); } // 0x2E89990DDFF670C3 0x05303FC8 b323 + // + inline BOOL ScLicenseplateSetPlateData(const char* oldPlateText, const char* newPlateText, Any* plateData) { return _i(0xD0EE05FE193646EA,oldPlateText, newPlateText, plateData); } // 0xD0EE05FE193646EA 0x9F98FA5C b323 + // + inline BOOL ScLicenseplateAdd(const char* plateText, Any* plateData, int* token) { return _i(0x1989C6E6F67E76A8,plateText, plateData, token); } // 0x1989C6E6F67E76A8 0xEEDE7FAB b323 + // inline BOOL ScLicenseplateGetAddIsPending(int token) { return _i(0x7C61676E5BB52CD,token); } // 0x7C61676E5BB52CD 0xE190E45A b323 - // + // inline int ScLicenseplateGetAddStatus(int token) { return _i(0x8147FFF6A718E1AD,token); } // 0x8147FFF6A718E1AD 0x930B3AE5 b323 - // - inline BOOL ScLicenseplateIsvalid(String plateText, int* token) { return _i(0xF73393BAC7E6730,plateText, token); } // 0xF73393BAC7E6730 0x5298F472 b323 - // + // + inline BOOL ScLicenseplateIsvalid(const char* plateText, int* token) { return _i(0xF73393BAC7E6730,plateText, token); } // 0xF73393BAC7E6730 0x5298F472 b323 + // inline BOOL ScLicenseplateGetIsvalidIsPending(int token) { return _i(0xD302E99EDF0449CF,token); } // 0xD302E99EDF0449CF 0x86DAE6D6 b323 - // + // inline int ScLicenseplateGetIsvalidStatus(int token) { return _i(0x5C4EBFFA98BDB41C,token); } // 0x5C4EBFFA98BDB41C 0x9AA2BA3F b323 - // + // inline BOOL ScCommunityEventIsActive() { return _i(0xFF8F3A92B75ED67A); } // 0xFF8F3A92B75ED67A 0xC96456BA b323 - // + // inline int ScCommunityEventGetEventId() { return _i(0x4ED9C8D6DA297639); } // 0x4ED9C8D6DA297639 0xC5E08B66 b323 - // - inline BOOL ScCommunityEventGetExtraDataInt(String p0, int* p1) { return _i(0x710BCDA8071EDED1,p0, p1); } // 0x710BCDA8071EDED1 0x04EE74A3 b323 - // - inline BOOL ScCommunityEventGetExtraDataFloat(String p0, float* p1) { return _i(0x50A8A36201DBF83E,p0, p1); } // 0x50A8A36201DBF83E 0x8DA93C3D b323 - // - inline BOOL ScCommunityEventGetExtraDataString(String p0, char* p1) { return _i(0x9DE5D2F723575ED0,p0, p1); } // 0x9DE5D2F723575ED0 0x37DD48B5 b323 - // + // + inline BOOL ScCommunityEventGetExtraDataInt(const char* p0, int* p1) { return _i(0x710BCDA8071EDED1,p0, p1); } // 0x710BCDA8071EDED1 0x04EE74A3 b323 + // + inline BOOL ScCommunityEventGetExtraDataFloat(const char* p0, float* p1) { return _i(0x50A8A36201DBF83E,p0, p1); } // 0x50A8A36201DBF83E 0x8DA93C3D b323 + // + inline BOOL ScCommunityEventGetExtraDataString(const char* p0, char* p1) { return _i(0x9DE5D2F723575ED0,p0, p1); } // 0x9DE5D2F723575ED0 0x37DD48B5 b323 + // inline BOOL ScCommunityEventGetDisplayName(char* p0) { return _i(0xC2C97EA97711D1AE,p0); } // 0xC2C97EA97711D1AE 0xF929F61D b323 - // - inline BOOL ScCommunityEventIsActiveForType(String p0) { return _i(0x450819D8CF90C416,p0); } // 0x450819D8CF90C416 0x0572EB5E b323 - // - inline int ScCommunityEventGetEventIdForType(String p0) { return _i(0x4A7D6E727F941747,p0); } // 0x4A7D6E727F941747 0x8E7AEEB7 b323 - // - inline BOOL ScCommunityEventGetExtraDataIntForType(String p0, int* p1, String p2) { return _i(0xE75A4A2E5E316D86,p0, p1, p2); } // 0xE75A4A2E5E316D86 0x28C57FA0 b323 - // - inline BOOL ScCommunityEventGetExtraDataFloatForType(String p0, float* p1, String p2) { return _i(0x2570E26BE63964E3,p0, p1, p2); } // 0x2570E26BE63964E3 0x59394583 b323 - // - inline BOOL ScCommunityEventGetExtraDataStringForType(String p0, char* p1, String p2) { return _i(0x1D12A56FC95BE92E,p0, p1, p2); } // 0x1D12A56FC95BE92E 0x92452C0E b323 - // - inline BOOL ScCommunityEventGetDisplayNameForType(char* p0, String p1) { return _i(0x33DF47CC0642061B,p0, p1); } // 0x33DF47CC0642061B 0xBBA8D34D b323 - // + // + inline BOOL ScCommunityEventIsActiveForType(const char* p0) { return _i(0x450819D8CF90C416,p0); } // 0x450819D8CF90C416 0x0572EB5E b323 + // + inline int ScCommunityEventGetEventIdForType(const char* p0) { return _i(0x4A7D6E727F941747,p0); } // 0x4A7D6E727F941747 0x8E7AEEB7 b323 + // + inline BOOL ScCommunityEventGetExtraDataIntForType(const char* p0, int* p1, const char* p2) { return _i(0xE75A4A2E5E316D86,p0, p1, p2); } // 0xE75A4A2E5E316D86 0x28C57FA0 b323 + // + inline BOOL ScCommunityEventGetExtraDataFloatForType(const char* p0, float* p1, const char* p2) { return _i(0x2570E26BE63964E3,p0, p1, p2); } // 0x2570E26BE63964E3 0x59394583 b323 + // + inline BOOL ScCommunityEventGetExtraDataStringForType(const char* p0, char* p1, const char* p2) { return _i(0x1D12A56FC95BE92E,p0, p1, p2); } // 0x1D12A56FC95BE92E 0x92452C0E b323 + // + inline BOOL ScCommunityEventGetDisplayNameForType(char* p0, const char* p1) { return _i(0x33DF47CC0642061B,p0, p1); } // 0x33DF47CC0642061B 0xBBA8D34D b323 + // inline BOOL ScCommunityEventIsActiveById(int p0) { return _i(0xA468E0BE12B12C70,p0); } // 0xA468E0BE12B12C70 0xB21288FA b323 - // - inline BOOL ScCommunityEventGetExtraDataIntById(int p0, String p1, int* p2) { return _i(0x8CC469AB4D349B7C,p0, p1, p2); } // 0x8CC469AB4D349B7C 0xE778B2A7 b323 - // - inline BOOL ScCommunityEventGetExtraDataFloatById(int p0, String p1, float* p2) { return _i(0xC5A35C73B68F3C49,p0, p1, p2); } // 0xC5A35C73B68F3C49 0x7E24BD6E b323 - // - inline BOOL ScCommunityEventGetExtraDataStringById(int p0, String p1, char* p2) { return _i(0x699E4A5C8C893A18,p0, p1, p2); } // 0x699E4A5C8C893A18 0xCE7D50A8 b323 - // + // + inline BOOL ScCommunityEventGetExtraDataIntById(int p0, const char* p1, int* p2) { return _i(0x8CC469AB4D349B7C,p0, p1, p2); } // 0x8CC469AB4D349B7C 0xE778B2A7 b323 + // + inline BOOL ScCommunityEventGetExtraDataFloatById(int p0, const char* p1, float* p2) { return _i(0xC5A35C73B68F3C49,p0, p1, p2); } // 0xC5A35C73B68F3C49 0x7E24BD6E b323 + // + inline BOOL ScCommunityEventGetExtraDataStringById(int p0, const char* p1, char* p2) { return _i(0x699E4A5C8C893A18,p0, p1, p2); } // 0x699E4A5C8C893A18 0xCE7D50A8 b323 + // inline BOOL ScCommunityEventGetDisplayNameById(int p0, char* p1) { return _i(0x19853B5B17D77BCA,p0, p1); } // 0x19853B5B17D77BCA 0xD26CCA46 b323 - // + // inline BOOL ScTransitionNewsShow(Any p0) { return _i(0x6BFB12CE158E3DD4,p0); } // 0x6BFB12CE158E3DD4 0x24D84334 b323 - // + // inline BOOL ScTransitionNewsShowTimed(Any p0, Any p1) { return _i(0xFE4C1D0D3B9CC17E,p0, p1); } // 0xFE4C1D0D3B9CC17E 0x8A023024 b323 - // + // inline BOOL ScTransitionNewsShowNextItem() { return _i(0xD8122C407663B995); } // 0xD8122C407663B995 0x1C65B038 b323 - // + // inline BOOL ScTransitionNewsHasExtraDataTu() { return _i(0x3001BEF2FECA3680); } // 0x3001BEF2FECA3680 0x4D4C37B3 b323 - // - inline BOOL ScTransitionNewsGetExtraDataIntTu(String p0, int* p1) { return _i(0x92DA6E70EF249BD1,p0, p1); } // 0x92DA6E70EF249BD1 0xAED95A6F b323 - // + // + inline BOOL ScTransitionNewsGetExtraDataIntTu(const char* p0, int* p1) { return _i(0x92DA6E70EF249BD1,p0, p1); } // 0x92DA6E70EF249BD1 0xAED95A6F b323 + // inline Void ScTransitionNewsEnd() { return _i(0x675721C9F644D161); } // 0x675721C9F644D161 0x486867E6 b323 - // + // inline BOOL ScPauseNewsInitStarterPack(Any p0) { return _i(0xE4F6E8D07A2F0F51,p0); } // 0xE4F6E8D07A2F0F51 b1290 - // Fills some 0x30 sized struct + // Fills some 0x30 sized struct inline BOOL ScPauseNewsGetPendingStory(Any p0) { return _i(0x8A4416C0DB05FA66,p0); } // 0x8A4416C0DB05FA66 b1290 - // + // inline Void ScPauseNewsShutdown() { return _i(0xEA95C0853A27888E); } // 0xEA95C0853A27888E b1290 - // Returns the nickname of the logged-in Rockstar Social Club account. - inline String ScAccountInfoGetNickname() { return _i(0x198D161F458ECC7F); } // 0x198D161F458ECC7F b323 - // + // Returns the nickname of the logged-in Rockstar Social Club account. + inline const char* ScAccountInfoGetNickname() { return _i(0x198D161F458ECC7F); } // 0x198D161F458ECC7F b323 + // inline BOOL ScAchievementInfoStatus(int* p0) { return _i(0x225798743970412B,p0); } // 0x225798743970412B b323 - // Same as HasAchievementBeenPassed + // Same as HasAchievementBeenPassed inline BOOL ScHasAchievementBeenPassed(int achievementId) { return _i(0x418DC16FAE452C1C,achievementId); } // 0x418DC16FAE452C1C b323 } namespace STATS { - // Example: + // Example: // // for (v_2 = 0; v_2 <= 4; v_2 += 1) { // STATS::StatClearSlotForReload(v_2); // } inline BOOL StatClearSlotForReload(int statSlot) { return _i(0xEB0A72181D4AA4AD,statSlot); } // 0xEB0A72181D4AA4AD 0x84BDD475 b323 - // + // inline BOOL StatLoad(int statSlot) { return _i(0xA651443F437B1CE6,statSlot); } // 0xA651443F437B1CE6 0x9E5629F4 b323 - // + // inline BOOL StatSave(int p0, BOOL p1, int p2, BOOL p3) { return _i(0xE07BCA305B82D2FD,p0, p1, p2, p3); } // 0xE07BCA305B82D2FD 0xE10A7CA4 b323 - // + // inline Void StatSetOpenSavetypeInJob(int p0) { return _i(0x5688585E6D563CD8,p0); } // 0x5688585E6D563CD8 0xC62406A6 b323 - // + // inline BOOL StatLoadPending(int statSlot) { return _i(0xA1750FFAFA181661,statSlot); } // 0xA1750FFAFA181661 0x4E9AC983 b323 - // + // inline BOOL StatSavePending() { return _i(0x7D3A583856F2C5AC); } // 0x7D3A583856F2C5AC 0xC3FD3822 b323 - // + // inline BOOL StatSavePendingOrRequested() { return _i(0xBBB6AD006F1BBEA3); } // 0xBBB6AD006F1BBEA3 0xA3407CA3 b323 - // p0 is characterSlot? seems range from 0 to 2 + // p0 is characterSlot? seems range from 0 to 2 inline BOOL StatDeleteSlot(int p0) { return _i(0x49A49BED12794D70,p0); } // 0x49A49BED12794D70 0x2F171B94 b323 - // + // inline BOOL StatSlotIsLoaded(int statSlot) { return _i(0xD0A9F0E7BD91E3C,statSlot); } // 0xD0A9F0E7BD91E3C 0x7A299C13 b323 - // + // inline BOOL StatCloudSlotLoadFailed(int p0) { return _i(0x7F2C4CDF2E82DF4C,p0); } // 0x7F2C4CDF2E82DF4C 0x0BF0F4B2 b323 - // + // inline int StatCloudSlotLoadFailedCode(Any p0) { return _i(0xE496A53BA5F50A56,p0); } // 0xE496A53BA5F50A56 0xCE6B62B5 b323 - // + // inline Void StatSetBlockSaves(BOOL toggle) { return _i(0xF434A10BA01C37D0,toggle); } // 0xF434A10BA01C37D0 0xCE7A2411 b323 - // + // inline BOOL StatGetBlockSaves() { return _i(0x6A7F19756F1A9016); } // 0x6A7F19756F1A9016 b2060 - // + // inline BOOL StatCloudSlotSaveFailed(Any p0) { return _i(0x7E6946F68A38B74F,p0); } // 0x7E6946F68A38B74F 0x22804C20 b323 - // + // inline Void StatClearPendingSaves(Any p0) { return _i(0xA8733668D1047B51,p0); } // 0xA8733668D1047B51 0x395D18B1 b323 - // + // inline BOOL StatLoadDirtyReadDetected() { return _i(0xECB41AC6AB754401); } // 0xECB41AC6AB754401 0xED7000C8 b323 - // + // inline Void StatClearDirtyReadDetected() { return _i(0x9B4BD21D69B1E609); } // 0x9B4BD21D69B1E609 b323 - // + // inline BOOL StatGetLoadSafeToProgressToMpFromSp() { return _i(0xC0E0D686DDFC6EAE); } // 0xC0E0D686DDFC6EAE 0x099FCC86 b323 - // Returns stat hash based on dataType, statIndex/statId and characterSlot. Related to CStatsMpCharacterMappingData + // Returns stat hash based on dataType, statIndex/statId and characterSlot. Related to CStatsMpCharacterMappingData inline Hash GetStatHashForCharacterStat(int dataType, int statIndex, int charSlot) { return _i(0xD69CE161FE614531,dataType, statIndex, charSlot); } // 0xD69CE161FE614531 b2944 - // Example: + // Example: // STATS::StatSetInt(MISC::GetHashKey("MPPLY_KILLS_PLAYERS"), 1337, true); inline BOOL StatSetInt(Hash statName, int value, BOOL save) { return _i(0xB3271D7AB655B441,statName, value, save); } // 0xB3271D7AB655B441 0xC9CC1C5C b323 - // Example: + // Example: // STATS::StatSetFloat(MISC::GetHashKey("MP0_WEAPON_ACCURACY"), 66.6f, true); inline BOOL StatSetFloat(Hash statName, float value, BOOL save) { return _i(0x4851997F37FE9B3C,statName, value, save); } // 0x4851997F37FE9B3C 0x6CEA96F2 b323 - // Example: + // Example: // STATS::StatSetBool(MISC::GetHashKey("MPPLY_MELEECHLENGECOMPLETED"), trur, true); inline BOOL StatSetBool(Hash statName, BOOL value, BOOL save) { return _i(0x4B33C4243DE0C432,statName, value, save); } // 0x4B33C4243DE0C432 0x55D79DFB b323 - // The following values have been found in the decompiled scripts: + // The following values have been found in the decompiled scripts: // "RC_ABI1" // "RC_ABI2" // "RC_BA1" @@ -15709,8 +15709,8 @@ namespace STATS // "RC_TON3" // "RC_TON4" // "RC_TON5" - inline BOOL StatSetGxtLabel(Hash statName, String value, BOOL save) { return _i(0x17695002FD8B2AE0,statName, value, save); } // 0x17695002FD8B2AE0 0xC1224AA7 b323 - // 'value' is a structure to a structure, 'numFields' is how many fields there are in said structure (usually 7). + inline BOOL StatSetGxtLabel(Hash statName, const char* value, BOOL save) { return _i(0x17695002FD8B2AE0,statName, value, save); } // 0x17695002FD8B2AE0 0xC1224AA7 b323 + // 'value' is a structure to a structure, 'numFields' is how many fields there are in said structure (usually 7). // // The structure looks like this: // @@ -15724,70 +15724,70 @@ namespace STATS // // The decompiled scripts use TIME::GetPosixTime to fill this structure. inline BOOL StatSetDate(Hash statName, Any* value, int numFields, BOOL save) { return _i(0x2C29BFB64F4FCBE4,statName, value, numFields, save); } // 0x2C29BFB64F4FCBE4 0x36BE807B b323 - // - inline BOOL StatSetString(Hash statName, String value, BOOL save) { return _i(0xA87B2335D12531D7,statName, value, save); } // 0xA87B2335D12531D7 0xB1EF2E21 b323 - // + // + inline BOOL StatSetString(Hash statName, const char* value, BOOL save) { return _i(0xA87B2335D12531D7,statName, value, save); } // 0xA87B2335D12531D7 0xB1EF2E21 b323 + // inline BOOL StatSetPos(Hash statName, float x, float y, float z, BOOL save) { return _i(0xDB283FDE680FE72E,statName, x, y, z, save); } // 0xDB283FDE680FE72E 0x1192C9A3 b323 - // + // inline BOOL StatSetMaskedInt(Hash statName, int p1, int p2, int p3, BOOL save) { return _i(0x7BBB1B54583ED410,statName, p1, p2, p3, save); } // 0x7BBB1B54583ED410 0x2CBAA739 b323 - // - inline BOOL StatSetUserId(Hash statName, String value, BOOL save) { return _i(0x8CDDF1E452BABE11,statName, value, save); } // 0x8CDDF1E452BABE11 0xDBE78ED7 b323 - // p1 always true. + // + inline BOOL StatSetUserId(Hash statName, const char* value, BOOL save) { return _i(0x8CDDF1E452BABE11,statName, value, save); } // 0x8CDDF1E452BABE11 0xDBE78ED7 b323 + // p1 always true. inline BOOL StatSetCurrentPosixTime(Hash statName, BOOL p1) { return _i(0xC2F84B7F9C4D0C61,statName, p1); } // 0xC2F84B7F9C4D0C61 0xA286F015 b323 - // p2 appears to always be -1 + // p2 appears to always be -1 // inline BOOL StatGetInt(Hash statHash, int* outValue, int p2) { return _i(0x767FBC2AC802EF3D,statHash, outValue, p2); } // 0x767FBC2AC802EF3D 0x1C6FE43E b323 - // + // inline BOOL StatGetFloat(Hash statHash, float* outValue, Any p2) { return _i(0xD7AE6C9C9C6AC54C,statHash, outValue, p2); } // 0xD7AE6C9C9C6AC54C 0xFCBDA612 b323 - // + // inline BOOL StatGetBool(Hash statHash, BOOL* outValue, Any p2) { return _i(0x11B5E6D2AE73F48E,statHash, outValue, p2); } // 0x11B5E6D2AE73F48E 0x28A3DD2B b323 - // p3 is probably characterSlot or BOOL save, always -1 + // p3 is probably characterSlot or BOOL save, always -1 inline BOOL StatGetDate(Hash statHash, Any* outValue, int numFields, Any p3) { return _i(0x8B0FACEFC36C824B,statHash, outValue, numFields, p3); } // 0x8B0FACEFC36C824B 0xD762D16C b323 - // p1 is always -1 in the script files - inline String StatGetString(Hash statHash, int p1) { return _i(0xE50384ACC2C3DB74,statHash, p1); } // 0xE50384ACC2C3DB74 0x10CE4BDE b323 - // p3 is probably characterSlot or BOOL save, always -1 + // p1 is always -1 in the script files + inline const char* StatGetString(Hash statHash, int p1) { return _i(0xE50384ACC2C3DB74,statHash, p1); } // 0xE50384ACC2C3DB74 0x10CE4BDE b323 + // p3 is probably characterSlot or BOOL save, always -1 inline BOOL StatGetPos(Hash statName, float* outX, float* outY, float* outZ, Any p4) { return _i(0x350F82CCB186AA1B,statName, outX, outY, outZ, p4); } // 0x350F82CCB186AA1B 0xC846ECCE b323 - // p4 is probably characterSlot or BOOL save + // p4 is probably characterSlot or BOOL save inline BOOL StatGetMaskedInt(Hash statHash, int* outValue, int p2, int p3, Any p4) { return _i(0x655185A06D9EEAAB,statHash, outValue, p2, p3, p4); } // 0x655185A06D9EEAAB 0xE9D9B70F b323 - // Returns the rockstar ID (user id) value of a given stat. Returns "STAT_UNKNOWN" if the statHash is invalid or the stat has no userId - inline String StatGetUserId(Hash statHash) { return _i(0x2365C388E393BBE2,statHash); } // 0x2365C388E393BBE2 0xE2E8B6BA b323 - // - inline String StatGetLicensePlate(Hash statName) { return _i(0x5473D4195058B2E4,statName); } // 0x5473D4195058B2E4 0x1544B29F b323 - // - inline BOOL StatSetLicensePlate(Hash statName, String str) { return _i(0x69FF13266D7296DA,statName, str); } // 0x69FF13266D7296DA 0x3507D253 b323 - // + // Returns the rockstar ID (user id) value of a given stat. Returns "STAT_UNKNOWN" if the statHash is invalid or the stat has no userId + inline const char* StatGetUserId(Hash statHash) { return _i(0x2365C388E393BBE2,statHash); } // 0x2365C388E393BBE2 0xE2E8B6BA b323 + // + inline const char* StatGetLicensePlate(Hash statName) { return _i(0x5473D4195058B2E4,statName); } // 0x5473D4195058B2E4 0x1544B29F b323 + // + inline BOOL StatSetLicensePlate(Hash statName, const char* str) { return _i(0x69FF13266D7296DA,statName, str); } // 0x69FF13266D7296DA 0x3507D253 b323 + // inline Void StatIncrement(Hash statName, float value) { return _i(0x9B5A68C6489E9909,statName, value); } // 0x9B5A68C6489E9909 0xDFC5F71E b323 - // + // inline BOOL StatCommunityStartSynch() { return _i(0x5A556B229A169402); } // 0x5A556B229A169402 0x46F21343 b323 - // + // inline BOOL StatCommunitySynchIsPending() { return _i(0xB1D2BB1E1631F5B1); } // 0xB1D2BB1E1631F5B1 0x02F283CE b323 - // + // inline BOOL StatCommunityGetHistory(Hash statName, int p1, float* outValue) { return _i(0xBED9F5693F34ED17,statName, p1, outValue); } // 0xBED9F5693F34ED17 0xC4110917 b323 - // p0 seems to range from 0 to 7 + // p0 seems to range from 0 to 7 inline Void StatResetAllOnlineCharacterStats(int p0) { return _i(0x26D7399B9587FE89,p0); } // 0x26D7399B9587FE89 0x343B27E2 b323 - // p0 seems to range from 0 to 7 + // p0 seems to range from 0 to 7 inline Void StatLocalResetAllOnlineCharacterStats(int p0) { return _i(0xA78B8FA58200DA56,p0); } // 0xA78B8FA58200DA56 0xE3247582 b323 - // + // inline int StatGetNumberOfDays(Hash statName) { return _i(0xE0E854F5280FB769,statName); } // 0xE0E854F5280FB769 0xFD66A429 b323 - // + // inline int StatGetNumberOfHours(Hash statName) { return _i(0xF2D4B2FE415AAFC3,statName); } // 0xF2D4B2FE415AAFC3 0x9B431236 b323 - // + // inline int StatGetNumberOfMinutes(Hash statName) { return _i(0x7583B4BE4C5A41B5,statName); } // 0x7583B4BE4C5A41B5 0x347B4436 b323 - // + // inline int StatGetNumberOfSeconds(Hash statName) { return _i(0x2CE056FF3723F00B,statName); } // 0x2CE056FF3723F00B 0x2C1D6C31 b323 - // Does not take effect immediately, unfortunately. + // Does not take effect immediately, unfortunately. // // profileSetting seems to only be 936, 937 and 938 in scripts inline Void StatSetProfileSettingValue(int profileSetting, int value) { return _i(0x68F01422BE1D838F,profileSetting, value); } // 0x68F01422BE1D838F 0x24DD4929 b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void StatsCompletedCharacterCreation(Any p0) { return _i(0xC01D2470F22CDE5A,p0); } // 0xC01D2470F22CDE5A b2372 - // Needs more research. Possibly used to calculate the "mask" when calling "StatSetMaskedInt"? + // Needs more research. Possibly used to calculate the "mask" when calling "StatSetMaskedInt"? inline int PackedStatGetIntStatIndex(int p0) { return _i(0x94F12ABF9C79E339,p0); } // 0x94F12ABF9C79E339 0xCA160BCC b323 - // + // inline Hash GetPackedIntStatKey(int index, BOOL spStat, BOOL charStat, int character) { return _i(0x61E111E323419E07,index, spStat, charStat, character); } // 0x61E111E323419E07 0x1F938864 b323 - // + // inline Hash GetPackedTuIntStatKey(int index, BOOL spStat, BOOL charStat, int character) { return _i(0xD16C2AD6B8E32854,index, spStat, charStat, character); } // 0xD16C2AD6B8E32854 0xFB93C5A2 b323 - // Needs more research. Gets the stat name of a masked int? + // Needs more research. Gets the stat name of a masked int? // // section - values used in the decompiled scripts: // "_NGPSTAT_INT" @@ -15806,257 +15806,257 @@ namespace STATS // "_ARENAWARSPSTAT_INT" // "_CASinOPSTAT_INT" // "_CASinOHSTPSTAT_INT" - inline Hash GetPackedNgIntStatKey(int index, BOOL spStat, BOOL charStat, int character, String section) { return _i(0x2B4CDCA6F07FF3DA,index, spStat, charStat, character, section); } // 0x2B4CDCA6F07FF3DA b323 - // + inline Hash GetPackedNgIntStatKey(int index, BOOL spStat, BOOL charStat, int character, const char* section) { return _i(0x2B4CDCA6F07FF3DA,index, spStat, charStat, character, section); } // 0x2B4CDCA6F07FF3DA b323 + // inline BOOL GetPackedStatBoolCode(int index, int characterSlot) { return _i(0xDA7EBFC49AE3F1B0,index, characterSlot); } // 0xDA7EBFC49AE3F1B0 b2545 - // + // inline int GetPackedStatIntCode(int index, int characterSlot) { return _i(0xBC900A6FE73770C,index, characterSlot); } // 0xBC900A6FE73770C b2545 - // + // inline Void SetPackedStatBoolCode(int index, BOOL value, int characterSlot) { return _i(0xDB8A58AEAA67CD07,index, value, characterSlot); } // 0xDB8A58AEAA67CD07 b2545 - // + // inline Void SetPackedStatIntCode(int index, int value, int characterSlot) { return _i(0x1581503AE529CD2E,index, value, characterSlot); } // 0x1581503AE529CD2E b2545 - // - inline Void PlaystatsBackgroundScriptAction(String action, int value) { return _i(0x5009DFD741329729,action, value); } // 0x5009DFD741329729 0x61ECC465 b323 - // p3: VehicleConversion, SCAdminCashGift + // + inline Void PlaystatsBackgroundScriptAction(const char* action, int value) { return _i(0x5009DFD741329729,action, value); } // 0x5009DFD741329729 0x61ECC465 b323 + // p3: VehicleConversion, SCAdminCashGift // p4: 0 - inline Void PlaystatsFlowLow(float posX, float posY, float posZ, String p3, Any p4, int amount) { return _i(0xE6A27CDA42887F93,posX, posY, posZ, p3, p4, amount); } // 0xE6A27CDA42887F93 b2944 - // interiorAction: can either be InteriorEntry or InteriorExit - inline Void PlaystatsFlowMedium(float x, float y, float z, String interiorAction, int p4, Hash p5) { return _i(0xC4493521BAA12CCE,x, y, z, interiorAction, p4, p5); } // 0xC4493521BAA12CCE b3095 - // - inline Void PlaystatsNpcInvite(String p0) { return _i(0x93054C88E6AA7C44,p0); } // 0x93054C88E6AA7C44 0x598C06F3 b323 - // + inline Void PlaystatsFlowLow(float posX, float posY, float posZ, const char* p3, Any p4, int amount) { return _i(0xE6A27CDA42887F93,posX, posY, posZ, p3, p4, amount); } // 0xE6A27CDA42887F93 b2944 + // interiorAction: can either be InteriorEntry or InteriorExit + inline Void PlaystatsFlowMedium(float x, float y, float z, const char* interiorAction, int p4, Hash p5) { return _i(0xC4493521BAA12CCE,x, y, z, interiorAction, p4, p5); } // 0xC4493521BAA12CCE b3095 + // + inline Void PlaystatsNpcInvite(const char* p0) { return _i(0x93054C88E6AA7C44,p0); } // 0x93054C88E6AA7C44 0x598C06F3 b323 + // inline Void PlaystatsAwardXp(int amount, Hash type, Hash category) { return _i(0x46F917F6B4128FE4,amount, type, category); } // 0x46F917F6B4128FE4 0x8770017B b323 - // + // inline Void PlaystatsRankUp(int rank) { return _i(0xC7F2DE41D102BFB4,rank); } // 0xC7F2DE41D102BFB4 0x56AFB9F5 b323 - // + // inline Void PlaystatsStartedSessionInOfflinemode() { return _i(0x98760C7461724CD); } // 0x98760C7461724CD 0x896CDF8D b323 - // + // inline Void PlaystatsActivityDone(int p0, int activityId, Any p2) { return _i(0xA071E0ED98F91286,p0, activityId, p2); } // 0xA071E0ED98F91286 0x1A66945F b323 - // + // inline Void PlaystatsLeaveJobChain(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0xC5BE134EC7BA96A0,p0, p1, p2, p3, p4); } // 0xC5BE134EC7BA96A0 0xC960E161 b323 - // - inline Void PlaystatsMissionStarted(String p0, Any p1, Any p2, BOOL p3) { return _i(0xC19A2925C34D2231,p0, p1, p2, p3); } // 0xC19A2925C34D2231 0x3AAB699C b323 - // - inline Void PlaystatsMissionOver(String p0, Any p1, Any p2, BOOL p3, BOOL p4, BOOL p5) { return _i(0x7C4BB33A8CED7324,p0, p1, p2, p3, p4, p5); } // 0x7C4BB33A8CED7324 0x5B90B5FF b323 - // - inline Void PlaystatsMissionCheckpoint(String p0, Any p1, Any p2, Any p3) { return _i(0xC900596A63978C1D,p0, p1, p2, p3); } // 0xC900596A63978C1D 0xCDC52280 b323 - // - inline Void PlaystatsRandomMissionDone(String name, Any p1, Any p2, Any p3) { return _i(0x71862B1D855F32E1,name, p1, p2, p3); } // 0x71862B1D855F32E1 0xAC2C7C63 b323 - // + // + inline Void PlaystatsMissionStarted(const char* p0, Any p1, Any p2, BOOL p3) { return _i(0xC19A2925C34D2231,p0, p1, p2, p3); } // 0xC19A2925C34D2231 0x3AAB699C b323 + // + inline Void PlaystatsMissionOver(const char* p0, Any p1, Any p2, BOOL p3, BOOL p4, BOOL p5) { return _i(0x7C4BB33A8CED7324,p0, p1, p2, p3, p4, p5); } // 0x7C4BB33A8CED7324 0x5B90B5FF b323 + // + inline Void PlaystatsMissionCheckpoint(const char* p0, Any p1, Any p2, Any p3) { return _i(0xC900596A63978C1D,p0, p1, p2, p3); } // 0xC900596A63978C1D 0xCDC52280 b323 + // + inline Void PlaystatsRandomMissionDone(const char* name, Any p1, Any p2, Any p3) { return _i(0x71862B1D855F32E1,name, p1, p2, p3); } // 0x71862B1D855F32E1 0xAC2C7C63 b323 + // inline Void PlaystatsRosBet(int amount, int act, Player player, float cm) { return _i(0x121FB4DDDC2D5291,amount, act, player, cm); } // 0x121FB4DDDC2D5291 0x413539BC b323 - // + // inline Void PlaystatsRaceCheckpoint(Vehicle p0, Any p1, int p2, int p3, Any p4) { return _i(0x9C375C315099DDE4,p0, p1, p2, p3, p4); } // 0x9C375C315099DDE4 0x580D5508 b323 - // + // inline BOOL PlaystatsCreateMatchHistoryId2(int* playerAccountId, int* posixTime) { return _i(0x6DEE77AFF8C21BD1,playerAccountId, posixTime); } // 0x6DEE77AFF8C21BD1 0x489E27E7 b323 - // + // inline Void PlaystatsMatchStarted(Any p0, Any p1, Any p2) { return _i(0xBC80E22DED931E3D,p0, p1, p2); } // 0xBC80E22DED931E3D 0x2BDE85C1 b323 - // + // inline Void PlaystatsShopItem(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x176852ACAAC173D1,p0, p1, p2, p3, p4); } // 0x176852ACAAC173D1 0xA4746384 b323 - // + // inline Void PlaystatsCrateDropMissionDone(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6, Any p7) { return _i(0x1CAE5D2E3F9A07F0,p0, p1, p2, p3, p4, p5, p6, p7); } // 0x1CAE5D2E3F9A07F0 0x6602CED6 b323 - // + // inline Void PlaystatsCrateCreated(float p0, float p1, float p2) { return _i(0xAFC7E5E075A96F46,p0, p1, p2); } // 0xAFC7E5E075A96F46 0xD003E648 b323 - // + // inline Void PlaystatsHoldUpMissionDone(Any p0, Any p1, Any p2, Any p3) { return _i(0xCB00196B31C39EB1,p0, p1, p2, p3); } // 0xCB00196B31C39EB1 0x759E0EC9 b323 - // + // inline Void PlaystatsImportExportMissionDone(Any p0, Any p1, Any p2, Any p3) { return _i(0x2B69F5074C894811,p0, p1, p2, p3); } // 0x2B69F5074C894811 0x62073DF7 b323 - // + // inline Void PlaystatsRaceToPointMissionDone(int p0, Any p1, Any p2, Any p3) { return _i(0xADDD1C754E2E2914,p0, p1, p2, p3); } // 0xADDD1C754E2E2914 0x06CE3692 b323 - // + // inline Void PlaystatsAcquiredHiddenPackage(Any p0) { return _i(0x79AB33F0FBFAC40C,p0); } // 0x79AB33F0FBFAC40C 0x8D5C7B37 b323 - // + // inline Void PlaystatsWebsiteVisited(Hash scaleformHash, int p1) { return _i(0xDDF24D535060F811,scaleformHash, p1); } // 0xDDF24D535060F811 0x37D152BB b323 - // + // inline Void PlaystatsFriendActivity(int p0, BOOL p1) { return _i(0xF71DE29AB2258F1,p0, p1); } // 0xF71DE29AB2258F1 0xD1FA1BDB b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub inline Void PlaystatsOddjobDone(int totalTimeMs, int p1, BOOL p2) { return _i(0x69DEA3E9DB727B4C,totalTimeMs, p1, p2); } // 0x69DEA3E9DB727B4C 0xFE14A8EA b323 - // + // inline Void PlaystatsPropChange(Ped p0, int p1, int p2, int p3) { return _i(0xBA739D6D5A05D6E7,p0, p1, p2, p3); } // 0xBA739D6D5A05D6E7 0x25740A1D b323 - // + // inline Void PlaystatsClothChange(Ped p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x34B973047A2268B9,p0, p1, p2, p3, p4); } // 0x34B973047A2268B9 0x3AFF9E58 b323 - // This is a typo made by R*. It's supposed to be called PLAYSTATS_WEAPON_MOD_CHANGE. + // This is a typo made by R*. It's supposed to be called PLAYSTATS_WEAPON_MOD_CHANGE. inline Void PlaystatsWeaponModeChange(Hash weaponHash, Hash componentHashTo, Hash componentHashFrom) { return _i(0xE95C8A1875A02CA4,weaponHash, componentHashTo, componentHashFrom); } // 0xE95C8A1875A02CA4 0x79716890 b323 - // - inline Void PlaystatsCheatApplied(String cheat) { return _i(0x6058665D72302D3F,cheat); } // 0x6058665D72302D3F 0x345166F3 b323 - // + // + inline Void PlaystatsCheatApplied(const char* cheat) { return _i(0x6058665D72302D3F,cheat); } // 0x6058665D72302D3F 0x345166F3 b323 + // inline Void PlaystatsJobActivityEnd(Any* p0, Any* p1, Any* p2, Any* p3) { return _i(0xF8C54A461C3E11DC,p0, p1, p2, p3); } // 0xF8C54A461C3E11DC 0x04181752 b323 - // + // inline Void PlaystatsJobBend(Any* p0, Any* p1, Any* p2, Any* p3) { return _i(0xF5BB8DAC426A52C0,p0, p1, p2, p3); } // 0xF5BB8DAC426A52C0 0x40520E70 b323 - // + // inline Void PlaystatsJobLtsEnd(Any* p0, Any* p1, Any* p2, Any* p3) { return _i(0xA736CF7FB7C5BFF4,p0, p1, p2, p3); } // 0xA736CF7FB7C5BFF4 0x31002201 b323 - // + // inline Void PlaystatsJobLtsRoundEnd(Any* p0, Any* p1, Any* p2, Any* p3) { return _i(0x14E0B2D1AD1044E0,p0, p1, p2, p3); } // 0x14E0B2D1AD1044E0 0xDDD1F1F3 b323 - // - inline Void PlaystatsQuickfixTool(int element, String item) { return _i(0x90D0622866E80445,element, item); } // 0x90D0622866E80445 0x66FEB701 b323 - // + // + inline Void PlaystatsQuickfixTool(int element, const char* item) { return _i(0x90D0622866E80445,element, item); } // 0x90D0622866E80445 0x66FEB701 b323 + // inline Void PlaystatsIdleKick(int msStoodIdle) { return _i(0x5DA3A8DE8CB6226F,msStoodIdle); } // 0x5DA3A8DE8CB6226F 0x9E2B9522 b323 - // + // inline Void PlaystatsSetJoinType(int joinType) { return _i(0xD1032E482629049E,joinType); } // 0xD1032E482629049E 0x1AC97138 b323 - // + // inline Void PlaystatsHeistSaveCheat(Hash hash, int p1) { return _i(0xF4FF020A08BC8863,hash, p1); } // 0xF4FF020A08BC8863 0xB731DF54 b323 - // + // inline Void PlaystatsAppendDirectorMetric(Any* p0) { return _i(0x46326E13DA4E0546,p0); } // 0x46326E13DA4E0546 b323 - // + // inline Void PlaystatsAwardBadSport(int id) { return _i(0x47B32F5611E6E483,id); } // 0x47B32F5611E6E483 b463 - // + // inline Void PlaystatsPegasusAsPersonalAircraft(Hash modelHash) { return _i(0x9572BD4DD6B72122,modelHash); } // 0x9572BD4DD6B72122 b1180 - // + // inline Void PlaystatsShopmenuNav(Any p0, Any p1, Any p2, Any p3) { return _i(0xF96E9EA876D9DC92,p0, p1, p2, p3); } // 0xF96E9EA876D9DC92 b2802 - // + // inline Void PlaystatsFmEventChallenges(Any p0) { return _i(0x6A60E43998228229,p0); } // 0x6A60E43998228229 b463 - // + // inline Void PlaystatsFmEventVehicletarget(Any p0) { return _i(0xBFAFDB5FAAA5C5AB,p0); } // 0xBFAFDB5FAAA5C5AB b463 - // + // inline Void PlaystatsFmEventUrbanwarfare(Any p0) { return _i(0x8C9D11605E59D955,p0); } // 0x8C9D11605E59D955 b463 - // + // inline Void PlaystatsFmEventCheckpointcollection(Any p0) { return _i(0x3DE3AA516FB126A4,p0); } // 0x3DE3AA516FB126A4 b463 - // + // inline Void PlaystatsFmEventAtob(Any p0) { return _i(0xBAA2F0490E146BE8,p0); } // 0xBAA2F0490E146BE8 b463 - // + // inline Void PlaystatsFmEventPennedin(Any p0) { return _i(0x1A7CE7CD3E653485,p0); } // 0x1A7CE7CD3E653485 b463 - // + // inline Void PlaystatsFmEventPasstheparcel(Any p0) { return _i(0x419615486BBF1956,p0); } // 0x419615486BBF1956 b463 - // + // inline Void PlaystatsFmEventHotproperty(Any p0) { return _i(0x84DFC579C2FC214C,p0); } // 0x84DFC579C2FC214C b463 - // + // inline Void PlaystatsFmEventDeaddrop(Any p0) { return _i(0xA9C7F36E5D7B683,p0); } // 0xA9C7F36E5D7B683 b463 - // + // inline Void PlaystatsFmEventKingofthecastle(Any p0) { return _i(0x164C5FF663790845,p0); } // 0x164C5FF663790845 b463 - // + // inline Void PlaystatsFmEventCriminaldamage(Any p0) { return _i(0xEDBF6C9B0D2C65C8,p0); } // 0xEDBF6C9B0D2C65C8 b463 - // + // inline Void PlaystatsFmEventCompetitiveurbanwarfare(Any p0) { return _i(0x6551B1F7F6CD46EA,p0); } // 0x6551B1F7F6CD46EA b463 - // + // inline Void PlaystatsFmEventHuntbeast(Any p0) { return _i(0x2CD90358F67D0AA8,p0); } // 0x2CD90358F67D0AA8 b463 - // + // inline Void PlaystatsPimenuHideOptions(Any* data) { return _i(0x203B381133817079,data); } // 0x203B381133817079 b393 - // + // inline int LeaderboardsGetNumberOfColumns(int p0, Any p1) { return _i(0x117B45156D7EFF2E,p0, p1); } // 0x117B45156D7EFF2E 0x0A56EE34 b323 - // + // inline int LeaderboardsGetColumnId(int p0, int p1, int p2) { return _i(0xC4B5467A1886EA7E,p0, p1, p2); } // 0xC4B5467A1886EA7E 0x3821A334 b323 - // + // inline int LeaderboardsGetColumnType(int p0, Any p1, Any p2) { return _i(0xBF4FEF46DB7894D3,p0, p1, p2); } // 0xBF4FEF46DB7894D3 0x6F2820F4 b323 - // + // inline int LeaderboardsReadClearAll() { return _i(0xA34CB6E6F0DF4A0B); } // 0xA34CB6E6F0DF4A0B 0x233E058A b323 - // + // inline int LeaderboardsReadClear(Any p0, Any p1, Any p2) { return _i(0x7CCE5C737A665701,p0, p1, p2); } // 0x7CCE5C737A665701 0x7090012F b323 - // + // inline BOOL LeaderboardsReadPending(Any p0, Any p1, Any p2) { return _i(0xAC392C8483342AC2,p0, p1, p2); } // 0xAC392C8483342AC2 0xEEB8BF5C b323 - // + // inline BOOL LeaderboardsReadAnyPending() { return _i(0xA31FD15197B192BD); } // 0xA31FD15197B192BD 0x1789437B b323 - // + // inline BOOL LeaderboardsReadSuccessful(Any p0, Any p1, Any p2) { return _i(0x2FB19228983E832C,p0, p1, p2); } // 0x2FB19228983E832C 0x3AC5B2F1 b323 - // + // inline BOOL Leaderboards2ReadFriendsByRow(Any* p0, Any* p1, Any p2, BOOL p3, Any p4, Any p5) { return _i(0x918B101666F9CB83,p0, p1, p2, p3, p4, p5); } // 0x918B101666F9CB83 0xBD91B136 b323 - // + // inline BOOL Leaderboards2ReadByHandle(Any* p0, Any* p1) { return _i(0xC30713A383BFBF0E,p0, p1); } // 0xC30713A383BFBF0E 0x6B553408 b323 - // + // inline BOOL Leaderboards2ReadByRank(Any* p0, Any p1, Any p2) { return _i(0xBA2C7DB0C129449A,p0, p1, p2); } // 0xBA2C7DB0C129449A 0x1B03F59F b323 - // + // inline BOOL Leaderboards2ReadByRadius(Any* p0, Any p1, Any* p2) { return _i(0x5CE587FB5A42C8C4,p0, p1, p2); } // 0x5CE587FB5A42C8C4 0xC5B7E685 b323 - // + // inline BOOL Leaderboards2ReadByScoreInt(Any* p0, Any p1, Any p2) { return _i(0x7EEC7E4F6984A16A,p0, p1, p2); } // 0x7EEC7E4F6984A16A 0xAC020C18 b323 - // + // inline BOOL Leaderboards2ReadByScoreFloat(Any* p0, float p1, Any p2) { return _i(0xE662C8B759D08F3C,p0, p1, p2); } // 0xE662C8B759D08F3C 0xC678B29F b323 - // + // inline BOOL Leaderboards2ReadRankPrediction(Any* p0, Any* p1, Any* p2) { return _i(0xC38DC1E90D22547C,p0, p1, p2); } // 0xC38DC1E90D22547C 0x9BEC3401 b323 - // - inline BOOL Leaderboards2ReadByPlaform(Any* p0, String gamerHandleCsv, String platformName) { return _i(0xF1AE5DCDBFCA2721,p0, gamerHandleCsv, platformName); } // 0xF1AE5DCDBFCA2721 b323 - // + // + inline BOOL Leaderboards2ReadByPlaform(Any* p0, const char* gamerHandleCsv, const char* platformName) { return _i(0xF1AE5DCDBFCA2721,p0, gamerHandleCsv, platformName); } // 0xF1AE5DCDBFCA2721 b323 + // inline BOOL Leaderboards2ReadGetRowDataStart(Any* p0) { return _i(0xA0F93D5465B3094D,p0); } // 0xA0F93D5465B3094D 0xC977D6E2 b323 - // + // inline Void Leaderboards2ReadGetRowDataEnd() { return _i(0x71B008056E5692D6); } // 0x71B008056E5692D6 0xF2DB6A82 b323 - // + // inline BOOL Leaderboards2ReadGetRowDataInfo(Any p0, Any* p1) { return _i(0x34770B9CE0E03B91,p0, p1); } // 0x34770B9CE0E03B91 0x766A74FE b323 - // + // inline int Leaderboards2ReadGetRowDataInt(Any p0, Any p1) { return _i(0x88578F6EC36B4A3A,p0, p1); } // 0x88578F6EC36B4A3A 0x6B90E730 b323 - // + // inline float Leaderboards2ReadGetRowDataFloat(Any p0, Any p1) { return _i(0x38491439B6BA7F7D,p0, p1); } // 0x38491439B6BA7F7D 0x509A286F b323 - // + // inline BOOL Leaderboards2WriteData(Any* p0) { return _i(0xAE2206545888AE49,p0); } // 0xAE2206545888AE49 0x5F9DF634 b323 - // + // inline Void LeaderboardsWriteAddColumn(Any p0, Any p1, float p2) { return _i(0xBCA1D2C47B0D269,p0, p1, p2); } // 0xBCA1D2C47B0D269 0x7524E27B b323 - // + // inline Void LeaderboardsWriteAddColumnLong(Any p0, Any p1, Any p2) { return _i(0x2E65248609523599,p0, p1, p2); } // 0x2E65248609523599 0x1C5CCC3A b323 - // + // inline BOOL LeaderboardsCacheDataRow(Any* p0) { return _i(0xB9BB18E2C40142ED,p0); } // 0xB9BB18E2C40142ED 0x44F7D82B b323 - // + // inline Void LeaderboardsClearCacheData() { return _i(0xD4B02A6B476E1FDC); } // 0xD4B02A6B476E1FDC 0x87F498C1 b323 - // + // inline Void LeaderboardsClearCacheDataId(Any p0) { return _i(0x8EC74CEB042E7CFF,p0); } // 0x8EC74CEB042E7CFF 0x88AE9667 b323 - // + // inline BOOL LeaderboardsGetCacheExists(Any p0) { return _i(0x9C51349BE6CDFE2C,p0); } // 0x9C51349BE6CDFE2C 0xFC8A71F3 b323 - // + // inline int LeaderboardsGetCacheTime(Any p0) { return _i(0xF04C1C27DA35F6C8,p0); } // 0xF04C1C27DA35F6C8 0xEDF02302 b323 - // + // inline int LeaderboardsGetCacheNumberOfRows(Any p0) { return _i(0x58A651CD201D89AD,p0); } // 0x58A651CD201D89AD 0xCE7CB520 b323 - // + // inline BOOL LeaderboardsGetCacheDataRow(Any p0, Any p1, Any* p2) { return _i(0x9120E8DBA3D69273,p0, p1, p2); } // 0x9120E8DBA3D69273 0xA11289EC b323 - // + // inline Void PresenceEventUpdatestatInt(Hash statHash, int value, int p2) { return _i(0x11FF1C80276097ED,statHash, value, p2); } // 0x11FF1C80276097ED 0x4AC39C6C b323 - // + // inline Void PresenceEventUpdatestatFloat(Hash statHash, float value, int p2) { return _i(0x30A6614C1F7799B8,statHash, value, p2); } // 0x30A6614C1F7799B8 0x3E69E7C3 b323 - // - inline Void PresenceEventUpdatestatIntWithString(Hash statHash, int value, int p2, String string) { return _i(0x6483C25849031C4F,statHash, value, p2, string); } // 0x6483C25849031C4F 0x2FFD2FA5 b323 - // + // + inline Void PresenceEventUpdatestatIntWithString(Hash statHash, int value, int p2, const char* string) { return _i(0x6483C25849031C4F,statHash, value, p2, string); } // 0x6483C25849031C4F 0x2FFD2FA5 b323 + // inline BOOL GetPlayerHasDrivenAllVehicles() { return _i(0x5EAD2BF6484852E4); } // 0x5EAD2BF6484852E4 0x23D70C39 b323 - // + // inline Void SetHasPostedAllVehiclesDriven() { return _i(0xC141B8917E0017EC); } // 0xC141B8917E0017EC 0x0AD43306 b323 - // + // inline Void SetProfileSettingPrologueComplete() { return _i(0xB475F27C6A994D65); } // 0xB475F27C6A994D65 0xC7DE5C30 b323 - // Sets profile setting 939 + // Sets profile setting 939 inline Void SetProfileSettingSpChopMissionComplete() { return _i(0xC67E2DA1CBE759E2); } // 0xC67E2DA1CBE759E2 b1734 - // Sets profile setting 933 + // Sets profile setting 933 inline Void SetProfileSettingCreatorRacesDone(int value) { return _i(0xF1A1803D3476F215,value); } // 0xF1A1803D3476F215 0xA3DAC790 b323 - // Sets profile setting 934 + // Sets profile setting 934 inline Void SetProfileSettingCreatorDmDone(int value) { return _i(0x38BAAA5DD4C9D19F,value); } // 0x38BAAA5DD4C9D19F 0x726FAE66 b323 - // Sets profile setting 935 + // Sets profile setting 935 inline Void SetProfileSettingCreatorCtfDone(int value) { return _i(0x55384438FC55AD8E,value); } // 0x55384438FC55AD8E 0xF03895A4 b323 - // + // inline Void SetJobActivityIdStarted(Any p0, int characterSlot) { return _i(0x723C1CE13FBFDB67,p0, characterSlot); } // 0x723C1CE13FBFDB67 0x4C39CF10 b323 - // + // inline Void SetFreemodePrologueDone(Any p0, int characterSlot) { return _i(0xD01D20616FC73FB,p0, characterSlot); } // 0xD01D20616FC73FB 0x2180AE13 b323 - // Sets profile setting 940 and 941 + // Sets profile setting 940 and 941 inline Void SetFreemodeStrandProgressionStatus(int profileSetting, int settingValue) { return _i(0x79D310A861697CC9,profileSetting, settingValue); } // 0x79D310A861697CC9 b2699 - // + // inline Void StatNetworkIncrementOnSuicide(Any p0, float p1) { return _i(0x428EAF89E24F6C36,p0, p1); } // 0x428EAF89E24F6C36 0xEE292B91 b323 - // + // inline Void StatSetCheatIsActive() { return _i(0x47CBED6F6F8B63C); } // 0x47CBED6F6F8B63C 0xA063CABD b323 - // + // inline BOOL Leaderboards2WriteDataForEventType(Any* p0, Any* p1) { return _i(0xC980E62E33DF1D5C,p0, p1); } // 0xC980E62E33DF1D5C 0x62C19A3D b323 - // + // inline Void ForceCloudMpStatsDownloadAndOverwriteLocalSave() { return _i(0x6F361B8889A792A3); } // 0x6F361B8889A792A3 0x3B4EF322 b323 - // + // inline Void StatMigrateClearForRestart() { return _i(0xC847B43F369AC0B5); } // 0xC847B43F369AC0B5 b323 - // platformName must be one of the following: ps3, xbox360, ps4, xboxone - inline BOOL StatMigrateSavegameStart(String platformName) { return _i(0xA5C80D8E768A9E66,platformName); } // 0xA5C80D8E768A9E66 b323 - // + // platformName must be one of the following: ps3, xbox360, ps4, xboxone + inline BOOL StatMigrateSavegameStart(const char* platformName) { return _i(0xA5C80D8E768A9E66,platformName); } // 0xA5C80D8E768A9E66 b323 + // inline int StatMigrateSavegameGetStatus() { return _i(0x9A62EC95AE10E011); } // 0x9A62EC95AE10E011 b323 - // + // inline BOOL StatMigrateCheckAlreadyDone() { return _i(0x4C89FE2BDEB3F169); } // 0x4C89FE2BDEB3F169 b323 - // + // inline BOOL StatMigrateCheckStart() { return _i(0xC6E0E2616A7576BB); } // 0xC6E0E2616A7576BB b323 - // + // inline int StatMigrateCheckGetIsPlatformAvailable(int p0) { return _i(0x5BD5F255321C4AAF,p0); } // 0x5BD5F255321C4AAF b323 - // + // inline int StatMigrateCheckGetPlatformStatus(int p0, Any* p1) { return _i(0xDEAAF77EB3687E97,p0, p1); } // 0xDEAAF77EB3687E97 b323 - // + // inline int StatGetSaveMigrationStatus(Any* data) { return _i(0x886913BBEACA68C1,data); } // 0x886913BBEACA68C1 0xE3F0D62D b323 - // + // inline BOOL StatSaveMigrationCancelPendingOperation() { return _i(0x4FEF53183C3C6414); } // 0x4FEF53183C3C6414 b323 - // + // inline int StatGetCancelSaveMigrationStatus() { return _i(0x567384DFA67029E6); } // 0x567384DFA67029E6 b323 - // - inline BOOL StatSaveMigrationConsumeContent(Hash contentId, String srcPlatform, String srcGamerHandle) { return _i(0x3270F67EED31FBC1,contentId, srcPlatform, srcGamerHandle); } // 0x3270F67EED31FBC1 b323 - // + // + inline BOOL StatSaveMigrationConsumeContent(Hash contentId, const char* srcPlatform, const char* srcGamerHandle) { return _i(0x3270F67EED31FBC1,contentId, srcPlatform, srcGamerHandle); } // 0x3270F67EED31FBC1 b323 + // inline int StatGetSaveMigrationConsumeContentStatus(int* p0) { return _i(0xCE5AA445ABA8DEE0,p0); } // 0xCE5AA445ABA8DEE0 b323 - // + // inline Void StatEnableStatsTracking() { return _i(0x98E2BC1CA26287C3); } // 0x98E2BC1CA26287C3 b323 - // Prevents updates to CStatsMgr (e.g., STAT_SET_* natives) + // Prevents updates to CStatsMgr (e.g., STAT_SET_* natives) inline Void StatDisableStatsTracking() { return _i(0x629526ABA383BCAA); } // 0x629526ABA383BCAA b323 - // + // inline BOOL StatIsStatsTrackingEnabled() { return _i(0xBE3DB208333D9844); } // 0xBE3DB208333D9844 b463 - // enum StatTrackingType + // enum StatTrackingType // { // LongestWheelie = 1, // LongestStoppie = 2, @@ -16098,391 +16098,391 @@ namespace STATS // Min // } inline BOOL StatStartRecordStat(int statType, int valueType) { return _i(0x33D72899E24C3365,statType, valueType); } // 0x33D72899E24C3365 b463 - // + // inline BOOL StatStopRecordStat() { return _i(0xA761D4AC6115623D); } // 0xA761D4AC6115623D b463 - // + // inline BOOL StatGetRecordedValue(float* value) { return _i(0xF11F01D98113536A,value); } // 0xF11F01D98113536A b463 - // + // inline BOOL StatIsRecordingStat() { return _i(0x8B9CDBD6C566C38C); } // 0x8B9CDBD6C566C38C b944 - // Perform the most near misses with other vehicles in a land vehicle without crashing + // Perform the most near misses with other vehicles in a land vehicle without crashing inline int StatGetCurrentNearMissNocrashPrecise() { return _i(0xE8853FBCE7D8D0D6); } // 0xE8853FBCE7D8D0D6 b463 - // Perform the longest wheelie on a motorcycle + // Perform the longest wheelie on a motorcycle inline float StatGetCurrentRearWheelDistance() { return _i(0xA943FD1722E11EFD); } // 0xA943FD1722E11EFD b463 - // Perform the longest stoppie on a motorcycle + // Perform the longest stoppie on a motorcycle inline float StatGetCurrentFrontWheelDistance() { return _i(0x84A810B375E69C0E); } // 0x84A810B375E69C0E b463 - // Perform the longest jump in a land vehicle + // Perform the longest jump in a land vehicle inline float StatGetCurrentJumpDistance() { return _i(0x9EC8858184CD253A); } // 0x9EC8858184CD253A b463 - // Drive the furthest distance in a land vehicle without crashing + // Drive the furthest distance in a land vehicle without crashing inline float StatGetCurrentDriveNocrashDistance() { return _i(0xBA9749CC94C1FD85); } // 0xBA9749CC94C1FD85 b463 - // Achieve the highest speed in a land vehicle + // Achieve the highest speed in a land vehicle inline float StatGetCurrentSpeed() { return _i(0x55A8BECAF28A4EB7); } // 0x55A8BECAF28A4EB7 b463 - // Reverse the longest distance without crashing + // Reverse the longest distance without crashing inline float StatGetCurrentDrivingReverseDistance() { return _i(0x32CAC93C9DE73D32); } // 0x32CAC93C9DE73D32 b463 - // Fall the longest distance with a parachute before opening it + // Fall the longest distance with a parachute before opening it inline float StatGetCurrentSkydivingDistance() { return _i(0xAFF47709F1D5DCCE); } // 0xAFF47709F1D5DCCE b463 - // Fly low to the ground for the longest distance + // Fly low to the ground for the longest distance inline float StatGetChallengeFlyingDist() { return _i(0x6E0A5253375C4584); } // 0x6E0A5253375C4584 b463 - // + // inline BOOL StatGetFlyingAltitude(float* outValue) { return _i(0x1A8EA222F9C67DBB,outValue); } // 0x1A8EA222F9C67DBB b463 - // Or non-flyable area + // Or non-flyable area inline BOOL StatIsPlayerVehicleAboveOcean() { return _i(0xF9F2922717B819EC); } // 0xF9F2922717B819EC b505 - // Travel the furthest distance when bailing from a vehicle + // Travel the furthest distance when bailing from a vehicle inline float StatGetVehicleBailDistance() { return _i(0xB8B7F74BF061C6D); } // 0xB8B7F74BF061C6D b463 - // This function is hard-coded to always return 1. + // This function is hard-coded to always return 1. inline BOOL StatRollbackSaveMigration() { return _i(0xB3DA2606774A8E2D); } // 0xB3DA2606774A8E2D b323 - // Sets profile setting 866 + // Sets profile setting 866 inline Void SetHasSpecialeditionContent(int value) { return _i(0xDAC073C7901F9E15,value); } // 0xDAC073C7901F9E15 b323 - // Sets profile setting 501 + // Sets profile setting 501 inline Void SetSaveMigrationTransactionIdWarning(int transactionId) { return _i(0xF6792800AC95350D,transactionId); } // 0xF6792800AC95350D b323 - // + // inline Void GetBossGoonUuid(int characterSlot, Any p1, Any p2) { return _i(0x6BC0ACD0673ACEBE,characterSlot, p1, p2); } // 0x6BC0ACD0673ACEBE b573 - // + // inline Void PlaystatsBwBossonbossdeathmatch(Any p0) { return _i(0x8D8ADB562F09A245,p0); } // 0x8D8ADB562F09A245 b573 - // + // inline Void PlaystatsBwYatchattack(Any p0) { return _i(0xD1A1EE3B4FA8E760,p0); } // 0xD1A1EE3B4FA8E760 b573 - // + // inline Void PlaystatsBwHuntTheBoss(Any p0) { return _i(0x88087EE1F28024AE,p0); } // 0x88087EE1F28024AE b573 - // + // inline Void PlaystatsBwSightseer(Any p0) { return _i(0xFCC228E07217FCAC,p0); } // 0xFCC228E07217FCAC b573 - // + // inline Void PlaystatsBwAssault(Any p0) { return _i(0x678F86D8FC040BDB,p0); } // 0x678F86D8FC040BDB b573 - // + // inline Void PlaystatsBwBellyOfTheBeast(Any p0) { return _i(0xA6F54BB2FFCA35EA,p0); } // 0xA6F54BB2FFCA35EA b573 - // + // inline Void PlaystatsBwHeadHunter(Any p0) { return _i(0x5FF2C33B13A02A11,p0); } // 0x5FF2C33B13A02A11 b757 - // + // inline Void PlaystatsBwFragileGoods(Any p0) { return _i(0x282B6739644F4347,p0); } // 0x282B6739644F4347 b757 - // + // inline Void PlaystatsBwAirFreight(Any p0) { return _i(0xF06A6F41CB445443,p0); } // 0xF06A6F41CB445443 b757 - // + // inline Void PlaystatsBcCarJacking(Any p0) { return _i(0x7B18DA61F6BAE9D5,p0); } // 0x7B18DA61F6BAE9D5 b573 - // + // inline Void PlaystatsBcSmashAndGrab(Any p0) { return _i(0x6EAF70AE066441E,p0); } // 0x6EAF70AE066441E b573 - // + // inline Void PlaystatsBcProtectionRacket(Any p0) { return _i(0x14EDA9EE27BD1626,p0); } // 0x14EDA9EE27BD1626 b573 - // + // inline Void PlaystatsBcMostWanted(Any p0) { return _i(0x930F504203F561C9,p0); } // 0x930F504203F561C9 b573 - // + // inline Void PlaystatsBcFindersKeepers(Any p0) { return _i(0xE3261D791EB44ACB,p0); } // 0xE3261D791EB44ACB b573 - // + // inline Void PlaystatsBcPointToPoint(Any p0) { return _i(0x73001E34F85137F8,p0); } // 0x73001E34F85137F8 b573 - // + // inline Void PlaystatsBcCashing(Any p0) { return _i(0x53CAE13E9B426993,p0); } // 0x53CAE13E9B426993 b757 - // + // inline Void PlaystatsBcSalvage(Any p0) { return _i(0x7D36291161859389,p0); } // 0x7D36291161859389 b757 - // + // inline Void PlaystatsSpentPiCustomLoadout(int amount) { return _i(0xBE509B0A3693DE8B,amount); } // 0xBE509B0A3693DE8B b757 - // + // inline Void PlaystatsBuyContrabandMission(Any* data) { return _i(0xD6781E42755531F7,data); } // 0xD6781E42755531F7 b757 - // + // inline Void PlaystatsSellContrabandMission(Any* data) { return _i(0xC729991A9065376E,data); } // 0xC729991A9065376E b757 - // + // inline Void PlaystatsDefendContrabandMission(Any* data) { return _i(0x2605663BD4F23B5D,data); } // 0x2605663BD4F23B5D b757 - // + // inline Void PlaystatsRecoverContrabandMission(Any* data) { return _i(0x4D90BA8207ADA2D,data); } // 0x4D90BA8207ADA2D b757 - // + // inline Void PlaystatsHitContrabandDestroyLimit(Any p0) { return _i(0x60EEDC12AF66E846,p0); } // 0x60EEDC12AF66E846 b757 - // + // inline Void StartBeingBoss(Any p0, Any p1, Any p2) { return _i(0x3EBEAC6C3F81F6BD,p0, p1, p2); } // 0x3EBEAC6C3F81F6BD b573 - // + // inline Void StartBeingGoon(Any p0, Any p1, Any p2) { return _i(0x96E6D5150DBF1C09,p0, p1, p2); } // 0x96E6D5150DBF1C09 b573 - // + // inline Void EndBeingBoss(Any p0, Any p1, Any p2) { return _i(0xA3C53804BDB68ED2,p0, p1, p2); } // 0xA3C53804BDB68ED2 b573 - // + // inline Void EndBeingGoon(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x6BCCF9948492FD85,p0, p1, p2, p3, p4); } // 0x6BCCF9948492FD85 b573 - // + // inline Void HiredLimo(Any p0, Any p1) { return _i(0x792271AB35C356A4,p0, p1); } // 0x792271AB35C356A4 b573 - // + // inline Void OrderBossVehicle(Any p0, Any p1, Hash vehicleHash) { return _i(0xCEA553E35C2246E1,p0, p1, vehicleHash); } // 0xCEA553E35C2246E1 b573 - // + // inline Void ChangeUniform(Any p0, Any p1, Any p2) { return _i(0xD1C9B92BDD3F151D,p0, p1, p2); } // 0xD1C9B92BDD3F151D b573 - // + // inline Void ChangeGoonLookingForWork(Any p0) { return _i(0x44919CC079BB60BF,p0); } // 0x44919CC079BB60BF b573 - // + // inline Void SendMetricGhostingToPlayer(Any p0) { return _i(0x7033EEFD9B28088E,p0); } // 0x7033EEFD9B28088E b678 - // + // inline Void SendMetricVipPoach(Any p0, Any p1, Any p2) { return _i(0xAA525DFF66BB82F5,p0, p1, p2); } // 0xAA525DFF66BB82F5 b757 - // + // inline Void SendMetricPunishBodyguard(Any p0) { return _i(0x15B03EE1C43E6EC,p0); } // 0x15B03EE1C43E6EC b757 - // Allows CEventNetworkStuntPerformed to be triggered. + // Allows CEventNetworkStuntPerformed to be triggered. inline Void PlaystatsStartTrackingStunts() { return _i(0x928DBFB892638EF3); } // 0x928DBFB892638EF3 b791 - // Disallows CEventNetworkStuntPerformed to be triggered. + // Disallows CEventNetworkStuntPerformed to be triggered. inline Void PlaystatsStopTrackingStunts() { return _i(0x8A800DACCC0DA55D); } // 0x8A800DACCC0DA55D b791 - // + // inline Void PlaystatsMissionEnded(Any p0) { return _i(0xBF371CD2B64212FD,p0); } // 0xBF371CD2B64212FD b877 - // + // inline Void PlaystatsImpexpMissionEnded(Any p0) { return _i(0x7D8BA05688AD64C7,p0); } // 0x7D8BA05688AD64C7 b944 - // + // inline Void PlaystatsChangeMcRole(Any p0, Any p1, Any p2, Any p3, int role, int p5, Any p6) { return _i(0xB565B0AAE56A0E8,p0, p1, p2, p3, role, p5, p6); } // 0xB565B0AAE56A0E8 b877 - // + // inline Void PlaystatsChangeMcOutfit(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x28ECB8AC2F607DB2,p0, p1, p2, p3, p4); } // 0x28ECB8AC2F607DB2 b877 - // + // inline Void PlaystatsSwitchMcEmblem(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0xA50D2604E05CB94,p0, p1, p2, p3, p4); } // 0xA50D2604E05CB94 b877 - // + // inline Void PlaystatsMcRequestBike(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0xCC25A4553DFBF9EA,p0, p1, p2, p3, p4); } // 0xCC25A4553DFBF9EA b877 - // + // inline Void PlaystatsMcKilledRivalMcMember(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0xF534D94DFA2EAD26,p0, p1, p2, p3, p4); } // 0xF534D94DFA2EAD26 b877 - // + // inline Void PlaystatsAbandonedMc(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0xD558BEC0BBA7E8D2,p0, p1, p2, p3, p4); } // 0xD558BEC0BBA7E8D2 b877 - // + // inline Void PlaystatsEarnedMcPoints(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5) { return _i(0x501478855A6074CE,p0, p1, p2, p3, p4, p5); } // 0x501478855A6074CE b877 - // + // inline Void PlaystatsMcFormationEnds(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6) { return _i(0x3C2EEBB04B3FB72,p0, p1, p2, p3, p4, p5, p6); } // 0x3C2EEBB04B3FB72 b877 - // + // inline Void PlaystatsMcClubhouseActivity(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6, Any p7) { return _i(0x8989CBD7B4E82534,p0, p1, p2, p3, p4, p5, p6, p7); } // 0x8989CBD7B4E82534 b877 - // + // inline Void PlaystatsRivalBehavior(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6, Any p7, Any p8, Any p9) { return _i(0x27AA1C973CACFE63,p0, p1, p2, p3, p4, p5, p6, p7, p8, p9); } // 0x27AA1C973CACFE63 b944 - // + // inline Void PlaystatsCopyRankIntoNewSlot(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6) { return _i(0xB7257BA2550EA10A,p0, p1, p2, p3, p4, p5, p6); } // 0xB7257BA2550EA10A b877 - // + // inline Void PlaystatsDupeDetected(Any* data) { return _i(0x848B66100EE33B05,data); } // 0x848B66100EE33B05 b1011 - // + // inline Void PlaystatsBanAlert(int p0) { return _i(0x516FC96EB88EEFE5,p0); } // 0x516FC96EB88EEFE5 b1011 - // + // inline Void PlaystatsGunrunningMissionEnded(Any* data) { return _i(0xEACDF8487D5155A,data); } // 0xEACDF8487D5155A b1103 - // + // inline Void PlaystatsGunrunningRnd(Any p0) { return _i(0xDAF80797FC534BEC,p0); } // 0xDAF80797FC534BEC b1103 - // + // inline Void PlaystatsBusinessBattleEnded(Any p0) { return _i(0x316DB59CD14C1774,p0); } // 0x316DB59CD14C1774 b1493 - // + // inline Void PlaystatsWarehouseMissionEnded(Any p0) { return _i(0x2D7A9B577E72385E,p0); } // 0x2D7A9B577E72385E b1493 - // + // inline Void PlaystatsNightclubMissionEnded(Any p0) { return _i(0x830C3A44EB3F2CF9,p0); } // 0x830C3A44EB3F2CF9 b1493 - // + // inline Void PlaystatsDjUsage(Any p0, Any p1) { return _i(0xB26F670685631727,p0, p1); } // 0xB26F670685631727 b1493 - // + // inline Void PlaystatsMinigameUsage(Any p0, Any p1, Any p2) { return _i(0xC14BD9F5337219B2,p0, p1, p2); } // 0xC14BD9F5337219B2 b1493 - // + // inline Void PlaystatsStoneHatchetEnded(Any* data) { return _i(0x35E39E5570358630,data); } // 0x35E39E5570358630 b1493 - // + // inline Void PlaystatsSmugglerMissionEnded(Any* data) { return _i(0x320C35147D5B5DDD,data); } // 0x320C35147D5B5DDD b1180 - // + // inline Void PlaystatsFmHeistPrepEnded(Any* data) { return _i(0xD8AFB345A9C5CCBB,data); } // 0xD8AFB345A9C5CCBB b1290 - // + // inline Void PlaystatsInstancedHeistEnded(Any* data, Any p1, Any p2, Any p3) { return _i(0x1E1497D0D2108115,data, p1, p2, p3); } // 0x1E1497D0D2108115 b1290 - // + // inline Void PlaystatsDarCheckpoint(Any* data) { return _i(0xBC254FF3A911501,data); } // 0xBC254FF3A911501 b1290 - // + // inline Void PlaystatsEnterSessionPack(Any* data) { return _i(0x878FF156D36E9956,data); } // 0x878FF156D36E9956 b1290 - // + // inline Void PlaystatsDroneUsage(int p0, int p1, int p2) { return _i(0x66C7BB2416ED3FCE,p0, p1, p2); } // 0x66C7BB2416ED3FCE b1493 - // + // inline Void PlaystatsSpinWheel(int p0, int p1, int p2, int p3) { return _i(0x6731DE84A38BFAD0,p0, p1, p2, p3); } // 0x6731DE84A38BFAD0 b1604 - // + // inline Void PlaystatsArenaWarsSpectator(int p0, int p1, int p2, int p3, int p4) { return _i(0x6F4F599753F8200A,p0, p1, p2, p3, p4); } // 0x6F4F599753F8200A b1604 - // + // inline Void PlaystatsArenaWarsEnded(Any* data) { return _i(0xB479D9F0D48A1BC5,data); } // 0xB479D9F0D48A1BC5 b1604 - // + // inline Void PlaystatsSwitchPassiveMode(BOOL p0, int p1, int p2, int p3) { return _i(0x35EEC6C2BC821A71,p0, p1, p2, p3); } // 0x35EEC6C2BC821A71 b1734 - // + // inline Void PlaystatsCollectiblePickedUp(int p0, Hash objectHash, Any p2, Any p3, int moneyAmount, int rpAmount, int chipsAmount, Any p7, int p8, Any p9, Any p10) { return _i(0xCD0A8A9338681CF2,p0, objectHash, p2, p3, moneyAmount, rpAmount, chipsAmount, p7, p8, p9, p10); } // 0xCD0A8A9338681CF2 b1734 - // + // inline Void PlaystatsCasinoStoryMissionEnded(Any p0, Any p1) { return _i(0xFCCCAC2BD3C1F180,p0, p1); } // 0xFCCCAC2BD3C1F180 b1734 - // + // inline Void PlaystatsCasinoChip(Any p0) { return _i(0x999F3F090EC5012,p0); } // 0x999F3F090EC5012 b1734 - // + // inline Void PlaystatsCasinoRoulette(Any p0) { return _i(0x95101C443A84E7F1,p0); } // 0x95101C443A84E7F1 b1734 - // + // inline Void PlaystatsCasinoBlackjack(Any p0) { return _i(0x3EAE97309727E7AD,p0); } // 0x3EAE97309727E7AD b1734 - // + // inline Void PlaystatsCasinoThreeCardPoker(Any p0) { return _i(0xF740FB339D471C35,p0); } // 0xF740FB339D471C35 b1734 - // + // inline Void PlaystatsCasinoSlotMachine(Any p0) { return _i(0xEF5EC67D392B830A,p0); } // 0xEF5EC67D392B830A b1734 - // + // inline Void PlaystatsCasinoInsideTrack(Any p0) { return _i(0x49F059625058A86,p0); } // 0x49F059625058A86 b1734 - // + // inline Void PlaystatsCasinoLuckySeven(Any p0) { return _i(0xC432C1435F5E4FA,p0); } // 0xC432C1435F5E4FA b1734 - // + // inline Void PlaystatsCasinoRouletteLight(Any p0) { return _i(0x6572ABA3DE1197FC,p0); } // 0x6572ABA3DE1197FC b1734 - // + // inline Void PlaystatsCasinoBlackjackLight(Any p0) { return _i(0xD5451C7BF151EB6F,p0); } // 0xD5451C7BF151EB6F b1734 - // + // inline Void PlaystatsCasinoThreeCardPokerLight(Any p0) { return _i(0xC9001364B4388F22,p0); } // 0xC9001364B4388F22 b1734 - // + // inline Void PlaystatsCasinoSlotMachineLight(Any p0) { return _i(0xE60054A0FAE8227F,p0); } // 0xE60054A0FAE8227F b1734 - // + // inline Void PlaystatsCasinoInsideTrackLight(Any p0) { return _i(0x23A3CBCD50D54E47,p0); } // 0x23A3CBCD50D54E47 b1734 - // + // inline Void PlaystatsArcadeGame(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6) { return _i(0x533A7D1EA58DF958,p0, p1, p2, p3, p4, p5, p6); } // 0x533A7D1EA58DF958 b1734 - // + // inline Void PlaystatsArcadeLoveMatch(Any p0, Any p1) { return _i(0x4FCDBD3F0A813C25,p0, p1); } // 0x4FCDBD3F0A813C25 b1868 - // + // inline Void PlaystatsFreemodeCasinoMissionEnded(Any* data) { return _i(0x1A0D4A6C336B7BC5,data); } // 0x1A0D4A6C336B7BC5 b1734 - // + // inline Void PlaystatsHeist3Drone(Any p0) { return _i(0xDFBD93BF2943E29B,p0); } // 0xDFBD93BF2943E29B b1868 - // + // inline Void PlaystatsHeist3Hack(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5) { return _i(0x92FC0EEDFAC04A14,p0, p1, p2, p3, p4, p5); } // 0x92FC0EEDFAC04A14 b1868 - // + // inline Void PlaystatsNpcPhone(Any* p0) { return _i(0x77F15613D36993,p0); } // 0x77F15613D36993 b1868 - // + // inline Void PlaystatsArcadeCabinet(Any p0) { return _i(0xF9096193DF1F99D4,p0); } // 0xF9096193DF1F99D4 b1868 - // + // inline Void PlaystatsHeist3Finale(Any p0) { return _i(0x2E0259BABC27A327,p0); } // 0x2E0259BABC27A327 b1868 - // + // inline Void PlaystatsHeist3Prep(Any p0) { return _i(0x53C31853EC9531FF,p0); } // 0x53C31853EC9531FF b1868 - // + // inline Void PlaystatsMasterControl(Any p0, Any p1, Any p2, Any p3) { return _i(0x810B5FCC52EC7FF0,p0, p1, p2, p3); } // 0x810B5FCC52EC7FF0 b1868 - // + // inline Void PlaystatsQuitMode(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x5BF29846C6527C54,p0, p1, p2, p3, p4); } // 0x5BF29846C6527C54 b1868 - // + // inline Void PlaystatsMissionVote(Any p0) { return _i(0xC03FAB2C2F92289B,p0); } // 0xC03FAB2C2F92289B b1868 - // + // inline Void PlaystatsNjvsVote(Any p0) { return _i(0x5CDAED54B34B0ED0,p0); } // 0x5CDAED54B34B0ED0 b1868 - // + // inline Void PlaystatsKillYourself() { return _i(0x4AFF7E02E485E92B); } // 0x4AFF7E02E485E92B b1868 - // + // inline Void PlaystatsFmMissionEnd(Any p0, Any p1, Any p2, Any p3) { return _i(0x46A70777BE6CEAB9,p0, p1, p2, p3); } // 0x46A70777BE6CEAB9 b2545 - // + // inline Void PlaystatsHeist4Prep(Any p0) { return _i(0xDFCDB14317A9B361,p0); } // 0xDFCDB14317A9B361 b2189 - // + // inline Void PlaystatsHeist4Finale(Any p0) { return _i(0xC1E963C58664B556,p0); } // 0xC1E963C58664B556 b2189 - // + // inline Void PlaystatsHeist4Hack(Any p0, Any p1, Any p2, Any p3, Any p4) { return _i(0x2FA3173480008493,p0, p1, p2, p3, p4); } // 0x2FA3173480008493 b2189 - // + // inline Void PlaystatsSubWeap(Any p0, Any p1, Any p2, Any p3) { return _i(0xD4367D310F079DB0,p0, p1, p2, p3); } // 0xD4367D310F079DB0 b2189 - // + // inline Void PlaystatsFastTrvl(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5, Any p6, Any p7, Any p8, Any p9, Any p10) { return _i(0x4DC416F246A41FC8,p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); } // 0x4DC416F246A41FC8 b2189 - // + // inline Void PlaystatsHubEntry(Any p0) { return _i(0x2818FF6638CB09DE,p0); } // 0x2818FF6638CB09DE b2189 - // + // inline Void PlaystatsDjMissionEnded(Any p0) { return _i(0xD6CA58B3B53A0F22,p0); } // 0xD6CA58B3B53A0F22 b2189 - // + // inline Void PlaystatsRobberyPrep(Any p0) { return _i(0x1A67DFBF1F5C3835,p0); } // 0x1A67DFBF1F5C3835 b2372 - // + // inline Void PlaystatsRobberyFinale(Any p0) { return _i(0xBBA55BE9AAAABF44,p0); } // 0xBBA55BE9AAAABF44 b2372 - // + // inline Void PlaystatsExtraEvent(Any p0) { return _i(0xFA5B74BAB8A7EF99,p0); } // 0xFA5B74BAB8A7EF99 b2372 - // + // inline Void PlaystatsCarclubPoints(Any p0) { return _i(0xFF14D6FEEC507BBE,p0); } // 0xFF14D6FEEC507BBE b2372 - // + // inline Void PlaystatsCarclubChallenge(Any p0, Any p1, Any p2, Any p3) { return _i(0x1187CB58D7F3BED7,p0, p1, p2, p3); } // 0x1187CB58D7F3BED7 b2372 - // + // inline Void PlaystatsCarclubPrize(int p0, Hash vehicleModel) { return _i(0x69C922B677621428,p0, vehicleModel); } // 0x69C922B677621428 b2372 - // + // inline Void PlaystatsAwardNav(Any p0, Any p1, Any p2, Any p3) { return _i(0x70F52471E758EBAE,p0, p1, p2, p3); } // 0x70F52471E758EBAE b2545 - // + // inline Void PlaystatsInstMissionEnd(Any p0) { return _i(0xFEA3F7E83C0610FA,p0); } // 0xFEA3F7E83C0610FA b2545 - // + // inline Void PlaystatsHubExit(Any p0) { return _i(0x5A46ACE5C4661132,p0); } // 0x5A46ACE5C4661132 b2545 - // + // inline Void PlaystatsVehDel(int bossId1, int bossId2, int bossType, int vehicleID, int reason) { return _i(0x10A691F5756416D0,bossId1, bossId2, bossType, vehicleID, reason); } // 0x10A691F5756416D0 b2944 - // + // inline Void PlaystatsInventory(Any p0) { return _i(0x887DAD63CF5B7908,p0); } // 0x887DAD63CF5B7908 b2699 - // + // inline Void PlaystatsAcidMissionEnd(Any p0) { return _i(0x8A23D1324F6B2BAC,p0); } // 0x8A23D1324F6B2BAC b2802 - // + // inline Void PlaystatsAcidRnd(Any p0) { return _i(0xCEACCF0550FDC5BA,p0); } // 0xCEACCF0550FDC5BA b2802 - // + // inline Void PlaystatsIdle(Any p0, Any p1, Any p2) { return _i(0xEC9553A178E8F1D1,p0, p1, p2); } // 0xEC9553A178E8F1D1 b2802 - // + // inline Void PlaystatsPlayerStyle(Any p0) { return _i(0x48FAC5DC7AC6EA99,p0); } // 0x48FAC5DC7AC6EA99 b2802 - // + // inline Void PlaystatsRandomEvent(Any p0) { return _i(0x7EA06F970F999394,p0); } // 0x7EA06F970F999394 b2944 - // + // inline Void PlaystatsAlert(Any* data) { return _i(0x5649CA22AF74E019,data); } // 0x5649CA22AF74E019 b3095 - // + // inline Void PlaystatsAttritionStageEnd(Any p0) { return _i(0xBD642335A732F1A8,p0); } // 0xBD642335A732F1A8 b2944 - // + // inline Void PlaystatsShowroomNav(Any p0, Any p1, Hash entity) { return _i(0x961D4157B9B428DB,p0, p1, entity); } // 0x961D4157B9B428DB b2944 - // Data struct contains various tunables related to test drives at Simeons Showroom or Luxury Showcase. + // Data struct contains various tunables related to test drives at Simeons Showroom or Luxury Showcase. inline Void PlaystatsShowroomOverview(Any* data) { return _i(0x151D6C04C9E2742F,data); } // 0x151D6C04C9E2742F b2944 } namespace STREAMING { - // + // inline Void LoadAllObjectsNow() { return _i(0xBD6E84632DD4CB3F); } // 0xBD6E84632DD4CB3F 0xC9DBDA90 b323 - // + // inline Void LoadScene(float x, float y, float z) { return _i(0x4448EB75B4904BDB,x, y, z); } // 0x4448EB75B4904BDB 0xB72403F5 b323 - // + // inline BOOL NetworkUpdateLoadScene() { return _i(0xC4582015556D1C46); } // 0xC4582015556D1C46 0xC76E023C b323 - // + // inline BOOL IsNetworkLoadingScene() { return _i(0x41CA5A33160EA4AB); } // 0x41CA5A33160EA4AB 0x6DCFC021 b323 - // + // inline Void SetInteriorActive(int interiorID, BOOL toggle) { return _i(0xE37B76C387BE28ED,interiorID, toggle); } // 0xE37B76C387BE28ED 0xE1013910 b323 - // Request a model to be loaded into memory. + // Request a model to be loaded into memory. // inline Void RequestModel(Hash model) { return _i(0x963D27A58DF860AC,model); } // 0x963D27A58DF860AC 0xFFF1B500 b323 - // + // inline Void RequestMenuPedModel(Hash model) { return _i(0xA0261AEF7ACFC51E,model); } // 0xA0261AEF7ACFC51E 0x48CEB6B4 b323 - // Checks if the specified model has loaded into memory. + // Checks if the specified model has loaded into memory. inline BOOL HasModelLoaded(Hash model) { return _i(0x98A4EB5D89A0C952,model); } // 0x98A4EB5D89A0C952 0x62BFDB37 b323 - // STREAMING::RequestModelS_IN_ROOM(l_13BC, "V_FIB01_cur_elev"); + // STREAMING::RequestModelS_IN_ROOM(l_13BC, "V_FIB01_cur_elev"); // STREAMING::RequestModelS_IN_ROOM(l_13BC, "limbo"); // STREAMING::RequestModelS_IN_ROOM(l_13BB, "V_Office_gnd_lifts"); // STREAMING::RequestModelS_IN_ROOM(l_13BB, "limbo"); // STREAMING::RequestModelS_IN_ROOM(l_13BC, "v_fib01_jan_elev"); // STREAMING::RequestModelS_IN_ROOM(l_13BC, "limbo"); - inline Void RequestModelsInRoom(Interior interior, String roomName) { return _i(0x8A7A40100EDFEC58,interior, roomName); } // 0x8A7A40100EDFEC58 0x939243FB b323 - // Unloads model from memory + inline Void RequestModelsInRoom(Interior interior, const char* roomName) { return _i(0x8A7A40100EDFEC58,interior, roomName); } // 0x8A7A40100EDFEC58 0x939243FB b323 + // Unloads model from memory inline Void SetModelAsNoLongerNeeded(Hash model) { return _i(0xE532F5D78798DAAB,model); } // 0xE532F5D78798DAAB 0xAE0F069E b323 - // Check if model is in cdimage(rpf) + // Check if model is in cdimage(rpf) inline BOOL IsModelInCdimage(Hash model) { return _i(0x35B9E0803292B641,model); } // 0x35B9E0803292B641 0x1094782F b323 - // Returns whether the specified model exists in the game. + // Returns whether the specified model exists in the game. inline BOOL IsModelValid(Hash model) { return _i(0xC0296A2EDF545E92,model); } // 0xC0296A2EDF545E92 0xAF8F8E9D b323 - // + // inline BOOL IsModelAPed(Hash model) { return _i(0x75816577FEA6DAD5,model); } // 0x75816577FEA6DAD5 b1103 - // Returns whether the specified model represents a vehicle. + // Returns whether the specified model represents a vehicle. inline BOOL IsModelAVehicle(Hash model) { return _i(0x19AAC8F07BFEC53E,model); } // 0x19AAC8F07BFEC53E 0xFFFC85D4 b323 - // + // inline Void RequestCollisionAtCoord(float x, float y, float z) { return _i(0x7503F7948F491A7,x, y, z); } // 0x7503F7948F491A7 0xCD9805E7 b323 - // + // inline Void RequestCollisionForModel(Hash model) { return _i(0x923CB32A3B874FCB,model); } // 0x923CB32A3B874FCB 0x3930C042 b323 - // + // inline BOOL HasCollisionForModelLoaded(Hash model) { return _i(0x22CCA434E368F03A,model); } // 0x22CCA434E368F03A 0x41A094F8 b323 - // Alias of RequestCollisionAtCoord. + // Alias of RequestCollisionAtCoord. inline Void RequestAdditionalCollisionAtCoord(float x, float y, float z) { return _i(0xC9156DC11411A9EA,x, y, z); } // 0xC9156DC11411A9EA 0xC2CC1DF2 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline BOOL DoesAnimDictExist(String animDict) { return _i(0x2DA49C3B79856961,animDict); } // 0x2DA49C3B79856961 0xCD31C872 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline Void RequestAnimDict(String animDict) { return _i(0xD3BD40951412FEF6,animDict); } // 0xD3BD40951412FEF6 0xDCA96950 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline BOOL HasAnimDictLoaded(String animDict) { return _i(0xD031A9162D01088C,animDict); } // 0xD031A9162D01088C 0x05E6763C b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline Void RemoveAnimDict(String animDict) { return _i(0xF66A602F829E2A06,animDict); } // 0xF66A602F829E2A06 0x0AE050B5 b323 - // Starts loading the specified animation set. An animation set provides movement animations for a ped. See SetPedMovementClipset. + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline BOOL DoesAnimDictExist(const char* animDict) { return _i(0x2DA49C3B79856961,animDict); } // 0x2DA49C3B79856961 0xCD31C872 b323 + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline Void RequestAnimDict(const char* animDict) { return _i(0xD3BD40951412FEF6,animDict); } // 0xD3BD40951412FEF6 0xDCA96950 b323 + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline BOOL HasAnimDictLoaded(const char* animDict) { return _i(0xD031A9162D01088C,animDict); } // 0xD031A9162D01088C 0x05E6763C b323 + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline Void RemoveAnimDict(const char* animDict) { return _i(0xF66A602F829E2A06,animDict); } // 0xF66A602F829E2A06 0x0AE050B5 b323 + // Starts loading the specified animation set. An animation set provides movement animations for a ped. See SetPedMovementClipset. // // 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 - inline Void RequestAnimSet(String animSet) { return _i(0x6EA47DAE7FAD0EED,animSet); } // 0x6EA47DAE7FAD0EED 0x2988B3FC b323 - // Gets whether the specified animation set has finished loading. An animation set provides movement animations for a ped. See SetPedMovementClipset. + inline Void RequestAnimSet(const char* animSet) { return _i(0x6EA47DAE7FAD0EED,animSet); } // 0x6EA47DAE7FAD0EED 0x2988B3FC b323 + // Gets whether the specified animation set has finished loading. An animation set provides movement animations for a ped. See SetPedMovementClipset. // // 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 - inline BOOL HasAnimSetLoaded(String animSet) { return _i(0xC4EA073D86FB29B0,animSet); } // 0xC4EA073D86FB29B0 0x4FFF397D b323 - // Unloads the specified animation set. An animation set provides movement animations for a ped. See SetPedMovementClipset. + inline BOOL HasAnimSetLoaded(const char* animSet) { return _i(0xC4EA073D86FB29B0,animSet); } // 0xC4EA073D86FB29B0 0x4FFF397D b323 + // Unloads the specified animation set. An animation set provides movement animations for a ped. See SetPedMovementClipset. // // 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 - inline Void RemoveAnimSet(String animSet) { return _i(0x16350528F93024B3,animSet); } // 0x16350528F93024B3 0xD04A817A b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline Void RemoveAnimSet(const char* animSet) { return _i(0x16350528F93024B3,animSet); } // 0x16350528F93024B3 0xD04A817A b323 + // 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 - inline Void RequestClipSet(String clipSet) { return _i(0xD2A71E1A77418A49,clipSet); } // 0xD2A71E1A77418A49 0x546C627A b323 - // Alias for HasAnimSetLoaded. + inline Void RequestClipSet(const char* clipSet) { return _i(0xD2A71E1A77418A49,clipSet); } // 0xD2A71E1A77418A49 0x546C627A b323 + // Alias for HasAnimSetLoaded. // // 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 - inline BOOL HasClipSetLoaded(String clipSet) { return _i(0x318234F4F3738AF3,clipSet); } // 0x318234F4F3738AF3 0x230D5455 b323 - // Alias for RemoveAnimSet. + inline BOOL HasClipSetLoaded(const char* clipSet) { return _i(0x318234F4F3738AF3,clipSet); } // 0x318234F4F3738AF3 0x230D5455 b323 + // Alias for RemoveAnimSet. // // 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 - inline Void RemoveClipSet(String clipSet) { return _i(0x1F73A131C18CD94,clipSet); } // 0x1F73A131C18CD94 0x1E21F7AA b323 - // Exemple: RequestIpl("TrevorsTrailerTrash"); + inline Void RemoveClipSet(const char* clipSet) { return _i(0x1F73A131C18CD94,clipSet); } // 0x1F73A131C18CD94 0x1E21F7AA b323 + // Exemple: RequestIpl("TrevorsTrailerTrash"); // // Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json - inline Void RequestIpl(String iplName) { return _i(0x41B4893843BBDB74,iplName); } // 0x41B4893843BBDB74 0x3B70D1DB b323 - // Removes an IPL from the map. + inline Void RequestIpl(const char* iplName) { return _i(0x41B4893843BBDB74,iplName); } // 0x41B4893843BBDB74 0x3B70D1DB b323 + // 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 // @@ -16494,33 +16494,33 @@ namespace STREAMING // STREAMING::RemoveIpl("trevorstrailertidy"); // // iplName = Name of IPL you want to remove. - inline Void RemoveIpl(String iplName) { return _i(0xEE6C5AD3ECE0A82D,iplName); } // 0xEE6C5AD3ECE0A82D 0xDF7CBD36 b323 - // Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json - inline BOOL IsIplActive(String iplName) { return _i(0x88A741E44A2B3495,iplName); } // 0x88A741E44A2B3495 0xB2C33714 b323 - // + inline Void RemoveIpl(const char* iplName) { return _i(0xEE6C5AD3ECE0A82D,iplName); } // 0xEE6C5AD3ECE0A82D 0xDF7CBD36 b323 + // Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json + inline BOOL IsIplActive(const char* iplName) { return _i(0x88A741E44A2B3495,iplName); } // 0x88A741E44A2B3495 0xB2C33714 b323 + // inline Void SetStreaming(BOOL toggle) { return _i(0x6E0C692677008888,toggle); } // 0x6E0C692677008888 0x27EF6CB2 b323 - // 0 - default + // 0 - default // 1 - HeistIsland inline Void LoadGlobalWaterFile(int waterType) { return _i(0x7E3F55ED251B76D3,waterType); } // 0x7E3F55ED251B76D3 b2189 - // + // inline int GetGlobalWaterFile() { return _i(0xF741BD853611592D); } // 0xF741BD853611592D b2189 - // + // inline Void SetGamePausesForStreaming(BOOL toggle) { return _i(0x717CD6E6FAEBBEDC,toggle); } // 0x717CD6E6FAEBBEDC 0x9211A28A b323 - // + // inline Void SetReducePedModelBudget(BOOL toggle) { return _i(0x77B5F9A36BF96710,toggle); } // 0x77B5F9A36BF96710 0xAFCB2B86 b323 - // + // inline Void SetReduceVehicleModelBudget(BOOL toggle) { return _i(0x80C527893080CCF3,toggle); } // 0x80C527893080CCF3 0xCDB4FB7E b323 - // This is a NOP function. It does nothing at all. + // This is a NOP function. It does nothing at all. inline Void SetDitchPoliceModels(BOOL toggle) { return _i(0x42CBE54462D92634,toggle); } // 0x42CBE54462D92634 0x3EA7FCE4 b323 - // + // inline int GetNumberOfStreamingRequests() { return _i(0x4060057271CEBC89); } // 0x4060057271CEBC89 0xC2EE9A02 b323 - // maps script name (thread + 0xD0) by lookup via scriptfx.dat - does nothing when script name is empty + // maps script name (thread + 0xD0) by lookup via scriptfx.dat - does nothing when script name is empty inline Void RequestPtfxAsset() { return _i(0x944955FB2A3935C8); } // 0x944955FB2A3935C8 0x2C649263 b323 - // + // inline BOOL HasPtfxAssetLoaded() { return _i(0xCA7D9B86ECA7481B); } // 0xCA7D9B86ECA7481B 0x3EFF96BE b323 - // + // inline Void RemovePtfxAsset() { return _i(0x88C6814073DD4A73); } // 0x88C6814073DD4A73 0xC10F178C b323 - // From the b678d decompiled scripts: + // From the b678d decompiled scripts: // // STREAMING::RequestNamedPtfxAsset("core_snow"); // STREAMING::RequestNamedPtfxAsset("fm_mission_controler"); @@ -16535,64 +16535,64 @@ namespace STREAMING // STREAMING::RequestNamedPtfxAsset("scr_mp_tankbattle"); // STREAMING::RequestNamedPtfxAsset("scr_ornate_heist"); // STREAMING::RequestNamedPtfxAsset("scr_prison_break_heist_station"); - inline Void RequestNamedPtfxAsset(String fxName) { return _i(0xB80D8756B4668AB6,fxName); } // 0xB80D8756B4668AB6 0xCFEA19A9 b323 - // - inline BOOL HasNamedPtfxAssetLoaded(String fxName) { return _i(0x8702416E512EC454,fxName); } // 0x8702416E512EC454 0x9ACC6446 b323 - // - inline Void RemoveNamedPtfxAsset(String fxName) { return _i(0x5F61EBBE1A00F96D,fxName); } // 0x5F61EBBE1A00F96D 0xC44762A1 b323 - // + inline Void RequestNamedPtfxAsset(const char* fxName) { return _i(0xB80D8756B4668AB6,fxName); } // 0xB80D8756B4668AB6 0xCFEA19A9 b323 + // + inline BOOL HasNamedPtfxAssetLoaded(const char* fxName) { return _i(0x8702416E512EC454,fxName); } // 0x8702416E512EC454 0x9ACC6446 b323 + // + inline Void RemoveNamedPtfxAsset(const char* fxName) { return _i(0x5F61EBBE1A00F96D,fxName); } // 0x5F61EBBE1A00F96D 0xC44762A1 b323 + // inline Void SetVehiclePopulationBudget(int p0) { return _i(0xCB9E1EB3BE2AF4E9,p0); } // 0xCB9E1EB3BE2AF4E9 0x1D56993C b323 - // Control how many new (ambient?) peds will spawn in the game world. + // 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. inline Void SetPedPopulationBudget(int p0) { return _i(0x8C95333CFC3340F3,p0); } // 0x8C95333CFC3340F3 0xD2D026CD b323 - // + // inline Void ClearFocus() { return _i(0x31B73D1EA9F01DA2); } // 0x31B73D1EA9F01DA2 0x34D91E7A b323 - // Override the area where the camera will render the terrain. + // Override the area where the camera will render the terrain. // p3, p4 and p5 are usually set to 0.0 // inline Void SetFocusPosAndVel(float x, float y, float z, float offsetX, float offsetY, float offsetZ) { return _i(0xBB7454BAFF08FE25,x, y, z, offsetX, offsetY, offsetZ); } // 0xBB7454BAFF08FE25 0x14680A60 b323 - // 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. + // 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. inline Void SetFocusEntity(Entity entity) { return _i(0x198F77705FA0931D,entity); } // 0x198F77705FA0931D 0x18DB04AC b323 - // + // inline BOOL IsEntityFocus(Entity entity) { return _i(0x2DDFF3FB9075D747,entity); } // 0x2DDFF3FB9075D747 0xB456D707 b323 - // + // inline Void SetRestoreFocusEntity(Entity p0) { return _i(0x811381EF5062FEC,p0); } // 0x811381EF5062FEC b323 - // Possible p0 values: + // Possible p0 values: // // "prologue" // "Prologue_Main" - inline Void SetMapdatacullboxEnabled(String name, BOOL toggle) { return _i(0xAF12610C644A35C9,name, toggle); } // 0xAF12610C644A35C9 0x403CD434 b323 - // This native does absolutely nothing, just a nullsub + inline Void SetMapdatacullboxEnabled(const char* name, BOOL toggle) { return _i(0xAF12610C644A35C9,name, toggle); } // 0xAF12610C644A35C9 0x403CD434 b323 + // This native does absolutely nothing, just a nullsub inline Void SetAllMapdataCulled(Any p0) { return _i(0x4E52E752C76E7E7A,p0); } // 0x4E52E752C76E7E7A 0xA07BAEB9 b323 - // Always returns zero. + // Always returns zero. inline int StreamvolCreateSphere(float x, float y, float z, float rad, Any p4, Any p5) { return _i(0x219C7B8D53E429FD,x, y, z, rad, p4, p5); } // 0x219C7B8D53E429FD 0x10B6AB36 b323 - // Always returns zero. + // Always returns zero. inline int StreamvolCreateFrustum(float p0, float p1, float p2, float p3, float p4, float p5, float p6, Any p7, Any p8) { return _i(0x1F3F018BC3AFA77C,p0, p1, p2, p3, p4, p5, p6, p7, p8); } // 0x1F3F018BC3AFA77C 0x72344191 b323 - // Always returns zero. + // Always returns zero. inline int StreamvolCreateLine(float p0, float p1, float p2, float p3, float p4, float p5, Any p6) { return _i(0xAD9710CEE2F590F,p0, p1, p2, p3, p4, p5, p6); } // 0xAD9710CEE2F590F 0xC0157255 b323 - // + // inline Void StreamvolDelete(Any unused) { return _i(0x1EE7D8DF4425F053,unused); } // 0x1EE7D8DF4425F053 0xE80F8ABE b323 - // + // inline BOOL StreamvolHasLoaded(Any unused) { return _i(0x7D41E9D2D17C5B2D,unused); } // 0x7D41E9D2D17C5B2D 0x1B3521F4 b323 - // + // inline BOOL StreamvolIsValid(Any unused) { return _i(0x7C313F94746702C,unused); } // 0x7C313F94746702C 0x42CFE9C0 b323 - // + // inline BOOL IsStreamvolActive() { return _i(0xBC9823AB80A3DCAC); } // 0xBC9823AB80A3DCAC 0x56253356 b323 - // `radius` value is usually between `3f` and `7000f` in original 1868 scripts. + // `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 inline BOOL NewLoadSceneStart(float posX, float posY, float posZ, float offsetX, float offsetY, float offsetZ, float radius, int p7) { return _i(0x212A8D0D2BABFAC2,posX, posY, posZ, offsetX, offsetY, offsetZ, radius, p7); } // 0x212A8D0D2BABFAC2 0xDF9C38B6 b323 - // + // inline BOOL NewLoadSceneStartSphere(float x, float y, float z, float radius, Any p4) { return _i(0xACCFB4ACF53551B0,x, y, z, radius, p4); } // 0xACCFB4ACF53551B0 0xFA037FEB b323 - // + // inline Void NewLoadSceneStop() { return _i(0xC197616D221FF4A4); } // 0xC197616D221FF4A4 0x7C05B1F6 b323 - // + // inline BOOL IsNewLoadSceneActive() { return _i(0xA41A05B6CB741B85); } // 0xA41A05B6CB741B85 0xAD234B7F b323 - // + // inline BOOL IsNewLoadSceneLoaded() { return _i(0x1B8247A7A8B9AD1); } // 0x1B8247A7A8B9AD1 0x3ECD839F b323 - // + // inline BOOL IsSafeToStartPlayerSwitch() { return _i(0x71E7B2E657449AAD); } // 0x71E7B2E657449AAD 0xEAA51103 b323 - // // this enum comes directly from R* so don't edit this + // // this enum comes directly from R* so don't edit this // enum ePlayerSwitchTypes // { // SWITCH_TYPE_AUTO, @@ -16617,43 +16617,43 @@ namespace STREAMING // 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. inline Void StartPlayerSwitch(Ped from, Ped to, int flags, int switchType) { return _i(0xFAA23F2CBA159D67,from, to, flags, switchType); } // 0xFAA23F2CBA159D67 0x0829E975 b323 - // + // inline Void StopPlayerSwitch() { return _i(0x95C0A5BBDC189AA1); } // 0x95C0A5BBDC189AA1 0x2832C010 b323 - // Returns true if the player is currently switching, false otherwise. + // Returns true if the player is currently switching, false otherwise. // (When the camera is in the sky moving from Trevor to Franklin for example) inline BOOL IsPlayerSwitchInProgress() { return _i(0xD9D2CFFF49FAB35F); } // 0xD9D2CFFF49FAB35F 0x56135ACC b323 - // + // inline int GetPlayerSwitchType() { return _i(0xB3C94A90D9FC9E62); } // 0xB3C94A90D9FC9E62 0x280DC015 b323 - // x1, y1, z1 -- Coords of your ped model + // x1, y1, z1 -- Coords of your ped model // x2, y2, z2 -- Coords of the ped you want to switch to inline int GetIdealPlayerSwitchType(float x1, float y1, float z1, float x2, float y2, float z2) { return _i(0xB5D7B26B45720E05,x1, y1, z1, x2, y2, z2); } // 0xB5D7B26B45720E05 0xD5A450F1 b323 - // + // inline int GetPlayerSwitchState() { return _i(0x470555300D10B2A5); } // 0x470555300D10B2A5 0x39A0E1F2 b323 - // + // inline int GetPlayerShortSwitchState() { return _i(0x20F898A5D9782800); } // 0x20F898A5D9782800 0x9B7BA38F b323 - // + // inline Void SetPlayerShortSwitchStyle(int p0) { return _i(0x5F2013F8BC24EE69,p0); } // 0x5F2013F8BC24EE69 0xF0BD420D b323 - // + // inline int GetPlayerSwitchJumpCutIndex() { return _i(0x78C0D93253149435); } // 0x78C0D93253149435 0x02BA7AC2 b323 - // + // inline Void SetPlayerSwitchOutro(float cameraCoordX, float cameraCoordY, float cameraCoordZ, float camRotationX, float camRotationY, float camRotationZ, float camFov, float camFarClip, int rotationOrder) { return _i(0xC208B673CE446B61,cameraCoordX, cameraCoordY, cameraCoordZ, camRotationX, camRotationY, camRotationZ, camFov, camFarClip, rotationOrder); } // 0xC208B673CE446B61 0x47352E14 b323 - // All names can be found in playerswitchestablishingshots.meta - inline Void SetPlayerSwitchEstablishingShot(String name) { return _i(0xFDE9DBFC0A6BC65,name); } // 0xFDE9DBFC0A6BC65 0x279077B0 b323 - // + // All names can be found in playerswitchestablishingshots.meta + inline Void SetPlayerSwitchEstablishingShot(const char* name) { return _i(0xFDE9DBFC0A6BC65,name); } // 0xFDE9DBFC0A6BC65 0x279077B0 b323 + // inline Void AllowPlayerSwitchPan() { return _i(0x43D1680C6D19A8E9); } // 0x43D1680C6D19A8E9 0x55CB21F9 b323 - // + // inline Void AllowPlayerSwitchOutro() { return _i(0x74DE2E8739086740); } // 0x74DE2E8739086740 0x1084F2F4 b323 - // + // inline Void AllowPlayerSwitchAscent() { return _i(0x8E2A065ABDAE6994); } // 0x8E2A065ABDAE6994 0x5B1E995D b323 - // + // inline Void AllowPlayerSwitchDescent() { return _i(0xAD5FDF34B81BFE79); } // 0xAD5FDF34B81BFE79 0x4B4B9A13 b323 - // + // inline BOOL IsSwitchReadyForDescent() { return _i(0xDFA80CB25D0A19B3); } // 0xDFA80CB25D0A19B3 0x408F7148 b323 - // + // inline Void EnableSwitchPauseBeforeDescent() { return _i(0xD4793DFF3AF2ABCD); } // 0xD4793DFF3AF2ABCD 0x4062FF73 b323 - // + // inline Void DisableSwitchOutroFx() { return _i(0xBD605B8E0E18B3BB); } // 0xBD605B8E0E18B3BB 0x59CC312D b323 - // doesn't act normally when used on mount chilliad + // doesn't act normally when used on mount chilliad // Flags is a bitflag: // 2^n - Enabled Functionality: // 0 - Skip camera rotate up @@ -16667,110 +16667,110 @@ namespace STREAMING // 2: 1 step out from ped // 3: 1 step towards ped inline Void SwitchToMultiFirstpart(Ped ped, int flags, int switchType) { return _i(0xAAB3200ED59016BC,ped, flags, switchType); } // 0xAAB3200ED59016BC 0xFB4D062D b323 - // + // inline Void SwitchToMultiSecondpart(Ped ped) { return _i(0xD8295AF639FD9CB8,ped); } // 0xD8295AF639FD9CB8 0x2349373B b323 - // + // inline BOOL IsSwitchToMultiFirstpartFinished() { return _i(0x933BBEEB8C61B5F4); } // 0x933BBEEB8C61B5F4 0x74C16879 b323 - // + // inline int GetPlayerSwitchInterpOutDuration() { return _i(0x8C2D6C52A3104BB); } // 0x8C2D6C52A3104BB 0x569847E3 b323 - // + // inline int GetPlayerSwitchInterpOutCurrentTime() { return _i(0x5B48A06DD0E792A5); } // 0x5B48A06DD0E792A5 0xC7A3D279 b323 - // + // inline BOOL IsSwitchSkippingDescent() { return _i(0x5B74EA8CFD5E3E7E); } // 0x5B74EA8CFD5E3E7E 0x90F64284 b323 - // + // inline Void SetSceneStreamingTracksCamPosThisFrame() { return _i(0x1E9057A74FD73E23); } // 0x1E9057A74FD73E23 b323 - // + // inline float GetLodscale() { return _i(0xC15B0E443B2349D); } // 0xC15B0E443B2349D 0x7154B6FD b323 - // This allows you to override "extended distance scaling" setting. Needs to be called each frame. + // 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 inline Void OverrideLodscaleThisFrame(float scaling) { return _i(0xA76359FC80B2438E,scaling); } // 0xA76359FC80B2438E 0xE5612C1A b323 - // + // inline Void RemapLodscaleRangeThisFrame(float p0, float p1, float p2, float p3) { return _i(0xBED8CA5FF5E04113,p0, p1, p2, p3); } // 0xBED8CA5FF5E04113 0x9CD6A451 b323 - // + // inline Void SuppressHdMapStreamingThisFrame() { return _i(0x472397322E92A856); } // 0x472397322E92A856 0x4267DA87 b323 - // + // inline Void SetRenderHdOnly(BOOL toggle) { return _i(0x40AEFD1A244741F2,toggle); } // 0x40AEFD1A244741F2 0x9FA4AF99 b323 - // + // inline Void ForceAllowTimeBasedFadingThisFrame() { return _i(0x3F1A106BDA7DD3E); } // 0x3F1A106BDA7DD3E b323 - // - inline Void IplGroupSwapStart(String iplName1, String iplName2) { return _i(0x95A7DABDDBB78AE7,iplName1, iplName2); } // 0x95A7DABDDBB78AE7 0x9EF0A9CF b323 - // + // + inline Void IplGroupSwapStart(const char* iplName1, const char* iplName2) { return _i(0x95A7DABDDBB78AE7,iplName1, iplName2); } // 0x95A7DABDDBB78AE7 0x9EF0A9CF b323 + // inline Void IplGroupSwapCancel() { return _i(0x63EB2B972A218CAC); } // 0x63EB2B972A218CAC 0xF2CDD6A8 b323 - // + // inline BOOL IplGroupSwapIsReady() { return _i(0xFB199266061F820A); } // 0xFB199266061F820A 0x17B0A1CD b323 - // + // inline Void IplGroupSwapFinish() { return _i(0xF4A0DADB70F57FA6); } // 0xF4A0DADB70F57FA6 0x3DA7AA5D b323 - // + // inline BOOL IplGroupSwapIsActive() { return _i(0x5068F488DDB54DD8); } // 0x5068F488DDB54DD8 0xDAB4BAC0 b323 - // This native is used to attribute the SRL that BeginSrl is going to load. This is usually used for 'in-game' cinematics (not cutscenes but camera stuff) instead of SetFocusPosAndVel because it loads a specific area of the map which is pretty useful when the camera moves from distant areas. + // This native is used to attribute the SRL that BeginSrl is going to load. This is usually used for 'in-game' cinematics (not cutscenes but camera stuff) instead of SetFocusPosAndVel 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. - inline Void PrefetchSrl(String srl) { return _i(0x3D245789CE12982C,srl); } // 0x3D245789CE12982C 0x37BE2FBB b323 - // Returns true when the srl from BeginSrl is loaded. + inline Void PrefetchSrl(const char* srl) { return _i(0x3D245789CE12982C,srl); } // 0x3D245789CE12982C 0x37BE2FBB b323 + // Returns true when the srl from BeginSrl is loaded. inline BOOL IsSrlLoaded() { return _i(0xD0263801A4C5B0BB); } // 0xD0263801A4C5B0BB 0x670FA2A6 b323 - // + // inline Void BeginSrl() { return _i(0x9BADDC94EF83B823); } // 0x9BADDC94EF83B823 0x24F49427 b323 - // Clear the current srl and stop rendering the area selected by PrefetchSrl and started with BeginSrl. + // Clear the current srl and stop rendering the area selected by PrefetchSrl and started with BeginSrl. inline Void EndSrl() { return _i(0xA41540E63C9EE17); } // 0xA41540E63C9EE17 0x1977C56A b323 - // + // inline Void SetSrlTime(float p0) { return _i(0xA74A541C6884E7B8,p0); } // 0xA74A541C6884E7B8 0x30F8A487 b323 - // + // inline Void SetSrlPostCutsceneCamera(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5) { return _i(0xEF39EE20C537E98C,p0, p1, p2, p3, p4, p5); } // 0xEF39EE20C537E98C 0x814D0752 b323 - // + // inline Void SetSrlReadaheadTimes(Any p0, Any p1, Any p2, Any p3) { return _i(0xBEB2D9A1D9A8F55A,p0, p1, p2, p3); } // 0xBEB2D9A1D9A8F55A 0x62F02485 b323 - // + // inline Void SetSrlLongJumpMode(BOOL p0) { return _i(0x20C6C7E4EB082A7F,p0); } // 0x20C6C7E4EB082A7F 0xA6459CAA b323 - // + // inline Void SetSrlForcePrestream(Any p0) { return _i(0xF8155A7F03DDFC8E,p0); } // 0xF8155A7F03DDFC8E 0xF8F515E4 b323 - // + // inline Void SetHdArea(float x, float y, float z, float radius) { return _i(0xB85F26619073E775,x, y, z, radius); } // 0xB85F26619073E775 0x80BAA035 b323 - // + // inline Void ClearHdArea() { return _i(0xCE58B1CFB9290813); } // 0xCE58B1CFB9290813 0x7CAC6FA0 b323 - // + // inline Void InitCreatorBudget() { return _i(0xB5A4DB34FE89B88A); } // 0xB5A4DB34FE89B88A 0xE243B2AF b323 - // + // inline Void ShutdownCreatorBudget() { return _i(0xCCE26000E9A6FAD7); } // 0xCCE26000E9A6FAD7 0x897A510F b323 - // + // inline BOOL AddModelToCreatorBudget(Hash modelHash) { return _i(0xBC3144DEB678666,modelHash); } // 0xBC3144DEB678666 0xC0E83320 b323 - // + // inline Void RemoveModelFromCreatorBudget(Hash modelHash) { return _i(0xF086AD9354FAC3A3,modelHash); } // 0xF086AD9354FAC3A3 0x1C576388 b323 - // 0.0 = no memory used + // 0.0 = no memory used // 1.0 = all memory used // // Maximum model memory (as defined in common\data\missioncreatordata.meta) is 100 MiB inline float GetUsedCreatorBudget() { return _i(0x3D3D8B3BE5A83D35); } // 0x3D3D8B3BE5A83D35 0x3E9C4CBE b323 - // Enables the specified island. For more information, see islandhopper.meta - inline Void SetIslandEnabled(String name, BOOL toggle) { return _i(0x9A9D1BA639675CF1,name, toggle); } // 0x9A9D1BA639675CF1 b2189 + // Enables the specified island. For more information, see islandhopper.meta + inline Void SetIslandEnabled(const char* name, BOOL toggle) { return _i(0x9A9D1BA639675CF1,name, toggle); } // 0x9A9D1BA639675CF1 b2189 } namespace TASK { - // Stand still (?) + // Stand still (?) inline Void TaskPause(Ped ped, int ms) { return _i(0xE73A266DB0CA9042,ped, ms); } // 0xE73A266DB0CA9042 0x17A64668 b323 - // Makes the specified ped stand still for (time) milliseconds. + // Makes the specified ped stand still for (time) milliseconds. inline Void TaskStandStill(Ped ped, int time) { return _i(0x919BE13EED931959,ped, time); } // 0x919BE13EED931959 0x6F80965D b323 - // Definition is wrong. This has 4 parameters (Not sure when they were added. v350 has 2, v678 has 4). + // 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. inline Void TaskJump(Ped ped, BOOL usePlayerLaunchForce, BOOL doSuperJump, BOOL useFullSuperJumpForce) { return _i(0xAE4086104E067B1,ped, usePlayerLaunchForce, doSuperJump, useFullSuperJumpForce); } // 0xAE4086104E067B1 0x0356E3CE b323 - // + // inline Void TaskCower(Ped ped, int duration) { return _i(0x3EB1FE9E8E908E15,ped, duration); } // 0x3EB1FE9E8E908E15 0x9CF1C19B b323 - // In the scripts, p3 was always -1. + // 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. inline Void TaskHandsUp(Ped ped, int duration, Ped facingPed, int timeToFacePed, int flags) { return _i(0xF2EAB31979A7F910,ped, duration, facingPed, timeToFacePed, flags); } // 0xF2EAB31979A7F910 0x8DCC19C5 b323 - // + // inline Void UpdateTaskHandsUpDuration(Ped ped, int duration) { return _i(0xA98FCAFD7893C834,ped, duration); } // 0xA98FCAFD7893C834 0x3AA39BE9 b323 - // The given ped will try to open the nearest door to 'seat'. + // 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. inline Void TaskOpenVehicleDoor(Ped ped, Vehicle vehicle, int timeOut, int seat, float speed) { return _i(0x965791A9A488A062,ped, vehicle, timeOut, seat, speed); } // 0x965791A9A488A062 0x8EE06BF4 b323 - // speed 1.0 = walk, 2.0 = run + // speed 1.0 = walk, 2.0 = run // p5 1 = normal, 3 = teleport to vehicle, 16 = teleport directly into vehicle // p6 is always 0 // @@ -16781,8 +16781,8 @@ namespace TASK // 2 = right back seat // 3 = outside left // 4 = outside right - inline Void TaskEnterVehicle(Ped ped, Vehicle vehicle, int timeout, int seat, float speed, int flag, String overrideEntryClipsetName, Any p7) { return _i(0xC20E50AA46D09CA8,ped, vehicle, timeout, seat, speed, flag, overrideEntryClipsetName, p7); } // 0xC20E50AA46D09CA8 0xB8689B4E b323 - // Flags from decompiled scripts: + inline Void TaskEnterVehicle(Ped ped, Vehicle vehicle, int timeout, int seat, float speed, int flag, const char* overrideEntryClipsetName, Any p7) { return _i(0xC20E50AA46D09CA8,ped, vehicle, timeout, seat, speed, flag, overrideEntryClipsetName, p7); } // 0xC20E50AA46D09CA8 0xB8689B4E b323 + // Flags from decompiled scripts: // 0 = normal exit and closes door. // 1 = normal exit and closes door. // 16 = teleports outside, door kept closed. @@ -16793,54 +16793,54 @@ namespace TASK // // Others to be tried out: 320, 512, 131072. inline Void TaskLeaveVehicle(Ped ped, Vehicle vehicle, int flags) { return _i(0xD3DBCE61A490BE02,ped, vehicle, flags); } // 0xD3DBCE61A490BE02 0x7B1141C6 b323 - // + // inline Void TaskGetOffBoat(Ped ped, Vehicle boat) { return _i(0x9C00E77AF14B2DFF,ped, boat); } // 0x9C00E77AF14B2DFF 0x4293601F b323 - // + // inline Void TaskSkyDive(Ped ped, BOOL instant) { return _i(0x601736CFE536B0A0,ped, instant); } // 0x601736CFE536B0A0 0xD3874AFA b323 - // Second parameter is unused. + // Second parameter is unused. // // second parameter was for jetpack in the early stages of gta and the hard coded code is now removed inline Void TaskParachute(Ped ped, BOOL giveParachuteItem, BOOL instant) { return _i(0xD2F1C53C97EE81AB,ped, giveParachuteItem, instant); } // 0xD2F1C53C97EE81AB 0xEC3060A2 b323 - // makes ped parachute to coords x y z. Works well with PATHFIND::GetSafeCoordForPed + // makes ped parachute to coords x y z. Works well with PATHFIND::GetSafeCoordForPed inline Void TaskParachuteToTarget(Ped ped, float x, float y, float z) { return _i(0xB33E291AFA6BD03A,ped, x, y, z); } // 0xB33E291AFA6BD03A 0xE0104D6C b323 - // + // inline Void SetParachuteTaskTarget(Ped ped, float x, float y, float z) { return _i(0xC313379AF0FCEDA7,ped, x, y, z); } // 0xC313379AF0FCEDA7 0x6ED3AD81 b323 - // + // inline Void SetParachuteTaskThrust(Ped ped, float thrust) { return _i(0x729BAC1B8C64317,ped, thrust); } // 0x729BAC1B8C64317 0xD07C8AAA b323 - // minHeightAboveGround: the minimum height above ground the heli must be at before the ped can start rappelling + // minHeightAboveGround: the minimum height above ground the heli must be at before the ped can start rappelling // // Only appears twice in the scripts. // // TASK::TaskRappelFromHeli(PLAYER::PlayerPedId(), 10.0f); // TASK::TaskRappelFromHeli(a_0, 10.0f); inline Void TaskRappelFromHeli(Ped ped, float minHeightAboveGround) { return _i(0x9693B0312F91649,ped, minHeightAboveGround); } // 0x9693B0312F91649 0x2C7ADB93 b323 - // info about driving modes: https://gtaforums.com/topic/822314-guide-driving-styles/ + // info about driving modes: https://gtaforums.com/topic/822314-guide-driving-styles/ inline Void TaskVehicleDriveToCoord(Ped ped, Vehicle vehicle, float x, float y, float z, float speed, Any p6, Hash vehicleModel, int drivingMode, float stopRange, float straightLineDistance) { return _i(0xE2A2AA2F659D77A7,ped, vehicle, x, y, z, speed, p6, vehicleModel, drivingMode, stopRange, straightLineDistance); } // 0xE2A2AA2F659D77A7 0xE4AC0387 b323 - // + // inline Void TaskVehicleDriveToCoordLongrange(Ped ped, Vehicle vehicle, float x, float y, float z, float speed, int driveMode, float stopRange) { return _i(0x158BB33F920D360C,ped, vehicle, x, y, z, speed, driveMode, stopRange); } // 0x158BB33F920D360C 0x1490182A b323 - // + // inline Void TaskVehicleDriveWander(Ped ped, Vehicle vehicle, float speed, int drivingStyle) { return _i(0x480142959D337D00,ped, vehicle, speed, drivingStyle); } // 0x480142959D337D00 0x36EC0EB0 b323 - // p6 always -1 + // p6 always -1 // p7 always 10.0 // p8 always 1 inline Void TaskFollowToOffsetOfEntity(Ped ped, Entity entity, float offsetX, float offsetY, float offsetZ, float movementSpeed, int timeout, float stoppingRange, BOOL persistFollowing) { return _i(0x304AE42E357B8C7E,ped, entity, offsetX, offsetY, offsetZ, movementSpeed, timeout, stoppingRange, persistFollowing); } // 0x304AE42E357B8C7E 0x2DF5A6AC b323 - // + // inline Void TaskGoStraightToCoord(Ped ped, float x, float y, float z, float speed, int timeout, float targetHeading, float distanceToSlide) { return _i(0xD76B57B44F1E6F8B,ped, x, y, z, speed, timeout, targetHeading, distanceToSlide); } // 0xD76B57B44F1E6F8B 0x80A9E7A7 b323 - // + // inline Void TaskGoStraightToCoordRelativeToEntity(Ped ped, Entity entity, float x, float y, float z, float moveBlendRatio, int time) { return _i(0x61E360B7E040D12E,ped, entity, x, y, z, moveBlendRatio, time); } // 0x61E360B7E040D12E 0xD26CAC68 b323 - // Makes the specified ped achieve the specified heading. + // 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. inline Void TaskAchieveHeading(Ped ped, float heading, int timeout) { return _i(0x93B93A37987F1F3D,ped, heading, timeout); } // 0x93B93A37987F1F3D 0x0A0E9B42 b323 - // MulleKD19: Clears the current point route. Call this before TaskExtendRoute and TaskFollowPointRoute. + // MulleKD19: Clears the current point route. Call this before TaskExtendRoute and TaskFollowPointRoute. inline Void TaskFlushRoute() { return _i(0x841142A1376E9006); } // 0x841142A1376E9006 0x34219154 b323 - // MulleKD19: Adds a new point to the current point route. Call TaskFlushRoute before the first call to this. Call TaskFollowPointRoute to make the Ped go the route. + // MulleKD19: Adds a new point to the current point route. Call TaskFlushRoute before the first call to this. Call TaskFollowPointRoute to make the Ped go the route. // // A maximum of 8 points can be added. inline Void TaskExtendRoute(float x, float y, float z) { return _i(0x1E7889778264843A,x, y, z); } // 0x1E7889778264843A 0x43271F69 b323 - // MulleKD19: Makes the ped go on the created point route. + // 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. @@ -16853,7 +16853,7 @@ namespace TASK // TaskExtendRoute(10f, 10f, 70f); // TaskFollowPointRoute(GetPlayerPed(), 1f, 0); inline Void TaskFollowPointRoute(Ped ped, float speed, int mode) { return _i(0x595583281858626E,ped, speed, mode); } // 0x595583281858626E 0xB837C816 b323 - // 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 + // 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. // @@ -16866,26 +16866,26 @@ namespace TASK // EGOTO_ENTITY_NEVER_SLOW_FOR_PATH_LENGTH = 0x01, // }; inline Void TaskGoToEntity(Entity entity, Entity target, int duration, float distance, float moveBlendRatio, float slowDownDistance, int flags) { return _i(0x6A071245EB0D1882,entity, target, duration, distance, moveBlendRatio, slowDownDistance, flags); } // 0x6A071245EB0D1882 0x374827C2 b323 - // Makes the specified ped flee the specified distance from the specified position. + // Makes the specified ped flee the specified distance from the specified position. inline Void TaskSmartFleeCoord(Ped ped, float x, float y, float z, float distance, int time, BOOL preferPavements, BOOL quitIfOutOfRange) { return _i(0x94587F17E9C365D5,ped, x, y, z, distance, time, preferPavements, quitIfOutOfRange); } // 0x94587F17E9C365D5 0xB2E686FC b323 - // Makes a ped run away from another ped (fleeTarget). + // 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 inline Void TaskSmartFleePed(Ped ped, Ped fleeTarget, float safeDistance, int fleeTime, BOOL preferPavements, BOOL updateToNearestHatedPed) { return _i(0x22B0D0E37CCB840D,ped, fleeTarget, safeDistance, fleeTime, preferPavements, updateToNearestHatedPed); } // 0x22B0D0E37CCB840D 0xE52EB560 b323 - // + // inline Void TaskReactAndFleePed(Ped ped, Ped fleeTarget) { return _i(0x72C896464915D1B1,ped, fleeTarget); } // 0x72C896464915D1B1 0x8A632BD8 b323 - // + // inline Void TaskShockingEventReact(Ped ped, int eventHandle) { return _i(0x452419CBD838065B,ped, eventHandle); } // 0x452419CBD838065B 0x9BD00ACF b323 - // + // inline Void TaskWanderInArea(Ped ped, float x, float y, float z, float radius, float minimalLength, float timeBetweenWalks) { return _i(0xE054346CA3A0F315,ped, x, y, z, radius, minimalLength, timeBetweenWalks); } // 0xE054346CA3A0F315 0xC6981FB9 b323 - // Makes ped walk around the area. + // 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. inline Void TaskWanderStandard(Ped ped, float heading, int flags) { return _i(0xBB9CE077274F6A1B,ped, heading, flags); } // 0xBB9CE077274F6A1B 0xAF59151A b323 - // - inline Void TaskWanderSpecific(Ped ped, String conditionalAnimGroupStr, String conditionalAnimStr, float heading) { return _i(0x6919A2F136426098,ped, conditionalAnimGroupStr, conditionalAnimStr, heading); } // 0x6919A2F136426098 b1868 - // Modes: + // + inline Void TaskWanderSpecific(Ped ped, const char* conditionalAnimGroupStr, const char* conditionalAnimStr, float heading) { return _i(0x6919A2F136426098,ped, conditionalAnimGroupStr, conditionalAnimStr, heading); } // 0x6919A2F136426098 b1868 + // Modes: // 0 - ignore heading // 1 - park forward // 2 - park backwards @@ -16894,52 +16894,52 @@ namespace TASK // // 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. inline Void TaskVehiclePark(Ped ped, Vehicle vehicle, float x, float y, float z, float heading, int mode, float radius, BOOL keepEngineOn) { return _i(0xF3E34E968EA374E,ped, vehicle, x, y, z, heading, mode, radius, keepEngineOn); } // 0xF3E34E968EA374E 0x5C85FF90 b323 - // known "killTypes" are: "AR_stealth_kill_knife" and "AR_stealth_kill_a". + // known "killTypes" are: "AR_stealth_kill_knife" and "AR_stealth_kill_a". inline Void TaskStealthKill(Ped killer, Ped target, Hash stealthKillActionResultHash, float desiredMoveBlendRatio, int stealthFlags) { return _i(0xAA5DC05579D60BD9,killer, target, stealthKillActionResultHash, desiredMoveBlendRatio, stealthFlags); } // 0xAA5DC05579D60BD9 0x0D64C2FA b323 - // + // inline Void TaskPlantBomb(Ped ped, float x, float y, float z, float heading) { return _i(0x965FEC691D55E9BF,ped, x, y, z, heading); } // 0x965FEC691D55E9BF 0x33457535 b323 - // If no timeout, set timeout to -1. + // If no timeout, set timeout to -1. inline Void TaskFollowNavMeshToCoord(Ped ped, float x, float y, float z, float moveBlendRatio, int time, float targetRadius, int flags, float targetHeading) { return _i(0x15D3A79D4E44B913,ped, x, y, z, moveBlendRatio, time, targetRadius, flags, targetHeading); } // 0x15D3A79D4E44B913 0xFE4A10D9 b323 - // + // inline Void TaskFollowNavMeshToCoordAdvanced(Ped ped, float x, float y, float z, float moveBlendRatio, int time, float targetRadius, int flags, float slideToCoordHeading, float maxSlopeNavigable, float clampMaxSearchDistance, float targetHeading) { return _i(0x17F58B88D085DBAC,ped, x, y, z, moveBlendRatio, time, targetRadius, flags, slideToCoordHeading, maxSlopeNavigable, clampMaxSearchDistance, targetHeading); } // 0x17F58B88D085DBAC 0x6BF6E296 b323 - // + // inline Void SetPedPathCanUseClimbovers(Ped ped, BOOL Toggle) { return _i(0x8E06A6FE76C9EFF4,ped, Toggle); } // 0x8E06A6FE76C9EFF4 0xB7B7D442 b323 - // + // inline Void SetPedPathCanUseLadders(Ped ped, BOOL Toggle) { return _i(0x77A5B103C87F476E,ped, Toggle); } // 0x77A5B103C87F476E 0x53A879EE b323 - // + // inline Void SetPedPathCanDropFromHeight(Ped ped, BOOL Toggle) { return _i(0xE361C5C71C431A4F,ped, Toggle); } // 0xE361C5C71C431A4F 0x394B7AC9 b323 - // Default modifier is 1.0, minimum is 0.0 and maximum is 10.0. + // Default modifier is 1.0, minimum is 0.0 and maximum is 10.0. inline Void SetPedPathClimbCostModifier(Ped ped, float modifier) { return _i(0x88E32DB8C1A4AA4B,ped, modifier); } // 0x88E32DB8C1A4AA4B 0x55E06443 b323 - // + // inline Void SetPedPathMayEnterWater(Ped ped, BOOL mayEnterWater) { return _i(0xF35425A4204367EC,ped, mayEnterWater); } // 0xF35425A4204367EC 0x9C606EE3 b323 - // + // inline Void SetPedPathPreferToAvoidWater(Ped ped, BOOL avoidWater) { return _i(0x38FE1EC73743793C,ped, avoidWater); } // 0x38FE1EC73743793C 0x0EA39A29 b323 - // + // inline Void SetPedPathAvoidFire(Ped ped, BOOL avoidFire) { return _i(0x4455517B28441E60,ped, avoidFire); } // 0x4455517B28441E60 0xDCC5B934 b323 - // Needs to be looped! And yes, it does work and is not a hash collision. + // Needs to be looped! And yes, it does work and is not a hash collision. // Birds will try to reach the given height. inline Void SetGlobalMinBirdFlightHeight(float height) { return _i(0x6C6B148586F934F7,height); } // 0x6C6B148586F934F7 0x2AFB14B8 b323 - // 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. + // 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 GetNavmeshRouteResult // Looks like the native returns an int for the path's state: // 1 - ??? // 2 - ??? // 3 - Finished Generating inline int GetNavmeshRouteDistanceRemaining(Ped ped, float* distanceRemaining, BOOL* isPathReady) { return _i(0xC6F5C0BCDC74D62D,ped, distanceRemaining, isPathReady); } // 0xC6F5C0BCDC74D62D 0xD9281778 b323 - // See GET_NAVMESH_ROUTE_DISTanCE_REMAINING for more details. + // See GET_NAVMESH_ROUTE_DISTanCE_REMAINING for more details. inline int GetNavmeshRouteResult(Ped ped) { return _i(0x632E831F382A0FA8,ped); } // 0x632E831F382A0FA8 0x96491602 b323 - // + // inline BOOL IsControlledVehicleUnableToGetToRoad(Ped ped) { return _i(0x3E38E28A1D80DDF6,ped); } // 0x3E38E28A1D80DDF6 0x54856309 b323 - // example from fm_mission_controller + // example from fm_mission_controller // // TASK::TaskGoToCoordAnyMeans(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000); // inline Void TaskGoToCoordAnyMeans(Ped ped, float x, float y, float z, float moveBlendRatio, Vehicle vehicle, BOOL useLongRangeVehiclePathing, int drivingFlags, float maxRangeToShootTargets) { return _i(0x5BC448CB78FA3E88,ped, x, y, z, moveBlendRatio, vehicle, useLongRangeVehiclePathing, drivingFlags, maxRangeToShootTargets); } // 0x5BC448CB78FA3E88 0xF91DF93B b323 - // + // inline Void TaskGoToCoordAnyMeansExtraParams(Ped ped, float x, float y, float z, float moveBlendRatio, Vehicle vehicle, BOOL useLongRangeVehiclePathing, int drivingFlags, float maxRangeToShootTargets, float extraVehToTargetDistToPreferVehicle, float driveStraightLineDistance, int extraFlags, float warpTimerMS) { return _i(0x1DD45F9ECFDB1BC9,ped, x, y, z, moveBlendRatio, vehicle, useLongRangeVehiclePathing, drivingFlags, maxRangeToShootTargets, extraVehToTargetDistToPreferVehicle, driveStraightLineDistance, extraFlags, warpTimerMS); } // 0x1DD45F9ECFDB1BC9 0x094B75EF b323 - // + // inline Void TaskGoToCoordAnyMeansExtraParamsWithCruiseSpeed(Ped ped, float x, float y, float z, float moveBlendRatio, Vehicle vehicle, BOOL useLongRangeVehiclePathing, int drivingFlags, float maxRangeToShootTargets, float extraVehToTargetDistToPreferVehicle, float driveStraightLineDistance, int extraFlags, float cruiseSpeed, float targetArriveDist) { return _i(0xB8ECD61F531A7B02,ped, x, y, z, moveBlendRatio, vehicle, useLongRangeVehiclePathing, drivingFlags, maxRangeToShootTargets, extraVehToTargetDistToPreferVehicle, driveStraightLineDistance, extraFlags, cruiseSpeed, targetArriveDist); } // 0xB8ECD61F531A7B02 0x86DC03F9 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + // 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 // ---------------------- @@ -17001,14 +17001,14 @@ namespace TASK // // 0 for single player // Can be 1 but only for MP - inline Void TaskPlayAnim(Ped ped, String animDictionary, String animationName, float blendInSpeed, float blendOutSpeed, int duration, int flag, float playbackRate, BOOL lockX, BOOL lockY, BOOL lockZ) { return _i(0xEA47FE3719165B94,ped, animDictionary, animationName, blendInSpeed, blendOutSpeed, duration, flag, playbackRate, lockX, lockY, lockZ); } // 0xEA47FE3719165B94 0x5AB552C6 b323 - // It's similar to TaskPlayAnim, except the first 6 floats let you specify the initial position and rotation of the task. (Ped gets teleported to the position). + inline Void TaskPlayAnim(Ped ped, const char* animDictionary, const char* animationName, float blendInSpeed, float blendOutSpeed, int duration, int flag, float playbackRate, BOOL lockX, BOOL lockY, BOOL lockZ) { return _i(0xEA47FE3719165B94,ped, animDictionary, animationName, blendInSpeed, blendOutSpeed, duration, flag, playbackRate, lockX, lockY, lockZ); } // 0xEA47FE3719165B94 0x5AB552C6 b323 + // It's similar to TaskPlayAnim, 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 - inline Void TaskPlayAnimAdvanced(Ped ped, String animDict, String animName, float posX, float posY, float posZ, float rotX, float rotY, float rotZ, float animEnterSpeed, float animExitSpeed, int duration, Any flag, float animTime, int rotOrder, int ikFlags) { return _i(0x83CDB10EA29B370B,ped, animDict, animName, posX, posY, posZ, rotX, rotY, rotZ, animEnterSpeed, animExitSpeed, duration, flag, animTime, rotOrder, ikFlags); } // 0x83CDB10EA29B370B 0x3DDEB0E6 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline Void StopAnimTask(Entity entity, String animDictionary, String animationName, float blendDelta) { return _i(0x97FF36A1D40EA00A,entity, animDictionary, animationName, blendDelta); } // 0x97FF36A1D40EA00A 0x2B520A57 b323 - // From fm_mission_controller.c: + inline Void TaskPlayAnimAdvanced(Ped ped, const char* animDict, const char* animName, float posX, float posY, float posZ, float rotX, float rotY, float rotZ, float animEnterSpeed, float animExitSpeed, int duration, Any flag, float animTime, int rotOrder, int ikFlags) { return _i(0x83CDB10EA29B370B,ped, animDict, animName, posX, posY, posZ, rotX, rotY, rotZ, animEnterSpeed, animExitSpeed, duration, flag, animTime, rotOrder, ikFlags); } // 0x83CDB10EA29B370B 0x3DDEB0E6 b323 + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline Void StopAnimTask(Entity entity, const char* animDictionary, const char* animationName, float blendDelta) { return _i(0x97FF36A1D40EA00A,entity, animDictionary, animationName, blendDelta); } // 0x97FF36A1D40EA00A 0x2B520A57 b323 + // 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}; @@ -17043,19 +17043,19 @@ namespace TASK // set_model_as_no_longer_needed(joaat("prop_ld_case_01")); // remove_anim_dict("anim@heists@biolab@"); inline Void TaskScriptedAnimation(Ped ped, int* priorityLowData, int* priorityMidData, int* priorityHighData, float blendInDelta, float blendOutDelta) { return _i(0x126EF75F1E17ABE5,ped, priorityLowData, priorityMidData, priorityHighData, blendInDelta, blendOutDelta); } // 0x126EF75F1E17ABE5 0xFC2DCF47 b323 - // + // inline Void PlayEntityScriptedAnim(Entity entity, int* priorityLowData, int* priorityMidData, int* priorityHighData, float blendInDelta, float blendOutDelta) { return _i(0x77A1EEC547E7FCF1,entity, priorityLowData, priorityMidData, priorityHighData, blendInDelta, blendOutDelta); } // 0x77A1EEC547E7FCF1 0x02F72AE5 b323 - // Looks like p1 may be a flag, still need to do some research, though. + // Looks like p1 may be a flag, still need to do some research, though. inline Void StopAnimPlayback(Entity entity, int priority, BOOL secondary) { return _i(0xEE08C992D238C5D1,entity, priority, secondary); } // 0xEE08C992D238C5D1 0xE5F16398 b323 - // + // inline Void SetAnimWeight(Entity entity, float weight, int priority, int index, BOOL secondary) { return _i(0x207F1A47C0342F48,entity, weight, priority, index, secondary); } // 0x207F1A47C0342F48 0x17229D98 b323 - // + // inline Void SetAnimPhase(Entity entity, float phase, int priority, BOOL secondary) { return _i(0xDDF3CB5A0A4C0B49,entity, phase, priority, secondary); } // 0xDDF3CB5A0A4C0B49 0xB621E7E4 b2372 - // + // inline Void SetAnimRate(Entity entity, float rate, int priority, BOOL secondary) { return _i(0x32D49C5E359C847,entity, rate, priority, secondary); } // 0x32D49C5E359C847 0x6DB46584 b323 - // + // inline Void SetAnimLooped(Entity entity, BOOL looped, int priority, BOOL secondary) { return _i(0x70033C3CC29A1FF4,entity, looped, priority, secondary); } // 0x70033C3CC29A1FF4 0x095D61A4 b323 - // Example from the scripts: + // Example from the scripts: // TASK::TaskPlayPhoneGestureAnimation(PLAYER::PlayerPedId(), v_3, v_2, v_4, 0.25, 0.25, 0, 0); // // ========================================================= @@ -17078,16 +17078,16 @@ namespace TASK // ========================================================= // // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline Void TaskPlayPhoneGestureAnimation(Ped ped, String animDict, String animation, String boneMaskType, float blendInDuration, float blendOutDuration, BOOL isLooping, BOOL holdLastFrame) { return _i(0x8FBB6758B3B3E9EC,ped, animDict, animation, boneMaskType, blendInDuration, blendOutDuration, isLooping, holdLastFrame); } // 0x8FBB6758B3B3E9EC 0x1582162C b323 - // + inline Void TaskPlayPhoneGestureAnimation(Ped ped, const char* animDict, const char* animation, const char* boneMaskType, float blendInDuration, float blendOutDuration, BOOL isLooping, BOOL holdLastFrame) { return _i(0x8FBB6758B3B3E9EC,ped, animDict, animation, boneMaskType, blendInDuration, blendOutDuration, isLooping, holdLastFrame); } // 0x8FBB6758B3B3E9EC 0x1582162C b323 + // inline Void TaskStopPhoneGestureAnimation(Ped ped, float blendOutOverride) { return _i(0x3FA00D4F4641BFAE,ped, blendOutOverride); } // 0x3FA00D4F4641BFAE 0x5A32D4B4 b323 - // + // inline BOOL IsPlayingPhoneGestureAnim(Ped ped) { return _i(0xB8EBB1E9D3588C10,ped); } // 0xB8EBB1E9D3588C10 0x500B6805 b323 - // + // inline float GetPhoneGestureAnimCurrentTime(Ped ped) { return _i(0x47619ABE8B268C60,ped); } // 0x47619ABE8B268C60 0x7B72AFD1 b323 - // + // inline float GetPhoneGestureAnimTotalTime(Ped ped) { return _i(0x1EE0F68A7C25DEC6,ped); } // 0x1EE0F68A7C25DEC6 0xEF8C3959 b323 - // Most probably plays a specific animation on vehicle. For example getting chop out of van etc... + // Most probably plays a specific animation on vehicle. For example getting chop out of van etc... // // Here's how its used - // @@ -17096,8 +17096,8 @@ namespace TASK // TASK::TaskVehiclePlayAnim(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. - inline Void TaskVehiclePlayAnim(Vehicle vehicle, String animationSet, String animationName) { return _i(0x69F5C3BD0F3EBD89,vehicle, animationSet, animationName); } // 0x69F5C3BD0F3EBD89 0x2B28F598 b323 - // enum eScriptLookatFlags + inline Void TaskVehiclePlayAnim(Vehicle vehicle, const char* animationSet, const char* animationName) { return _i(0x69F5C3BD0F3EBD89,vehicle, animationSet, animationName); } // 0x69F5C3BD0F3EBD89 0x2B28F598 b323 + // enum eScriptLookatFlags // { // SLF_SLOW_TURN_RATE = 1, // turn the head toward the target slowly // SLF_FAST_TURN_RATE = 2, // turn the head toward the target quickly @@ -17118,71 +17118,71 @@ namespace TASK // SLF_USE_REF_DIR_ABSOLUTE = 65536 // use absolute reference direction mode for solver // }; inline Void TaskLookAtCoord(Entity entity, float x, float y, float z, int duration, int flags, int priority) { return _i(0x6FA46612594F7973,entity, x, y, z, duration, flags, priority); } // 0x6FA46612594F7973 0x7B784DD8 b323 - // For flags, please refer to TaskLookAtCoord. + // For flags, please refer to TaskLookAtCoord. inline Void TaskLookAtEntity(Ped ped, Entity lookAt, int duration, int flags, int priority) { return _i(0x69F4BE8C8CC4796C,ped, lookAt, duration, flags, priority); } // 0x69F4BE8C8CC4796C 0x991D6619 b323 - // + // inline Void TaskClearLookAt(Ped ped) { return _i(0xF804F1DB19B9689,ped); } // 0xF804F1DB19B9689 0x60EB4054 b323 - // + // inline Void OpenSequenceTask(int* taskSequenceId) { return _i(0xE8854A4326B9E12B,taskSequenceId); } // 0xE8854A4326B9E12B 0xABA6923E b323 - // + // inline Void CloseSequenceTask(int taskSequenceId) { return _i(0x39E72BC99E6360CB,taskSequenceId); } // 0x39E72BC99E6360CB 0x1A7CEBD0 b323 - // + // inline Void TaskPerformSequence(Ped ped, int taskSequenceId) { return _i(0x5ABA3986D90D8A3B,ped, taskSequenceId); } // 0x5ABA3986D90D8A3B 0x4D9FBD11 b323 - // + // inline Void TaskPerformSequenceLocally(Ped ped, int taskSequenceId) { return _i(0x8C33220C8D78CA0D,ped, taskSequenceId); } // 0x8C33220C8D78CA0D b944 - // + // inline Void ClearSequenceTask(int* taskSequenceId) { return _i(0x3841422E9C488D8C,taskSequenceId); } // 0x3841422E9C488D8C 0x47ED03CE b323 - // + // inline Void SetSequenceToRepeat(int taskSequenceId, BOOL repeat) { return _i(0x58C70CF3A41E4AE7,taskSequenceId, repeat); } // 0x58C70CF3A41E4AE7 0xCDDF1508 b323 - // returned values: + // returned values: // 0 to 7 = task that's currently in progress, 0 meaning the first one. // -1 no task sequence in progress. inline int GetSequenceProgress(Ped ped) { return _i(0xA9010CFE1E3533,ped); } // 0xA9010CFE1E3533 0xA3419909 b323 - // Task index enum: https://alloc8or.re/gta5/doc/enums/eTaskTypeIndex.txt + // Task index enum: https://alloc8or.re/gta5/doc/enums/eTaskTypeIndex.txt inline BOOL GetIsTaskActive(Ped ped, int taskIndex) { return _i(0xB0760331C7AA4155,ped, taskIndex); } // 0xB0760331C7AA4155 0x86FDDF55 b323 - // Gets the status of a script-assigned task. + // Gets the status of a script-assigned task. // taskHash: https://alloc8or.re/gta5/doc/enums/eScriptTaskHash.txt inline int GetScriptTaskStatus(Ped ped, Hash taskHash) { return _i(0x77F1BEB8863288D5,ped, taskHash); } // 0x77F1BEB8863288D5 0xB2477B23 b323 - // https://alloc8or.re/gta5/doc/enums/eVehicleMissionType.txt + // https://alloc8or.re/gta5/doc/enums/eVehicleMissionType.txt inline int GetActiveVehicleMissionType(Vehicle vehicle) { return _i(0x534AEBA6E5ED4CAB,vehicle); } // 0x534AEBA6E5ED4CAB 0xAFA914EF b323 - // Flags are the same flags used in TaskLeaveVehicle + // Flags are the same flags used in TaskLeaveVehicle inline Void TaskLeaveAnyVehicle(Ped ped, int delayTime, int flags) { return _i(0x504D54DF3F6F2247,ped, delayTime, flags); } // 0x504D54DF3F6F2247 0xDBDD79FA b323 - // + // inline Void TaskAimGunScripted(Ped ped, Hash scriptTask, BOOL disableBlockingClip, BOOL instantBlendToAim) { return _i(0x7A192BE16D373D00,ped, scriptTask, disableBlockingClip, instantBlendToAim); } // 0x7A192BE16D373D00 0x9D296BCD b323 - // + // inline Void TaskAimGunScriptedWithTarget(Ped ped, Ped target, float x, float y, float z, int gunTaskType, BOOL disableBlockingClip, BOOL forceAim) { return _i(0x8605AF0DE8B3A5AC,ped, target, x, y, z, gunTaskType, disableBlockingClip, forceAim); } // 0x8605AF0DE8B3A5AC 0xFD517CE3 b323 - // + // inline Void UpdateTaskAimGunScriptedTarget(Ped ped, Ped target, float x, float y, float z, BOOL disableBlockingClip) { return _i(0x9724FB59A3E72AD0,ped, target, x, y, z, disableBlockingClip); } // 0x9724FB59A3E72AD0 0x67E73525 b323 - // - inline String GetClipSetForScriptedGunTask(int gunTaskType) { return _i(0x3A8CADC7D37AACC5,gunTaskType); } // 0x3A8CADC7D37AACC5 0x249EB4EB b323 - // 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 + // + inline const char* GetClipSetForScriptedGunTask(int gunTaskType) { return _i(0x3A8CADC7D37AACC5,gunTaskType); } // 0x3A8CADC7D37AACC5 0x249EB4EB b323 + // 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 inline Void TaskAimGunAtEntity(Ped ped, Entity entity, int duration, BOOL instantBlendToAim) { return _i(0x9B53BB6E8943AF53,ped, entity, duration, instantBlendToAim); } // 0x9B53BB6E8943AF53 0xBE32B3B6 b323 - // 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 + // 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 inline Void TaskTurnPedToFaceEntity(Ped ped, Entity entity, int duration) { return _i(0x5AD23D40115353AC,ped, entity, duration); } // 0x5AD23D40115353AC 0x3C37C767 b323 - // + // inline Void TaskAimGunAtCoord(Ped ped, float x, float y, float z, int time, BOOL instantBlendToAim, BOOL playAnimIntro) { return _i(0x6671F3EEC681BDA1,ped, x, y, z, time, instantBlendToAim, playAnimIntro); } // 0x6671F3EEC681BDA1 0xFBF44AD3 b323 - // Firing Pattern Hash Information: https://pastebin.com/Px036isB + // Firing Pattern Hash Information: https://pastebin.com/Px036isB inline Void TaskShootAtCoord(Ped ped, float x, float y, float z, int duration, Hash firingPattern) { return _i(0x46A6CC01E0826106,ped, x, y, z, duration, firingPattern); } // 0x46A6CC01E0826106 0x601C22E3 b323 - // Makes the specified ped shuffle to the next vehicle seat. + // 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. inline Void TaskShuffleToNextVehicleSeat(Ped ped, Vehicle vehicle, BOOL useAlternateShuffle) { return _i(0x7AA80209BDA643EB,ped, vehicle, useAlternateShuffle); } // 0x7AA80209BDA643EB 0xBEAF8F67 b323 - // + // inline Void ClearPedTasks(Ped ped) { return _i(0xE1EF3C1216AFF2CD,ped); } // 0xE1EF3C1216AFF2CD 0xDE3316AB b323 - // + // inline Void ClearPedSecondaryTask(Ped ped) { return _i(0x176CECF6F920D707,ped); } // 0x176CECF6F920D707 0xA635F451 b323 - // + // inline Void TaskEveryoneLeaveVehicle(Vehicle vehicle) { return _i(0x7F93691AB4B92272,vehicle); } // 0x7F93691AB4B92272 0xC1971F30 b323 - // enum ESEEK_ENTITY_OFFSET_FLAGS + // enum ESEEK_ENTITY_OFFSET_FLAGS // { // ESEEK_OFFSET_ORIENTATES_WITH_ENTITY = 0x01, // ESEEK_KEEP_TO_PAVEMENTS = 0x02 // }; inline Void TaskGotoEntityOffset(Ped ped, Entity entity, int time, float seekRadius, float seekAngleDeg, float moveBlendRatio, int gotoEntityOffsetFlags) { return _i(0xE39B4FF4FDEBDE27,ped, entity, time, seekRadius, seekAngleDeg, moveBlendRatio, gotoEntityOffsetFlags); } // 0xE39B4FF4FDEBDE27 0x1A17A85E b323 - // + // inline Void TaskGotoEntityOffsetXy(Ped ped, Entity entity, int duration, float targetRadius, float offsetX, float offsetY, float moveBlendRatio, int gotoEntityOffsetFlags) { return _i(0x338E7EF52B6095A9,ped, entity, duration, targetRadius, offsetX, offsetY, moveBlendRatio, gotoEntityOffsetFlags); } // 0x338E7EF52B6095A9 0xBC1E3D0A b323 - // duration in milliseconds + // duration in milliseconds inline Void TaskTurnPedToFaceCoord(Ped ped, float x, float y, float z, int duration) { return _i(0x1DDA930A0AC38571,ped, x, y, z, duration); } // 0x1DDA930A0AC38571 0x30463D73 b323 - // '1 - brake + // '1 - brake // '3 - brake + reverse // '4 - turn left 90 + braking // '5 - turn right 90 + braking @@ -17214,13 +17214,13 @@ namespace TASK // 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 inline Void TaskVehicleTempAction(Ped driver, Vehicle vehicle, int action, int time) { return _i(0xC429DCEEB339E129,driver, vehicle, action, time); } // 0xC429DCEEB339E129 0x0679DFB8 b323 - // missionType: https://alloc8or.re/gta5/doc/enums/eVehicleMissionType.txt + // missionType: https://alloc8or.re/gta5/doc/enums/eVehicleMissionType.txt inline Void TaskVehicleMission(Ped driver, Vehicle vehicle, Vehicle vehicleTarget, int missionType, float cruiseSpeed, int drivingStyle, float targetReached, float straightLineDistance, BOOL DriveAgainstTraffic) { return _i(0x659427E0EF36BCDE,driver, vehicle, vehicleTarget, missionType, cruiseSpeed, drivingStyle, targetReached, straightLineDistance, DriveAgainstTraffic); } // 0x659427E0EF36BCDE 0x20609E56 b323 - // See TaskVehicleMission + // See TaskVehicleMission inline Void TaskVehicleMissionPedTarget(Ped ped, Vehicle vehicle, Ped pedTarget, int missionType, float maxSpeed, int drivingStyle, float minDistance, float straightLineDistance, BOOL DriveAgainstTraffic) { return _i(0x9454528DF15D657A,ped, vehicle, pedTarget, missionType, maxSpeed, drivingStyle, minDistance, straightLineDistance, DriveAgainstTraffic); } // 0x9454528DF15D657A 0xC81C4677 b323 - // See TaskVehicleMission + // See TaskVehicleMission inline Void TaskVehicleMissionCoorsTarget(Ped ped, Vehicle vehicle, float x, float y, float z, int mission, float cruiseSpeed, int drivingStyle, float targetReached, float straightLineDistance, BOOL DriveAgainstTraffic) { return _i(0xF0AF20AA7731F8C3,ped, vehicle, x, y, z, mission, cruiseSpeed, drivingStyle, targetReached, straightLineDistance, DriveAgainstTraffic); } // 0xF0AF20AA7731F8C3 0x6719C109 b323 - // Makes a ped follow the targetVehicle with in between. + // Makes a ped follow the targetVehicle with in between. // // note: minDistance is ignored if drivingstyle is avoiding traffic, but Rushed is fine. // @@ -17236,15 +17236,15 @@ namespace TASK // // Driving Styles guide: gtaforums.com/topic/822314-guide-driving-styles/ inline Void TaskVehicleEscort(Ped ped, Vehicle vehicle, Vehicle targetVehicle, int mode, float speed, int drivingStyle, float minDistance, int minHeightAboveTerrain, float noRoadsDistance) { return _i(0xFA6E4B75F302400,ped, vehicle, targetVehicle, mode, speed, drivingStyle, minDistance, minHeightAboveTerrain, noRoadsDistance); } // 0xFA6E4B75F302400 0x9FDCB250 b323 - // Makes a ped in a vehicle follow an entity (ped, vehicle, etc.) + // Makes a ped in a vehicle follow an entity (ped, vehicle, etc.) // // drivingStyle: http://gtaforums.com/topic/822314-guide-driving-styles/ inline Void TaskVehicleFollow(Ped driver, Vehicle vehicle, Entity targetEntity, float speed, int drivingStyle, int minDistance) { return _i(0xFC545A9F0626E3B6,driver, vehicle, targetEntity, speed, drivingStyle, minDistance); } // 0xFC545A9F0626E3B6 0xA8B917D7 b323 - // chases targetEnt fast and aggressively + // chases targetEnt fast and aggressively // -- // Makes ped (needs to be in vehicle) chase targetEnt. inline Void TaskVehicleChase(Ped driver, Entity targetEnt) { return _i(0x3C08A8E30363B353,driver, targetEnt); } // 0x3C08A8E30363B353 0x55634798 b323 - // pilot, vehicle and altitude are rather self-explanatory. + // pilot, vehicle and altitude are rather self-explanatory. // // p4: is unused variable in the function. // @@ -17258,15 +17258,15 @@ namespace TASK // // 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. inline Void TaskVehicleHeliProtect(Ped pilot, Vehicle vehicle, Entity entityToFollow, float targetSpeed, int drivingFlags, float radius, int altitude, int heliFlags) { return _i(0x1E09C32048FEFD1C,pilot, vehicle, entityToFollow, targetSpeed, drivingFlags, radius, altitude, heliFlags); } // 0x1E09C32048FEFD1C 0x0CB415EE b323 - // Flag 8: Medium-aggressive boxing tactic with a bit of PIT + // 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. inline Void SetTaskVehicleChaseBehaviorFlag(Ped ped, int flag, BOOL set) { return _i(0xCC665AAC360D31E7,ped, flag, set); } // 0xCC665AAC360D31E7 0x2A83083F b323 - // + // inline Void SetTaskVehicleChaseIdealPursuitDistance(Ped ped, float distance) { return _i(0x639B642FACBE4EDD,ped, distance); } // 0x639B642FACBE4EDD 0x04FD3EE7 b323 - // Ped pilot should be in a heli. + // 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) @@ -17274,20 +17274,20 @@ namespace TASK // // NOTE: If the pilot finds enemies, it will engage them, then remain there idle, not continuing to chase the Entity given. inline Void TaskHeliChase(Ped pilot, Entity entityToFollow, float x, float y, float z) { return _i(0xAC83B1DB38D0ADA0,pilot, entityToFollow, x, y, z); } // 0xAC83B1DB38D0ADA0 0xAC290A21 b323 - // + // inline Void TaskPlaneChase(Ped pilot, Entity entityToFollow, float x, float y, float z) { return _i(0x2D2386F273FF7A25,pilot, entityToFollow, x, y, z); } // 0x2D2386F273FF7A25 0x12FA1C28 b323 - // + // inline Void TaskPlaneLand(Ped pilot, Vehicle plane, float runwayStartX, float runwayStartY, float runwayStartZ, float runwayEndX, float runwayEndY, float runwayEndZ) { return _i(0xBF19721FA34D32C0,pilot, plane, runwayStartX, runwayStartY, runwayStartZ, runwayEndX, runwayEndY, runwayEndZ); } // 0xBF19721FA34D32C0 0x5F7E23EA b323 - // + // inline Void ClearDefaultPrimaryTask(Ped ped) { return _i(0x6100B3CEFD43452E,ped); } // 0x6100B3CEFD43452E b2189 - // This native is very useful when switching the player to a ped inside a vehicle that has a task assigned prior to the player switch. + // This native is very useful when switching the player to a ped inside a vehicle that has a task assigned prior to the player switch. // It is necessary to clear the ped's tasks AND call this native with the vehicle the player is switching into in order to allow the player to control the vehicle after the player switches. inline Void ClearPrimaryVehicleTask(Vehicle vehicle) { return _i(0xDBBC7A2432524127,vehicle); } // 0xDBBC7A2432524127 b1290 - // + // inline Void ClearVehicleCrashTask(Vehicle vehicle) { return _i(0x53DDC75BC3AC0A90,vehicle); } // 0x53DDC75BC3AC0A90 b1290 - // + // inline Void TaskPlaneGotoPreciseVtol(Ped ped, Vehicle vehicle, float x, float y, float z, int flightHeight, int minHeightAboveTerrain, BOOL useDesiredOrientation, float desiredOrientation, BOOL autopilot) { return _i(0xF7F9DCCA89E7505B,ped, vehicle, x, y, z, flightHeight, minHeightAboveTerrain, useDesiredOrientation, desiredOrientation, autopilot); } // 0xF7F9DCCA89E7505B b1290 - // Used in am_vehicle_spawn.ysc and am_mp_submarine.ysc. + // Used in am_vehicle_spawn.ysc and am_mp_submarine.ysc. // // p0 is always 0, p5 is always 1 // @@ -17295,7 +17295,7 @@ namespace TASK // // Speed can be set by calling SetDriveTaskCruiseSpeed after inline Void TaskSubmarineGotoAndStop(Ped ped, Vehicle submarine, float x, float y, float z, BOOL autopilot) { return _i(0xC22B40579A498CA4,ped, submarine, x, y, z, autopilot); } // 0xC22B40579A498CA4 b2189 - // Must have targetVehicle, targetPed, OR destination X/Y/Z set + // Must have targetVehicle, targetPed, OR destination X/Y/Z set // Will follow targeted vehicle/ped, or fly to destination // Set whichever is not being used to 0 // @@ -17342,9 +17342,9 @@ namespace TASK // Notes updated by PNWParksFan, May 2021 // inline Void TaskHeliMission(Ped pilot, Vehicle aircraft, Vehicle targetVehicle, Ped targetPed, float destinationX, float destinationY, float destinationZ, int missionFlag, float maxSpeed, float radius, float targetHeading, int maxHeight, int minHeight, float slowDownDistance, int behaviorFlags) { return _i(0xDAD029E187A2BEB4,pilot, aircraft, targetVehicle, targetPed, destinationX, destinationY, destinationZ, missionFlag, maxSpeed, radius, targetHeading, maxHeight, minHeight, slowDownDistance, behaviorFlags); } // 0xDAD029E187A2BEB4 0x0C143E97 b323 - // + // inline Void TaskHeliEscortHeli(Ped pilot, Vehicle heli1, Vehicle heli2, float offsetX, float offsetY, float offsetZ) { return _i(0xB385523325077210,pilot, heli1, heli2, offsetX, offsetY, offsetZ); } // 0xB385523325077210 b1290 - // EXAMPLE USAGE: + // EXAMPLE USAGE: // // Fly around target (Precautiously, keeps high altitude): // Function.Call(Hash.TaskPlaneMission, pilot, selectedAirplane, 0, 0, Target.X, Target.Y, Target.Z, 4, 100f, 0f, 90f, 0, 200f); @@ -17392,9 +17392,9 @@ namespace TASK // 16 = CTaskVehiclePoliceBehaviour // 17 = CTaskVehicleCrash inline Void TaskPlaneMission(Ped pilot, Vehicle aircraft, Vehicle targetVehicle, Ped targetPed, float destinationX, float destinationY, float destinationZ, int missionFlag, float angularDrag, float targetReached, float targetHeading, float maxZ, float minZ, BOOL precise) { return _i(0x23703CD154E83B88,pilot, aircraft, targetVehicle, targetPed, destinationX, destinationY, destinationZ, missionFlag, angularDrag, targetReached, targetHeading, maxZ, minZ, precise); } // 0x23703CD154E83B88 0x1D007E65 b323 - // + // inline Void TaskPlaneTaxi(Ped pilot, Vehicle aircraft, float x, float y, float z, float cruiseSpeed, float targetReached) { return _i(0x92C360B5F15D2302,pilot, aircraft, x, y, z, cruiseSpeed, targetReached); } // 0x92C360B5F15D2302 b1103 - // You need to call PED::SetBlockingOfNonTemporaryEvents after TaskBoatMission in order for the task to execute. + // You need to call PED::SetBlockingOfNonTemporaryEvents after TaskBoatMission in order for the task to execute. // // Working example // float vehicleMaxSpeed = VEHICLE::GetVehicleEstimatedMaxSpeed(ENTITY::GetEntityModel(pedVehicle)); @@ -17403,7 +17403,7 @@ namespace TASK // // P8 appears to be driving style flag - see gtaforums.com/topic/822314-guide-driving-styles/ for documentation inline Void TaskBoatMission(Ped pedDriver, Vehicle vehicle, Vehicle targetVehicle, Ped targetPed, float x, float y, float z, int mission, float maxSpeed, int drivingStyle, float targetReached, Any boatFlags) { return _i(0x15C86013127CE63F,pedDriver, vehicle, targetVehicle, targetPed, x, y, z, mission, maxSpeed, drivingStyle, targetReached, boatFlags); } // 0x15C86013127CE63F 0x5865B031 b323 - // Example: + // Example: // // TASK::TaskDriveBy(l_467[1/*22*/], PLAYER::PlayerPedId(), 0, 0.0, 0.0, 2.0, 300.0, 100, 0, ${firing_pattern_burst_fire_driveby}); // @@ -17416,31 +17416,31 @@ namespace TASK // 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. inline Void TaskDriveBy(Ped driverPed, Ped targetPed, Vehicle targetVehicle, float targetX, float targetY, float targetZ, float distanceToShoot, int pedAccuracy, BOOL pushUnderneathDrivingTaskIfDriving, Hash firingPattern) { return _i(0x2F8AF0E82773A171,driverPed, targetPed, targetVehicle, targetX, targetY, targetZ, distanceToShoot, pedAccuracy, pushUnderneathDrivingTaskIfDriving, firingPattern); } // 0x2F8AF0E82773A171 0x2B84D1C4 b323 - // 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 SetMountedWeaponTarget in which has the same exact amount of parameters and the 1st and last 3 parameters are right and the same for both natives. + // 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 SetMountedWeaponTarget in which has the same exact amount of parameters and the 1st and last 3 parameters are right and the same for both natives. inline Void SetDrivebyTaskTarget(Ped shootingPed, Ped targetPed, Vehicle targetVehicle, float x, float y, float z) { return _i(0xE5B302114D8162EE,shootingPed, targetPed, targetVehicle, x, y, z); } // 0xE5B302114D8162EE 0xDA6A6FC1 b323 - // + // inline Void ClearDrivebyTaskUnderneathDrivingTask(Ped ped) { return _i(0xC35B5CDB2824CF69,ped); } // 0xC35B5CDB2824CF69 0x9B76F7E6 b323 - // + // inline BOOL IsDrivebyTaskUnderneathDrivingTask(Ped ped) { return _i(0x8785E6E40C7A8818,ped); } // 0x8785E6E40C7A8818 0xB23F46E6 b323 - // Forces the ped to use the mounted weapon. + // Forces the ped to use the mounted weapon. // Returns false if task is not possible. inline BOOL ControlMountedWeapon(Ped ped) { return _i(0xDCFE42068FE0135A,ped); } // 0xDCFE42068FE0135A 0x500D9244 b323 - // 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. + // 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. inline Void SetMountedWeaponTarget(Ped shootingPed, Ped targetPed, Vehicle targetVehicle, float x, float y, float z, int taskMode, BOOL ignoreTargetVehDeadCheck) { return _i(0xCCD892192C6D2BB9,shootingPed, targetPed, targetVehicle, x, y, z, taskMode, ignoreTargetVehDeadCheck); } // 0xCCD892192C6D2BB9 0x98713C68 b323 - // + // inline BOOL IsMountedWeaponTaskUnderneathDrivingTask(Ped ped) { return _i(0xA320EF046186FA3B,ped); } // 0xA320EF046186FA3B 0x291E938C b323 - // Actually has 3 params, not 2. + // Actually has 3 params, not 2. // // p0: Ped // p1: int (or bool?) // p2: int inline Void TaskUseMobilePhone(Ped ped, BOOL usePhone, int desiredPhoneMode) { return _i(0xBD2A8EC3AF4DE7DB,ped, usePhone, desiredPhoneMode); } // 0xBD2A8EC3AF4DE7DB 0x225A38C8 b323 - // + // inline Void TaskUseMobilePhoneTimed(Ped ped, int duration) { return _i(0x5EE02954A14C69DB,ped, duration); } // 0x5EE02954A14C69DB 0xC99C19F5 b323 - // p2 tend to be 16, 17 or 1 + // p2 tend to be 16, 17 or 1 // p3 to p7 tend to be 0.0 inline Void TaskChatToPed(Ped ped, Ped target, int flags, float goToLocationX, float goToLocationY, float goToLocationZ, float headingDegs, float idleTime) { return _i(0x8C338E0263E4FD19,ped, target, flags, goToLocationX, goToLocationY, goToLocationZ, headingDegs, idleTime); } // 0x8C338E0263E4FD19 0xA2BE1821 b323 - // Seat Numbers + // Seat Numbers // ------------------------------- // Driver = -1 // Any = -2 @@ -17449,7 +17449,7 @@ namespace TASK // Right-Rear = 2 // Extra seats = 3-14(This may differ from vehicle type e.g. Firetruck Rear Stand, Ambulance Rear) inline Void TaskWarpPedIntoVehicle(Ped ped, Vehicle vehicle, int seat) { return _i(0x9A7D091411C5F684,ped, vehicle, seat); } // 0x9A7D091411C5F684 0x65D4A35D b323 - // //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 + // //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::PlayerId(); // PLAYER::_GET_AIMED_ENTITY(player, &aimedentity); @@ -17461,30 +17461,30 @@ namespace TASK // // Firing Pattern Hash Information: https://pastebin.com/Px036isB inline Void TaskShootAtEntity(Entity entity, Entity target, int duration, Hash firingPattern) { return _i(0x8DA95E8298AE772,entity, target, duration, firingPattern); } // 0x8DA95E8298AE772 0xAC0631C9 b323 - // Climbs or vaults the nearest thing. + // Climbs or vaults the nearest thing. // usePlayerLaunchForce is unused. inline Void TaskClimb(Ped ped, BOOL usePlayerLaunchForce) { return _i(0x89D9FCC2435112F1,ped, usePlayerLaunchForce); } // 0x89D9FCC2435112F1 0x90847790 b323 - // + // inline Void TaskClimbLadder(Ped ped, BOOL fast) { return _i(0xB6C987F9285A3814,ped, fast); } // 0xB6C987F9285A3814 0x35BB4EE0 b323 - // Attaches a ped to a rope and allows player control to rappel down a wall. Disables all collisions while on the rope. + // Attaches a ped to a rope and allows player control to rappel down a wall. Disables all collisions while on the rope. // p10: Usually 1 in the scripts, clipSet: Clipset to use for the task, minZ: Minimum Z that the player can descend to, ropeHandle: Rope to attach this task to created with AddRope - inline Void TaskRappelDownWallUsingClipsetOverride(Ped ped, float x1, float y1, float z1, float x2, float y2, float z2, float minZ, int ropeHandle, String clipSet, Any p10, Any p11) { return _i(0xEAF66ACDDC794793,ped, x1, y1, z1, x2, y2, z2, minZ, ropeHandle, clipSet, p10, p11); } // 0xEAF66ACDDC794793 b1868 - // + inline Void TaskRappelDownWallUsingClipsetOverride(Ped ped, float x1, float y1, float z1, float x2, float y2, float z2, float minZ, int ropeHandle, const char* clipSet, Any p10, Any p11) { return _i(0xEAF66ACDDC794793,ped, x1, y1, z1, x2, y2, z2, minZ, ropeHandle, clipSet, p10, p11); } // 0xEAF66ACDDC794793 b1868 + // inline int GetTaskRappelDownWallState(Ped ped) { return _i(0x9D252648778160DF,ped); } // 0x9D252648778160DF b1868 - // Immediately stops the pedestrian from whatever it's doing. They stop fighting, animations, etc. they forget what they were doing. + // Immediately stops the pedestrian from whatever it's doing. They stop fighting, animations, etc. they forget what they were doing. inline Void ClearPedTasksImmediately(Ped ped) { return _i(0xAAA34F8A7CB32098,ped); } // 0xAAA34F8A7CB32098 0xBC045625 b323 - // + // inline Void TaskPerformSequenceFromProgress(Ped ped, int taskIndex, int progress1, int progress2) { return _i(0x89221B16730234F0,ped, taskIndex, progress1, progress2); } // 0x89221B16730234F0 0xFA60601B b323 - // This native does absolutely nothing, just a nullsub + // This native does absolutely nothing, just a nullsub // // R* Comment: // SetNextDesiredMoveState - Function is deprecated - do not use anymore inline Void SetNextDesiredMoveState(float nextMoveState) { return _i(0xF1B9F16E89E2C93A,nextMoveState); } // 0xF1B9F16E89E2C93A 0x4E937D57 b323 - // + // inline Void SetPedDesiredMoveBlendRatio(Ped ped, float newMoveBlendRatio) { return _i(0x1E982AC8716912C5,ped, newMoveBlendRatio); } // 0x1E982AC8716912C5 0xC65FC712 b323 - // + // inline float GetPedDesiredMoveBlendRatio(Ped ped) { return _i(0x8517D4A6CA8513ED,ped); } // 0x8517D4A6CA8513ED 0x5FEFAB72 b323 - // eg + // eg // // TASK::TaskGotoEntityAiming(v_2, PLAYER::PlayerPedId(), 5.0, 25.0); // @@ -17493,39 +17493,39 @@ namespace TASK // distanceToStopAt = distance from the target, where the ped should stop to aim. // StartAimingDist = distance where the ped should start to aim. inline Void TaskGotoEntityAiming(Ped ped, Entity target, float distanceToStopAt, float StartAimingDist) { return _i(0xA9DA48FAB8A76C12,ped, target, distanceToStopAt, StartAimingDist); } // 0xA9DA48FAB8A76C12 0xF1C493CF b323 - // p1 is always GetHashKey("empty") in scripts, for the rare times this is used + // p1 is always GetHashKey("empty") in scripts, for the rare times this is used inline Void TaskSetDecisionMaker(Ped ped, Hash decisionMakerId) { return _i(0xEB8517DDA73720DA,ped, decisionMakerId); } // 0xEB8517DDA73720DA 0x830AD50C b323 - // + // inline Void TaskSetSphereDefensiveArea(Ped ped, float x, float y, float z, float radius) { return _i(0x933C06518B52A9A4,ped, x, y, z, radius); } // 0x933C06518B52A9A4 0x9F3C5D6A b323 - // + // inline Void TaskClearDefensiveArea(Ped ped) { return _i(0x95A6C46A31D1917D,ped); } // 0x95A6C46A31D1917D 0x7A05BF0D b323 - // + // inline Void TaskPedSlideToCoord(Ped ped, float x, float y, float z, float heading, float speed) { return _i(0xD04FE6765D990A06,ped, x, y, z, heading, speed); } // 0xD04FE6765D990A06 0x225380EF b323 - // + // inline Void TaskPedSlideToCoordHdgRate(Ped ped, float x, float y, float z, float heading, float speed, float headingChangeRate) { return _i(0x5A4A6A6D3DC64F52,ped, x, y, z, heading, speed, headingChangeRate); } // 0x5A4A6A6D3DC64F52 0x38A995C1 b323 - // + // inline ScrHandle AddCoverPoint(float x, float y, float z, float direction, int usage, int height, int arc, BOOL isPriority) { return _i(0xD5C12A75C7B9497F,x, y, z, direction, usage, height, arc, isPriority); } // 0xD5C12A75C7B9497F 0xA0AF0B98 b323 - // + // inline Void RemoveCoverPoint(ScrHandle coverpoint) { return _i(0xAE287C923D891715,coverpoint); } // 0xAE287C923D891715 0x0776888B b323 - // Checks if there is a cover point at position + // Checks if there is a cover point at position inline BOOL DoesScriptedCoverPointExistAtCoords(float x, float y, float z) { return _i(0xA98B8E3C088E5A31,x, y, z); } // 0xA98B8E3C088E5A31 0x29F97A71 b323 - // + // inline Vector3 GetScriptedCoverPointCoords(ScrHandle coverpoint) { return _i(0x594A1028FC2A3E85,coverpoint); } // 0x594A1028FC2A3E85 0xC6B6CCC1 b323 - // + // inline Void AddScriptedCoverArea(float x, float y, float z, float radius) { return _i(0x28B7B9BFDAF274AA,x, y, z, radius); } // 0x28B7B9BFDAF274AA b2545 - // Makes the specified ped attack the target ped. + // Makes the specified ped attack the target ped. // p2 should be 0 // p3 should be 16 inline Void TaskCombatPed(Ped ped, Ped targetPed, int combatFlags, int threatResponseFlags) { return _i(0xF166E48407BAC484,ped, targetPed, combatFlags, threatResponseFlags); } // 0xF166E48407BAC484 0xCB0D8932 b323 - // + // inline Void TaskCombatPedTimed(Ped ped, Ped target, int time, int flags) { return _i(0x944F30DCB7096BDE,ped, target, time, flags); } // 0x944F30DCB7096BDE 0xF5CA2A45 b323 - // + // inline Void TaskSeekCoverFromPos(Ped ped, float x, float y, float z, int duration, BOOL allowPeekingAndFiring) { return _i(0x75AC2B60386D89F2,ped, x, y, z, duration, allowPeekingAndFiring); } // 0x75AC2B60386D89F2 0x83F18EE9 b323 - // + // inline Void TaskSeekCoverFromPed(Ped ped, Ped target, int duration, BOOL allowPeekingAndFiring) { return _i(0x84D32B3BEC531324,ped, target, duration, allowPeekingAndFiring); } // 0x84D32B3BEC531324 0xC1EC907E b323 - // p5 is always -1 + // p5 is always -1 inline Void TaskSeekCoverToCoverPoint(Ped ped, ScrHandle coverpoint, float x, float y, float z, int time, BOOL allowPeekingAndFiring) { return _i(0xD43D95C7A869447F,ped, coverpoint, x, y, z, time, allowPeekingAndFiring); } // 0xD43D95C7A869447F 0x3D026B29 b323 - // p8 causes the ped to take the shortest route to the cover position. It may have something to do with navmesh or pathfinding mechanics. + // p8 causes the ped to take the shortest route to the cover position. It may have something to do with navmesh or pathfinding mechanics. // // from michael2: // TASK::TaskSeekCoverToCoords(ped, 967.5164794921875, -2121.603515625, 30.479299545288086, 978.94677734375, -2125.84130859375, 29.4752, -1, 1); @@ -17535,36 +17535,36 @@ namespace TASK // from michael3: // TASK::TaskSeekCoverToCoords(ped, -2231.011474609375, 263.6326599121094, 173.60195922851562, -1, 0); inline Void TaskSeekCoverToCoords(Ped ped, float x1, float y1, float z1, float x2, float y2, float z2, int timeout, BOOL shortRoute) { return _i(0x39246A6958EF072C,ped, x1, y1, z1, x2, y2, z2, timeout, shortRoute); } // 0x39246A6958EF072C 0xFFFE754E b323 - // + // inline Void TaskPutPedDirectlyIntoCover(Ped ped, float x, float y, float z, int time, BOOL allowPeekingAndFiring, float blendInDuration, BOOL forceInitialFacingDirection, BOOL forceFaceLeft, int identifier, BOOL doEntry) { return _i(0x4172393E6BE1FECE,ped, x, y, z, time, allowPeekingAndFiring, blendInDuration, forceInitialFacingDirection, forceFaceLeft, identifier, doEntry); } // 0x4172393E6BE1FECE 0xC9F00E68 b323 - // + // inline Void TaskWarpPedDirectlyIntoCover(Ped ped, int time, BOOL allowPeekingAndFiring, BOOL forceInitialFacingDirection, BOOL forceFaceLeft, int identifier) { return _i(0x6E01E9E8D89F8276,ped, time, allowPeekingAndFiring, forceInitialFacingDirection, forceFaceLeft, identifier); } // 0x6E01E9E8D89F8276 b2545 - // p1 is 1, 2, or 3 in scripts + // p1 is 1, 2, or 3 in scripts inline Void TaskExitCover(Ped ped, int exitType, float x, float y, float z) { return _i(0x79B258E397854D29,ped, exitType, x, y, z); } // 0x79B258E397854D29 0xC829FAC9 b323 - // from armenian3.c4 + // from armenian3.c4 // // TASK::TaskPutPedDirectlyIntoMelee(PlayerPed, armenianPed, 0.0, -1.0, 0.0, 0); // inline Void TaskPutPedDirectlyIntoMelee(Ped ped, Ped meleeTarget, float blendInDuration, float timeInMelee, float strafePhaseSync, int aiCombatFlags) { return _i(0x1C6CD14A876FFE39,ped, meleeTarget, blendInDuration, timeInMelee, strafePhaseSync, aiCombatFlags); } // 0x1C6CD14A876FFE39 0x79E1D27D b323 - // used in sequence task + // used in sequence task // // both parameters seems to be always 0 inline Void TaskToggleDuck(Ped ped, int toggleType) { return _i(0xAC96609B9995EDF8,ped, toggleType); } // 0xAC96609B9995EDF8 0x61CFBCBF b323 - // From re_prisonvanbreak: + // From re_prisonvanbreak: // // TASK::TaskGuardCurrentPosition(l_DD, 35.0, 35.0, 1); inline Void TaskGuardCurrentPosition(Ped ped, float maxPatrolProximity, float defensiveAreaRadius, BOOL setDefensiveArea) { return _i(0x4A58A47A72E3FCB4,ped, maxPatrolProximity, defensiveAreaRadius, setDefensiveArea); } // 0x4A58A47A72E3FCB4 0x2FB099E9 b323 - // + // inline Void TaskGuardAssignedDefensiveArea(Ped ped, float x, float y, float z, float heading, float maxPatrolProximity, int timer) { return _i(0xD2A207EEBDF9889B,ped, x, y, z, heading, maxPatrolProximity, timer); } // 0xD2A207EEBDF9889B 0x7AF0133D b323 - // + // inline Void TaskGuardSphereDefensiveArea(Ped ped, float defendPositionX, float defendPositionY, float defendPositionZ, float heading, float maxPatrolProximity, int time, float x, float y, float z, float defensiveAreaRadius) { return _i(0xC946FE14BE0EB5E2,ped, defendPositionX, defendPositionY, defendPositionZ, heading, maxPatrolProximity, time, x, y, z, defensiveAreaRadius); } // 0xC946FE14BE0EB5E2 0x86B76CB7 b323 - // scenarioName example: "WORLD_HUMAN_GUARD_STanD" - inline Void TaskStandGuard(Ped ped, float x, float y, float z, float heading, String scenarioName) { return _i(0xAE032F8BBA959E90,ped, x, y, z, heading, scenarioName); } // 0xAE032F8BBA959E90 0xD130F636 b323 - // + // scenarioName example: "WORLD_HUMAN_GUARD_STanD" + inline Void TaskStandGuard(Ped ped, float x, float y, float z, float heading, const char* scenarioName) { return _i(0xAE032F8BBA959E90,ped, x, y, z, heading, scenarioName); } // 0xAE032F8BBA959E90 0xD130F636 b323 + // inline Void SetDriveTaskCruiseSpeed(Ped driver, float cruiseSpeed) { return _i(0x5C9B84BD7D31D908,driver, cruiseSpeed); } // 0x5C9B84BD7D31D908 0x3CEC07B1 b323 - // + // inline Void SetDriveTaskMaxCruiseSpeed(Ped ped, float speed) { return _i(0x404A5AA9B9F0B746,ped, speed); } // 0x404A5AA9B9F0B746 0x7FDF6131 b323 - // This native is used to set the driving style for specific ped. + // This native is used to set the driving style for specific ped. // // Driving styles id seems to be: // 786468 @@ -17573,15 +17573,15 @@ namespace TASK // // http://gtaforums.com/topic/822314-guide-driving-styles/ inline Void SetDriveTaskDrivingStyle(Ped ped, int drivingStyle) { return _i(0xDACE1BE37D88AF67,ped, drivingStyle); } // 0xDACE1BE37D88AF67 0x59C5FAD7 b323 - // + // inline Void AddCoverBlockingArea(float startX, float startY, float startZ, float endX, float endY, float endZ, BOOL blockObjects, BOOL blockVehicles, BOOL blockMap, BOOL blockPlayer) { return _i(0x45C597097DD7CB81,startX, startY, startZ, endX, endY, endZ, blockObjects, blockVehicles, blockMap, blockPlayer); } // 0x45C597097DD7CB81 0x3536946F b323 - // + // inline Void RemoveAllCoverBlockingAreas() { return _i(0xDB6708C0B46F56D8); } // 0xDB6708C0B46F56D8 0xCF9221A7 b323 - // + // inline Void RemoveCoverBlockingAreasAtPosition(float x, float y, float z) { return _i(0xFA83CA6776038F64,x, y, z); } // 0xFA83CA6776038F64 b1493 - // + // inline Void RemoveSpecificCoverBlockingAreas(float startX, float startY, float startZ, float endX, float endY, float endZ, BOOL blockObjects, BOOL blockVehicles, BOOL blockMap, BOOL blockPlayer) { return _i(0x1F351CF1C6475734,startX, startY, startZ, endX, endY, endZ, blockObjects, blockVehicles, blockMap, blockPlayer); } // 0x1F351CF1C6475734 b505 - // Plays a scenario on a Ped at their current location. + // 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. @@ -17624,8 +17624,8 @@ namespace TASK // WORLD_VEHICLE_TRUCK_LOGS // // Full list of ped scenarios by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json - inline Void TaskStartScenarioInPlace(Ped ped, String scenarioName, int unkDelay, BOOL playEnterAnim) { return _i(0x142A02425FF02BD9,ped, scenarioName, unkDelay, playEnterAnim); } // 0x142A02425FF02BD9 0xE50D6DDE b323 - // Full list of ped scenarios by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json + inline Void TaskStartScenarioInPlace(Ped ped, const char* scenarioName, int unkDelay, BOOL playEnterAnim) { return _i(0x142A02425FF02BD9,ped, scenarioName, unkDelay, playEnterAnim); } // 0x142A02425FF02BD9 0xE50D6DDE b323 + // 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::TaskStartScenarioInPlace just above. // --------------- @@ -17644,28 +17644,28 @@ namespace TASK // p7 used for sitting scenarios // // p8 teleports ped to position - inline Void TaskStartScenarioAtPosition(Ped ped, String scenarioName, float x, float y, float z, float heading, int duration, BOOL sittingScenario, BOOL teleport) { return _i(0xFA4EFC79F69D4F07,ped, scenarioName, x, y, z, heading, duration, sittingScenario, teleport); } // 0xFA4EFC79F69D4F07 0xAA2C4AC2 b323 - // Updated variables + inline Void TaskStartScenarioAtPosition(Ped ped, const char* scenarioName, float x, float y, float z, float heading, int duration, BOOL sittingScenario, BOOL teleport) { return _i(0xFA4EFC79F69D4F07,ped, scenarioName, x, y, z, heading, duration, sittingScenario, teleport); } // 0xFA4EFC79F69D4F07 0xAA2C4AC2 b323 + // Updated variables // // An alternative to TASK::TaskUseNearestScenarioToCoord_WARP. Makes the ped walk to the scenario instead. inline Void TaskUseNearestScenarioToCoord(Ped ped, float x, float y, float z, float distance, int duration) { return _i(0x277F471BA9DB000B,ped, x, y, z, distance, duration); } // 0x277F471BA9DB000B 0x9C50FBF0 b323 - // + // inline Void TaskUseNearestScenarioToCoordWarp(Ped ped, float x, float y, float z, float radius, int timeToLeave) { return _i(0x58E2E0F23F6B76C3,ped, x, y, z, radius, timeToLeave); } // 0x58E2E0F23F6B76C3 0x1BE9D65C b323 - // p5 is always 0 in scripts + // p5 is always 0 in scripts inline Void TaskUseNearestScenarioChainToCoord(Ped ped, float x, float y, float z, float maxRange, int timeToLeave) { return _i(0x9FDA1B3D7E7028B3,ped, x, y, z, maxRange, timeToLeave); } // 0x9FDA1B3D7E7028B3 0xE32FFB22 b323 - // p5 is always -1 or 0 in scripts + // p5 is always -1 or 0 in scripts inline Void TaskUseNearestScenarioChainToCoordWarp(Ped ped, float x, float y, float z, float radius, int timeToLeave) { return _i(0x97A28E63F0BA5631,ped, x, y, z, radius, timeToLeave); } // 0x97A28E63F0BA5631 0xBAB4C0AE b323 - // + // inline BOOL DoesScenarioExistInArea(float x, float y, float z, float radius, BOOL mustBeFree) { return _i(0x5A59271FFADD33C1,x, y, z, radius, mustBeFree); } // 0x5A59271FFADD33C1 0xFA7F5047 b323 - // - inline BOOL DoesScenarioOfTypeExistInArea(float x, float y, float z, String scenarioName, float radius, BOOL mustBeFree) { return _i(0xA9D0C2A3BBC86C1,x, y, z, scenarioName, radius, mustBeFree); } // 0xA9D0C2A3BBC86C1 0x0FB138A5 b323 - // + // + inline BOOL DoesScenarioOfTypeExistInArea(float x, float y, float z, const char* scenarioName, float radius, BOOL mustBeFree) { return _i(0xA9D0C2A3BBC86C1,x, y, z, scenarioName, radius, mustBeFree); } // 0xA9D0C2A3BBC86C1 0x0FB138A5 b323 + // inline BOOL IsScenarioOccupied(float x, float y, float z, float maxRange, BOOL onlyUsersActuallyAtScenario) { return _i(0x788756D73AC2E07C,x, y, z, maxRange, onlyUsersActuallyAtScenario); } // 0x788756D73AC2E07C 0x697FC008 b323 - // + // inline BOOL PedHasUseScenarioTask(Ped ped) { return _i(0x295E3CCEC879CCD7,ped); } // 0x295E3CCEC879CCD7 0x9BE9C691 b323 - // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json - inline Void PlayAnimOnRunningScenario(Ped ped, String animDict, String animName) { return _i(0x748040460F8DF5DC,ped, animDict, animName); } // 0x748040460F8DF5DC 0x1984A5D1 b323 - // Full list of scenario groups used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenarioGroupNames.json + // Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json + inline Void PlayAnimOnRunningScenario(Ped ped, const char* animDict, const char* animName) { return _i(0x748040460F8DF5DC,ped, animDict, animName); } // 0x748040460F8DF5DC 0x1984A5D1 b323 + // Full list of scenario groups used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenarioGroupNames.json // Occurrences in the b617d scripts: // // "ARMY_GUARD", @@ -17701,8 +17701,8 @@ namespace TASK // if (TASK::DoesScenarioGroupExist("Observatory_Bikers") && (!TASK::IsScenarioGroupEnabled("Observatory_Bikers"))) { // else if (TASK::IsScenarioGroupEnabled("BLIMP")) { // - inline BOOL DoesScenarioGroupExist(String scenarioGroup) { return _i(0xF9034C136C9E00D3,scenarioGroup); } // 0xF9034C136C9E00D3 0x5F072EB9 b323 - // Full list of scenario groups used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenarioGroupNames.json + inline BOOL DoesScenarioGroupExist(const char* scenarioGroup) { return _i(0xF9034C136C9E00D3,scenarioGroup); } // 0xF9034C136C9E00D3 0x5F072EB9 b323 + // Full list of scenario groups used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenarioGroupNames.json // Occurrences in the b617d scripts: // // "ARMY_GUARD", @@ -17732,13 +17732,13 @@ namespace TASK // Sometimes used with DoesScenarioGroupExist: // if (TASK::DoesScenarioGroupExist("Observatory_Bikers") && (!TASK::IsScenarioGroupEnabled("Observatory_Bikers"))) { // else if (TASK::IsScenarioGroupEnabled("BLIMP")) { - inline BOOL IsScenarioGroupEnabled(String scenarioGroup) { return _i(0x367A09DED4E05B99,scenarioGroup); } // 0x367A09DED4E05B99 0x90991122 b323 - // Full list of scenario groups used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenarioGroupNames.json + inline BOOL IsScenarioGroupEnabled(const char* scenarioGroup) { return _i(0x367A09DED4E05B99,scenarioGroup); } // 0x367A09DED4E05B99 0x90991122 b323 + // Full list of scenario groups used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenarioGroupNames.json // Occurrences in the b617d scripts: https://pastebin.com/Tvg2PRHU - inline Void SetScenarioGroupEnabled(String scenarioGroup, BOOL enabled) { return _i(0x2C8E5B49848664E,scenarioGroup, enabled); } // 0x2C8E5B49848664E 0x116997B1 b323 - // + inline Void SetScenarioGroupEnabled(const char* scenarioGroup, BOOL enabled) { return _i(0x2C8E5B49848664E,scenarioGroup, enabled); } // 0x2C8E5B49848664E 0x116997B1 b323 + // inline Void ResetScenarioGroupsEnabled() { return _i(0xDD902D0349AFAD3A); } // 0xDD902D0349AFAD3A 0xBF55025D b323 - // Full list of scenario groups used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenarioGroupNames.json + // Full list of scenario groups used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenarioGroupNames.json // Groups found in the scripts used with this native: // // "AMMUNATION", @@ -17746,10 +17746,10 @@ namespace TASK // "Triathlon_1", // "Triathlon_2", // "Triathlon_3" - inline Void SetExclusiveScenarioGroup(String scenarioGroup) { return _i(0x535E97E1F7FC0C6A,scenarioGroup); } // 0x535E97E1F7FC0C6A 0x59DB8F26 b323 - // + inline Void SetExclusiveScenarioGroup(const char* scenarioGroup) { return _i(0x535E97E1F7FC0C6A,scenarioGroup); } // 0x535E97E1F7FC0C6A 0x59DB8F26 b323 + // inline Void ResetExclusiveScenarioGroup() { return _i(0x4202BBCB8684563D); } // 0x4202BBCB8684563D 0x17F9DFE8 b323 - // Full list of scenario types used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json + // Full list of scenario types used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json // Occurrences in the b617d scripts: // "PROP_HUMAN_SEAT_CHAIR", // "WORLD_HUMAN_DRINKING", @@ -17762,8 +17762,8 @@ namespace TASK // // scenarioType could be the same as scenarioName, used in for example TASK::TaskStartScenarioAtPosition. // - inline BOOL IsScenarioTypeEnabled(String scenarioType) { return _i(0x3A815DB3EA088722,scenarioType); } // 0x3A815DB3EA088722 0xAE37E969 b323 - // Full list of scenario types used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json + inline BOOL IsScenarioTypeEnabled(const char* scenarioType) { return _i(0x3A815DB3EA088722,scenarioType); } // 0x3A815DB3EA088722 0xAE37E969 b323 + // Full list of scenario types used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json // seems to enable/disable specific scenario-types from happening in the game world. // // Here are some scenario types from the scripts: @@ -17797,32 +17797,32 @@ namespace TASK // "WORLD_VEHICLE_TRUCK_LOGS" // // scenarioType could be the same as scenarioName, used in for example TASK::TaskStartScenarioAtPosition. - inline Void SetScenarioTypeEnabled(String scenarioType, BOOL toggle) { return _i(0xEB47EC4E34FB7EE1,scenarioType, toggle); } // 0xEB47EC4E34FB7EE1 0xDB18E5DE b323 - // + inline Void SetScenarioTypeEnabled(const char* scenarioType, BOOL toggle) { return _i(0xEB47EC4E34FB7EE1,scenarioType, toggle); } // 0xEB47EC4E34FB7EE1 0xDB18E5DE b323 + // inline Void ResetScenarioTypesEnabled() { return _i(0xD40EE2A7F2B2D6D); } // 0xD40EE2A7F2B2D6D 0xF58FDEB4 b323 - // + // inline BOOL IsPedActiveInScenario(Ped ped) { return _i(0xAA135F9482C82CC3,ped); } // 0xAA135F9482C82CC3 0x05038F1A b323 - // Used only once (am_mp_property_int) + // Used only once (am_mp_property_int) // // ped was PlayerPedId() // // Related to CTaskAmbientClips. inline BOOL IsPedPlayingBaseClipInScenario(Ped ped) { return _i(0x621C6E4729388E41,ped); } // 0x621C6E4729388E41 0xA0DA6B1D b323 - // Appears only in fm_mission_controller and used only 3 times. + // Appears only in fm_mission_controller and used only 3 times. // // ped was always PlayerPedId() // p1 was always true // p2 was always true inline Void SetPedCanPlayAmbientIdles(Ped ped, BOOL blockIdleClips, BOOL removeIdleClipIfPlaying) { return _i(0x8FD89A6240813FD0,ped, blockIdleClips, removeIdleClipIfPlaying); } // 0x8FD89A6240813FD0 0xB5AD044E b323 - // Despite its name, it only attacks ONE hated target. The one closest to the specified position. + // Despite its name, it only attacks ONE hated target. The one closest to the specified position. inline Void TaskCombatHatedTargetsInArea(Ped ped, float x, float y, float z, float radius, int combatFlags) { return _i(0x4CF5F55DAC3280A0,ped, x, y, z, radius, combatFlags); } // 0x4CF5F55DAC3280A0 0xDF099E18 b323 - // Despite its name, it only attacks ONE hated target. The one closest hated target. + // Despite its name, it only attacks ONE hated target. The one closest hated target. // // p2 seems to be always 0 inline Void TaskCombatHatedTargetsAroundPed(Ped ped, float radius, int combatFlags) { return _i(0x7BF835BB9E2698C8,ped, radius, combatFlags); } // 0x7BF835BB9E2698C8 0x2E7064E4 b323 - // + // inline Void TaskCombatHatedTargetsAroundPedTimed(Ped ped, float radius, int time, int combatFlags) { return _i(0x2BBA30B854534A0C,ped, radius, time, combatFlags); } // 0x2BBA30B854534A0C 0xF127AD6A b323 - // 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. + // 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. // --- @@ -17831,9 +17831,9 @@ namespace TASK // ---------------------------------------------------- // 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. inline Void TaskThrowProjectile(Ped ped, float x, float y, float z, int ignoreCollisionEntityIndex, BOOL createInvincibleProjectile) { return _i(0x7285951DBF6B5A51,ped, x, y, z, ignoreCollisionEntityIndex, createInvincibleProjectile); } // 0x7285951DBF6B5A51 0xF65C20A7 b323 - // + // inline Void TaskSwapWeapon(Ped ped, BOOL drawWeapon) { return _i(0xA21C51255B205245,ped, drawWeapon); } // 0xA21C51255B205245 0xDAF4F8FC b323 - // The 2nd param (drawWeapon) is not implemented. + // The 2nd param (drawWeapon) is not implemented. // // ----------------------------------------------------------------------- // @@ -17843,9 +17843,9 @@ namespace TASK // TASK::TaskReloadWeapon(PLAYER::PlayerPedId(), 1); // } inline Void TaskReloadWeapon(Ped ped, BOOL drawWeapon) { return _i(0x62D2916F56B9CD2D,ped, drawWeapon); } // 0x62D2916F56B9CD2D 0xCA6E91FD b323 - // + // inline BOOL IsPedGettingUp(Ped ped) { return _i(0x2A74E1D5F2F00EEC,ped); } // 0x2A74E1D5F2F00EEC 0x320813E6 b323 - // EX: Function.Call(Ped1, Ped2, Time, 0); + // 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. // @@ -17853,10 +17853,10 @@ namespace TASK // // Third parameter does not appear to be time. The last parameter is not implemented (It's not used, regardless of value). inline Void TaskWrithe(Ped ped, Ped target, int minFireLoops, int startState, BOOL forceShootOnGround, int shootFromGroundTimer) { return _i(0xCDDC2B77CE54AC6E,ped, target, minFireLoops, startState, forceShootOnGround, shootFromGroundTimer); } // 0xCDDC2B77CE54AC6E 0x0FDC54FC b323 - // This native checks if a ped is on the ground, in pain from a (gunshot) wound. + // 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. inline BOOL IsPedInWrithe(Ped ped) { return _i(0xDEB6D52126E7D640,ped); } // 0xDEB6D52126E7D640 0x09E61921 b323 - // patrolRoutes found in the b617d scripts: + // patrolRoutes found in the b617d scripts: // "miss_Ass0", // "miss_Ass1", // "miss_Ass2", @@ -17877,10 +17877,10 @@ namespace TASK // "miss_Tower_07", // "miss_Tower_08", // "miss_Tower_10" - inline Void OpenPatrolRoute(String patrolRoute) { return _i(0xA36BFB5EE89F3D82,patrolRoute); } // 0xA36BFB5EE89F3D82 0xF33F83CA b323 - // + inline Void OpenPatrolRoute(const char* patrolRoute) { return _i(0xA36BFB5EE89F3D82,patrolRoute); } // 0xA36BFB5EE89F3D82 0xF33F83CA b323 + // inline Void ClosePatrolRoute() { return _i(0xB043ECA801B8CBC1); } // 0xB043ECA801B8CBC1 0x67305E59 b323 - // Example: + // Example: // TASK::AddPatrolRouteNode(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. @@ -17896,21 +17896,21 @@ namespace TASK // 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::GetRandomIntInRange(5000, 10000). - inline Void AddPatrolRouteNode(int nodeId, String nodeType, float posX, float posY, float posZ, float headingX, float headingY, float headingZ, int duration) { return _i(0x8EDF950167586B7C,nodeId, nodeType, posX, posY, posZ, headingX, headingY, headingZ, duration); } // 0x8EDF950167586B7C 0x21B48F10 b323 - // + inline Void AddPatrolRouteNode(int nodeId, const char* nodeType, float posX, float posY, float posZ, float headingX, float headingY, float headingZ, int duration) { return _i(0x8EDF950167586B7C,nodeId, nodeType, posX, posY, posZ, headingX, headingY, headingZ, duration); } // 0x8EDF950167586B7C 0x21B48F10 b323 + // inline Void AddPatrolRouteLink(int nodeId1, int nodeId2) { return _i(0x23083260DEC3A551,nodeId1, nodeId2); } // 0x23083260DEC3A551 0xD8761BB3 b323 - // + // inline Void CreatePatrolRoute() { return _i(0xAF8A443CCC8018DC); } // 0xAF8A443CCC8018DC 0x0A6C7864 b323 - // From the b617d scripts: + // From the b617d scripts: // // TASK::DeletePatrolRoute("miss_merc0"); // TASK::DeletePatrolRoute("miss_merc1"); // TASK::DeletePatrolRoute("miss_merc2"); // TASK::DeletePatrolRoute("miss_dock"); - inline Void DeletePatrolRoute(String patrolRoute) { return _i(0x7767DD9D65E91319,patrolRoute); } // 0x7767DD9D65E91319 0x2A4E6706 b323 - // + inline Void DeletePatrolRoute(const char* patrolRoute) { return _i(0x7767DD9D65E91319,patrolRoute); } // 0x7767DD9D65E91319 0x2A4E6706 b323 + // inline BOOL GetPatrolTaskInfo(Ped ped, int* timeLeftAtNode, int* nodeId) { return _i(0x52F734CEBE20DFBA,ped, timeLeftAtNode, nodeId); } // 0x52F734CEBE20DFBA b2545 - // 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: + // 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) @@ -17933,22 +17933,22 @@ namespace TASK // TASK::CreatePatrolRoute(); // // - inline Void TaskPatrol(Ped ped, String patrolRouteName, int alertState, BOOL canChatToPeds, BOOL useHeadLookAt) { return _i(0xBDA5DF49D080FE4E,ped, patrolRouteName, alertState, canChatToPeds, useHeadLookAt); } // 0xBDA5DF49D080FE4E 0xB92E5AF6 b323 - // Makes the ped run to take cover + inline Void TaskPatrol(Ped ped, const char* patrolRouteName, int alertState, BOOL canChatToPeds, BOOL useHeadLookAt) { return _i(0xBDA5DF49D080FE4E,ped, patrolRouteName, alertState, canChatToPeds, useHeadLookAt); } // 0xBDA5DF49D080FE4E 0xB92E5AF6 b323 + // Makes the ped run to take cover inline Void TaskStayInCover(Ped ped) { return _i(0xE5DA8615A6180789,ped); } // 0xE5DA8615A6180789 0xA27A9413 b323 - // x, y, z: offset in world coords from some entity. + // x, y, z: offset in world coords from some entity. inline Void AddVehicleSubtaskAttackCoord(Ped ped, float x, float y, float z) { return _i(0x5CF0D8F9BBA0DD75,ped, x, y, z); } // 0x5CF0D8F9BBA0DD75 0x50779A2C b323 - // + // inline Void AddVehicleSubtaskAttackPed(Ped ped, Ped target) { return _i(0x85F462BADC7DA47F,ped, target); } // 0x85F462BADC7DA47F 0x80461113 b323 - // + // inline Void TaskVehicleShootAtPed(Ped ped, Ped target, float fireTolerance) { return _i(0x10AB107B887214D8,ped, target, fireTolerance); } // 0x10AB107B887214D8 0x59677BA0 b323 - // + // inline Void TaskVehicleAimAtPed(Ped ped, Ped target) { return _i(0xE41885592B08B097,ped, target); } // 0xE41885592B08B097 0x920AE6DB b323 - // + // inline Void TaskVehicleShootAtCoord(Ped ped, float x, float y, float z, float fireTolerance) { return _i(0x5190796ED39C9B6D,ped, x, y, z, fireTolerance); } // 0x5190796ED39C9B6D 0xA7AAA4D6 b323 - // + // inline Void TaskVehicleAimAtCoord(Ped ped, float x, float y, float z) { return _i(0x447C1E9EF844BC0F,ped, x, y, z); } // 0x447C1E9EF844BC0F 0x010F47CE b323 - // Differs from TaskVehicleDriveToCoordS in that it will pick the shortest possible road route without taking one-way streets and other "road laws" into consideration. + // Differs from TaskVehicleDriveToCoordS 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! @@ -17964,7 +17964,7 @@ namespace TASK // // 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/ inline Void TaskVehicleGotoNavmesh(Ped ped, Vehicle vehicle, float x, float y, float z, float speed, int behaviorFlag, float stoppingRange) { return _i(0x195AEEB13CEFE2EE,ped, vehicle, x, y, z, speed, behaviorFlag, stoppingRange); } // 0x195AEEB13CEFE2EE 0x55CF3BCD b323 - // movement_speed: mostly 2f, but also 1/1.2f, etc. + // movement_speed: mostly 2f, but also 1/1.2f, etc. // p8: always false // p9: 2f // p10: 0.5f @@ -17973,9 +17973,9 @@ namespace TASK // p13: 0 // firing_pattern: ${firing_pattern_full_auto}, 0xC6EE6B4C inline Void TaskGoToCoordWhileAimingAtCoord(Ped ped, float x, float y, float z, float aimAtX, float aimAtY, float aimAtZ, float moveBlendRatio, BOOL shoot, float targetRadius, float slowDistance, BOOL useNavMesh, int navFlags, BOOL instantBlendToAim, Hash firingPattern) { return _i(0x11315AB3385B8AC0,ped, x, y, z, aimAtX, aimAtY, aimAtZ, moveBlendRatio, shoot, targetRadius, slowDistance, useNavMesh, navFlags, instantBlendToAim, firingPattern); } // 0x11315AB3385B8AC0 0x1552DC91 b323 - // + // inline Void TaskGoToCoordWhileAimingAtEntity(Ped ped, float x, float y, float z, Entity aimAtID, float moveBlendRatio, BOOL shoot, float targetRadius, float slowDistance, BOOL useNavMesh, int navFlags, BOOL instantBlendToAim, Hash firingPattern, int time) { return _i(0xB2A16444EAD9AE47,ped, x, y, z, aimAtID, moveBlendRatio, shoot, targetRadius, slowDistance, useNavMesh, navFlags, instantBlendToAim, firingPattern, time); } // 0xB2A16444EAD9AE47 0x9BD52ABD b323 - // 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. + // 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. // @@ -18016,79 +18016,79 @@ namespace TASK // // 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. inline Void TaskGoToCoordAndAimAtHatedEntitiesNearCoord(Ped pedHandle, float goToLocationX, float goToLocationY, float goToLocationZ, float focusLocationX, float focusLocationY, float focusLocationZ, float speed, BOOL shootAtEnemies, float distanceToStopAt, float noRoadsDistance, BOOL useNavMesh, int navFlags, int taskFlags, Hash firingPattern) { return _i(0xA55547801EB331FC,pedHandle, goToLocationX, goToLocationY, goToLocationZ, focusLocationX, focusLocationY, focusLocationZ, speed, shootAtEnemies, distanceToStopAt, noRoadsDistance, useNavMesh, navFlags, taskFlags, firingPattern); } // 0xA55547801EB331FC 0x3F91358E b323 - // + // inline Void TaskGoToEntityWhileAimingAtCoord(Ped ped, Entity entity, float aimX, float aimY, float aimZ, float moveBlendRatio, BOOL shoot, float targetRadius, float slowDistance, BOOL useNavMesh, BOOL instantBlendToAim, Hash firingPattern) { return _i(0x4701832B739DCE5,ped, entity, aimX, aimY, aimZ, moveBlendRatio, shoot, targetRadius, slowDistance, useNavMesh, instantBlendToAim, firingPattern); } // 0x4701832B739DCE5 0xD896CD82 b323 - // shootatEntity: + // 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. inline Void TaskGoToEntityWhileAimingAtEntity(Ped ped, Entity entityToWalkTo, Entity entityToAimAt, float speed, BOOL shootatEntity, float targetRadius, float slowDistance, BOOL useNavMesh, BOOL instantBlendToAim, Hash firingPattern) { return _i(0x97465886D35210E9,ped, entityToWalkTo, entityToAimAt, speed, shootatEntity, targetRadius, slowDistance, useNavMesh, instantBlendToAim, firingPattern); } // 0x97465886D35210E9 0x68E36B7A b323 - // Makes the ped ragdoll like when falling from a great height + // Makes the ped ragdoll like when falling from a great height inline Void SetHighFallTask(Ped ped, int minTime, int maxTime, int entryType) { return _i(0x8C825BDC7741D37C,ped, minTime, maxTime, entryType); } // 0x8C825BDC7741D37C 0xBBB26172 b323 - // Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + // 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. - inline Void RequestWaypointRecording(String name) { return _i(0x9EEFB62EB27B5792,name); } // 0x9EEFB62EB27B5792 0xAFABFB5D b323 - // Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json - inline BOOL GetIsWaypointRecordingLoaded(String name) { return _i(0xCB4E8BE8A0063C5D,name); } // 0xCB4E8BE8A0063C5D 0x87125F5D b323 - // Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json - inline Void RemoveWaypointRecording(String name) { return _i(0xFF1B8B4AA1C25DC8,name); } // 0xFF1B8B4AA1C25DC8 0x624530B0 b323 - // Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + inline Void RequestWaypointRecording(const char* name) { return _i(0x9EEFB62EB27B5792,name); } // 0x9EEFB62EB27B5792 0xAFABFB5D b323 + // Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + inline BOOL GetIsWaypointRecordingLoaded(const char* name) { return _i(0xCB4E8BE8A0063C5D,name); } // 0xCB4E8BE8A0063C5D 0x87125F5D b323 + // Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + inline Void RemoveWaypointRecording(const char* name) { return _i(0xFF1B8B4AA1C25DC8,name); } // 0xFF1B8B4AA1C25DC8 0x624530B0 b323 + // 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 - inline BOOL WaypointRecordingGetNumPoints(String name, int* points) { return _i(0x5343532C01A07234,name, points); } // 0x5343532C01A07234 0xF5F9B71E b323 - // Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + inline BOOL WaypointRecordingGetNumPoints(const char* name, int* points) { return _i(0x5343532C01A07234,name, points); } // 0x5343532C01A07234 0xF5F9B71E b323 + // 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 - inline BOOL WaypointRecordingGetCoord(String name, int point, Vector3* coord) { return _i(0x2FB897405C90B361,name, point, coord); } // 0x2FB897405C90B361 0x19266913 b323 - // Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json - inline float WaypointRecordingGetSpeedAtPoint(String name, int point) { return _i(0x5622AEBC33ACA9,name, point); } // 0x5622AEBC33ACA9 0xC765633A b323 - // Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + inline BOOL WaypointRecordingGetCoord(const char* name, int point, Vector3* coord) { return _i(0x2FB897405C90B361,name, point, coord); } // 0x2FB897405C90B361 0x19266913 b323 + // Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json + inline float WaypointRecordingGetSpeedAtPoint(const char* name, int point) { return _i(0x5622AEBC33ACA9,name, point); } // 0x5622AEBC33ACA9 0xC765633A b323 + // 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 - inline BOOL WaypointRecordingGetClosestWaypoint(String name, float x, float y, float z, int* point) { return _i(0xB629A298081F876F,name, x, y, z, point); } // 0xB629A298081F876F 0xC4CD35AF b323 - // - inline Void TaskFollowWaypointRecording(Ped ped, String name, int p2, int p3, int p4) { return _i(0x759591819534F7B,ped, name, p2, p3, p4); } // 0x759591819534F7B 0xADF9904D b323 - // + inline BOOL WaypointRecordingGetClosestWaypoint(const char* name, float x, float y, float z, int* point) { return _i(0xB629A298081F876F,name, x, y, z, point); } // 0xB629A298081F876F 0xC4CD35AF b323 + // + inline Void TaskFollowWaypointRecording(Ped ped, const char* name, int p2, int p3, int p4) { return _i(0x759591819534F7B,ped, name, p2, p3, p4); } // 0x759591819534F7B 0xADF9904D b323 + // inline BOOL IsWaypointPlaybackGoingOnForPed(Ped ped) { return _i(0xE03B3F2D3DC59B64,ped); } // 0xE03B3F2D3DC59B64 0x85B7725F b323 - // + // inline int GetPedWaypointProgress(Ped ped) { return _i(0x2720AAA75001E094,ped); } // 0x2720AAA75001E094 0x3595B104 b323 - // + // inline float GetPedWaypointDistance(Any p0) { return _i(0xE6A877C64CAF1BC5,p0); } // 0xE6A877C64CAF1BC5 0x084B35B0 b323 - // + // inline BOOL SetPedWaypointRouteOffset(Ped ped, float x, float y, float z) { return _i(0xED98E10B0AFCE4B4,ped, x, y, z); } // 0xED98E10B0AFCE4B4 0xF867F747 b323 - // - inline float GetWaypointDistanceAlongRoute(String name, int point) { return _i(0xA5B769058763E497,name, point); } // 0xA5B769058763E497 0xE8422AC4 b323 - // + // + inline float GetWaypointDistanceAlongRoute(const char* name, int point) { return _i(0xA5B769058763E497,name, point); } // 0xA5B769058763E497 0xE8422AC4 b323 + // inline BOOL WaypointPlaybackGetIsPaused(Any p0) { return _i(0x701375A7D43F01CB,p0); } // 0x701375A7D43F01CB 0xA6BB5717 b323 - // + // inline Void WaypointPlaybackPause(Any p0, BOOL p1, BOOL p2) { return _i(0xF342546AA06FED5,p0, p1, p2); } // 0xF342546AA06FED5 0xFE39ECF8 b323 - // + // inline Void WaypointPlaybackResume(Any p0, BOOL p1, Any p2, Any p3) { return _i(0x244F70C84C547D2D,p0, p1, p2, p3); } // 0x244F70C84C547D2D 0x50F392EF b323 - // + // inline Void WaypointPlaybackOverrideSpeed(Any p0, float p1, BOOL p2) { return _i(0x7D7D2B47FA788E85,p0, p1, p2); } // 0x7D7D2B47FA788E85 0x23E6BA96 b323 - // + // inline Void WaypointPlaybackUseDefaultSpeed(Any p0) { return _i(0x6599D834B12D0800,p0); } // 0x6599D834B12D0800 0x1BBB2CAC b323 - // - inline Void UseWaypointRecordingAsAssistedMovementRoute(String name, BOOL p1, float p2, float p3) { return _i(0x5A353B8E6B1095B5,name, p1, p2, p3); } // 0x5A353B8E6B1095B5 0x4DFD5FEC b323 - // + // + inline Void UseWaypointRecordingAsAssistedMovementRoute(const char* name, BOOL p1, float p2, float p3) { return _i(0x5A353B8E6B1095B5,name, p1, p2, p3); } // 0x5A353B8E6B1095B5 0x4DFD5FEC b323 + // inline Void WaypointPlaybackStartAimingAtPed(Ped ped, Ped target, BOOL p2) { return _i(0x20E330937C399D29,ped, target, p2); } // 0x20E330937C399D29 0x75E60CF6 b323 - // + // inline Void WaypointPlaybackStartAimingAtCoord(Ped ped, float x, float y, float z, BOOL p4) { return _i(0x8968400D900ED8B3,ped, x, y, z, p4); } // 0x8968400D900ED8B3 0xF120A34E b323 - // + // inline Void WaypointPlaybackStartShootingAtPed(Ped ped, Ped ped2, BOOL p2, BOOL p3) { return _i(0xE70BA7B90F8390DC,ped, ped2, p2, p3); } // 0xE70BA7B90F8390DC 0xBD5F0EB8 b323 - // + // inline Void WaypointPlaybackStartShootingAtCoord(Ped ped, float x, float y, float z, BOOL p4, Hash firingPattern) { return _i(0x57A25CFCC9DB671,ped, x, y, z, p4, firingPattern); } // 0x57A25CFCC9DB671 0xCDDB44D5 b323 - // + // inline Void WaypointPlaybackStopAimingOrShooting(Ped ped) { return _i(0x47EFA040EBB8E2EA,ped); } // 0x47EFA040EBB8E2EA 0x6D7CF40C b323 - // 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" - inline Void AssistedMovementRequestRoute(String route) { return _i(0x817268968605947A,route); } // 0x817268968605947A 0x48262EDA b323 - // - inline Void AssistedMovementRemoveRoute(String route) { return _i(0x3548536485DD792B,route); } // 0x3548536485DD792B 0xB3CEC06F b323 - // - inline BOOL AssistedMovementIsRouteLoaded(String route) { return _i(0x60F9A4393A21F741,route); } // 0x60F9A4393A21F741 0x79B067AF b323 - // - inline Void AssistedMovementSetRouteProperties(String route, int props) { return _i(0xD5002D78B7162E1B,route, props); } // 0xD5002D78B7162E1B 0x01CAAFCC b323 - // + // 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" + inline Void AssistedMovementRequestRoute(const char* route) { return _i(0x817268968605947A,route); } // 0x817268968605947A 0x48262EDA b323 + // + inline Void AssistedMovementRemoveRoute(const char* route) { return _i(0x3548536485DD792B,route); } // 0x3548536485DD792B 0xB3CEC06F b323 + // + inline BOOL AssistedMovementIsRouteLoaded(const char* route) { return _i(0x60F9A4393A21F741,route); } // 0x60F9A4393A21F741 0x79B067AF b323 + // + inline Void AssistedMovementSetRouteProperties(const char* route, int props) { return _i(0xD5002D78B7162E1B,route, props); } // 0xD5002D78B7162E1B 0x01CAAFCC b323 + // inline Void AssistedMovementOverrideLoadDistanceThisFrame(float dist) { return _i(0x13945951E16EF912,dist); } // 0x13945951E16EF912 0x8FB923EC b323 - // + // // // p2 = Waypoint recording string (found in update\update.rpf\x64\levels\gta5\waypointrec.rpf // p3 = 786468 @@ -18100,115 +18100,115 @@ namespace TASK // p11 = 1073741824 // // Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json - inline Void TaskVehicleFollowWaypointRecording(Ped ped, Vehicle vehicle, String WPRecording, int p3, int p4, int p5, int p6, float p7, BOOL p8, float p9) { return _i(0x3123FAA6DB1CF7ED,ped, vehicle, WPRecording, p3, p4, p5, p6, p7, p8, p9); } // 0x3123FAA6DB1CF7ED 0x959818B6 b323 - // + inline Void TaskVehicleFollowWaypointRecording(Ped ped, Vehicle vehicle, const char* WPRecording, int p3, int p4, int p5, int p6, float p7, BOOL p8, float p9) { return _i(0x3123FAA6DB1CF7ED,ped, vehicle, WPRecording, p3, p4, p5, p6, p7, p8, p9); } // 0x3123FAA6DB1CF7ED 0x959818B6 b323 + // inline BOOL IsWaypointPlaybackGoingOnForVehicle(Vehicle vehicle) { return _i(0xF5134943EA29868C,vehicle); } // 0xF5134943EA29868C 0x80DD15DB b323 - // + // inline int GetVehicleWaypointProgress(Vehicle vehicle) { return _i(0x9824CFF8FC66E159,vehicle); } // 0x9824CFF8FC66E159 0xD3CCF64E b323 - // + // inline int GetVehicleWaypointTargetPoint(Vehicle vehicle) { return _i(0x416B62AC8B9E5BBD,vehicle); } // 0x416B62AC8B9E5BBD 0x81049608 b323 - // + // inline Void VehicleWaypointPlaybackPause(Vehicle vehicle) { return _i(0x8A4E6AC373666BC5,vehicle); } // 0x8A4E6AC373666BC5 0x7C00B415 b323 - // + // inline Void VehicleWaypointPlaybackResume(Vehicle vehicle) { return _i(0xDC04FCAA7839D492,vehicle); } // 0xDC04FCAA7839D492 0xBEB14C82 b323 - // + // inline Void VehicleWaypointPlaybackUseDefaultSpeed(Vehicle vehicle) { return _i(0x5CEB25A7D2848963,vehicle); } // 0x5CEB25A7D2848963 0x923C3AA4 b323 - // + // inline Void VehicleWaypointPlaybackOverrideSpeed(Vehicle vehicle, float speed) { return _i(0x121F0593E0A431D7,vehicle, speed); } // 0x121F0593E0A431D7 0xBE1E7BB4 b323 - // I cant believe I have to define this, this is one of the best natives. + // 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. inline Void TaskSetBlockingOfNonTemporaryEvents(Ped ped, BOOL toggle) { return _i(0x90D2156198831D69,ped, toggle); } // 0x90D2156198831D69 0x1B54FB6B b323 - // p2 always false + // p2 always false // // [30/03/2017] ins1de : // // See ForcePedMotionState inline Void TaskForceMotionState(Ped ped, Hash state, BOOL forceRestart) { return _i(0x4F056E1AFFEF17AB,ped, state, forceRestart); } // 0x4F056E1AFFEF17AB 0xCAD2EF77 b323 - // Example: + // Example: // TASK::TaskMoveNetworkByName(PLAYER::PlayerPedId(), "arm_wrestling_sweep_paired_a_rev3", 0.0f, true, "mini@arm_wrestling", 0); - inline Void TaskMoveNetworkByName(Ped ped, String task, float multiplier, BOOL allowOverrideCloneUpdate, String animDict, int flags) { return _i(0x2D537BA194896636,ped, task, multiplier, allowOverrideCloneUpdate, animDict, flags); } // 0x2D537BA194896636 0x6F5D215F b323 - // Example: + inline Void TaskMoveNetworkByName(Ped ped, const char* task, float multiplier, BOOL allowOverrideCloneUpdate, const char* animDict, int flags) { return _i(0x2D537BA194896636,ped, task, multiplier, allowOverrideCloneUpdate, animDict, flags); } // 0x2D537BA194896636 0x6F5D215F b323 + // Example: // TASK::TaskMoveNetworkAdvancedByName(PLAYER::PlayerPedId(), "minigame_tattoo_michael_parts", 324.13f, 181.29f, 102.6f, 0.0f, 0.0f, 22.32f, 2, 0, false, 0, 0); - inline Void TaskMoveNetworkAdvancedByName(Ped ped, String network, float x, float y, float z, float rotX, float rotY, float rotZ, int rotOrder, float blendDuration, BOOL allowOverrideCloneUpdate, String animDict, int flags) { return _i(0xD5B35BEA41919ACB,ped, network, x, y, z, rotX, rotY, rotZ, rotOrder, blendDuration, allowOverrideCloneUpdate, animDict, flags); } // 0xD5B35BEA41919ACB 0x71A5C5DB b323 - // Used only once in the scripts (am_mp_nightclub) - inline Void TaskMoveNetworkByNameWithInitParams(Ped ped, String network, int* initialParameters, float blendDuration, BOOL allowOverrideCloneUpdate, String animDict, int flags) { return _i(0x3D45B0B355C5E0C9,ped, network, initialParameters, blendDuration, allowOverrideCloneUpdate, animDict, flags); } // 0x3D45B0B355C5E0C9 b1493 - // - inline Void TaskMoveNetworkAdvancedByNameWithInitParams(Ped ped, String network, int* initialParameters, float x, float y, float z, float rotX, float rotY, float rotZ, int rotOrder, float blendDuration, BOOL allowOverrideCloneUpdate, String dictionary, int flags) { return _i(0x29682E2CCF21E9B5,ped, network, initialParameters, x, y, z, rotX, rotY, rotZ, rotOrder, blendDuration, allowOverrideCloneUpdate, dictionary, flags); } // 0x29682E2CCF21E9B5 b1868 - // + inline Void TaskMoveNetworkAdvancedByName(Ped ped, const char* network, float x, float y, float z, float rotX, float rotY, float rotZ, int rotOrder, float blendDuration, BOOL allowOverrideCloneUpdate, const char* animDict, int flags) { return _i(0xD5B35BEA41919ACB,ped, network, x, y, z, rotX, rotY, rotZ, rotOrder, blendDuration, allowOverrideCloneUpdate, animDict, flags); } // 0xD5B35BEA41919ACB 0x71A5C5DB b323 + // Used only once in the scripts (am_mp_nightclub) + inline Void TaskMoveNetworkByNameWithInitParams(Ped ped, const char* network, int* initialParameters, float blendDuration, BOOL allowOverrideCloneUpdate, const char* animDict, int flags) { return _i(0x3D45B0B355C5E0C9,ped, network, initialParameters, blendDuration, allowOverrideCloneUpdate, animDict, flags); } // 0x3D45B0B355C5E0C9 b1493 + // + inline Void TaskMoveNetworkAdvancedByNameWithInitParams(Ped ped, const char* network, int* initialParameters, float x, float y, float z, float rotX, float rotY, float rotZ, int rotOrder, float blendDuration, BOOL allowOverrideCloneUpdate, const char* dictionary, int flags) { return _i(0x29682E2CCF21E9B5,ped, network, initialParameters, x, y, z, rotX, rotY, rotZ, rotOrder, blendDuration, allowOverrideCloneUpdate, dictionary, flags); } // 0x29682E2CCF21E9B5 b1868 + // inline BOOL IsTaskMoveNetworkActive(Ped ped) { return _i(0x921CE12C489C4C41,ped); } // 0x921CE12C489C4C41 0x902656EB b323 - // + // inline BOOL IsTaskMoveNetworkReadyForTransition(Ped ped) { return _i(0x30ED88D5E0C56A37,ped); } // 0x30ED88D5E0C56A37 0x92FDBAE6 b323 - // - inline BOOL RequestTaskMoveNetworkStateTransition(Ped ped, String name) { return _i(0xD01015C7316AE176,ped, name); } // 0xD01015C7316AE176 0x885724DE b323 - // Used only once in the scripts (fm_mission_controller) like so: + // + inline BOOL RequestTaskMoveNetworkStateTransition(Ped ped, const char* name) { return _i(0xD01015C7316AE176,ped, name); } // 0xD01015C7316AE176 0x885724DE b323 + // Used only once in the scripts (fm_mission_controller) like so: // // TASK::SetExpectedCloneNextTaskMoveNetworkState(iLocal_3160, "Cutting"); - inline BOOL SetExpectedCloneNextTaskMoveNetworkState(Ped ped, String state) { return _i(0xAB13A5565480B6D9,ped, state); } // 0xAB13A5565480B6D9 0x1E58A7AD b323 - // - inline String GetTaskMoveNetworkState(Ped ped) { return _i(0x717E4D1F2048376D,ped); } // 0x717E4D1F2048376D 0x96C0277B b323 - // - inline Void SetTaskMoveNetworkAnimSet(Ped ped, Hash clipSet, Hash variableClipSet) { return _i(0x8423541E8B3A1589,ped, clipSet, variableClipSet); } // 0x8423541E8B3A1589 b1493 - // signalName - "Phase", "Wobble", "x_axis","y_axis","introphase","speed". - // p2 - From what i can see it goes up to 1f (maybe). - // - // Example: TASK::SetTaskMoveNetworkSignalFloat(PLAYER::PlayerPedId(), "Phase", 0.5); - inline Void SetTaskMoveNetworkSignalFloat(Ped ped, String signalName, float value) { return _i(0xD5BB4025AE449A4E,ped, signalName, value); } // 0xD5BB4025AE449A4E 0xA79BE783 b323 - // - inline Void SetTaskMoveNetworkSignalLocalFloat(Ped ped, String signalName, float value) { return _i(0x373EF409B82697A3,ped, signalName, value); } // 0x373EF409B82697A3 b1493 - // - inline Void SetTaskMoveNetworkSignalFloatLerpRate(Ped ped, String signalName, float value) { return _i(0x8634CEF2522D987B,ped, signalName, value); } // 0x8634CEF2522D987B b1493 - // - inline Void SetTaskMoveNetworkSignalBool(Ped ped, String signalName, BOOL value) { return _i(0xB0A6CFD2C69C1088,ped, signalName, value); } // 0xB0A6CFD2C69C1088 0xF3538041 b323 - // - inline float GetTaskMoveNetworkSignalFloat(Ped ped, String signalName) { return _i(0x44AB0B3AFECCE242,ped, signalName); } // 0x44AB0B3AFECCE242 b1493 - // - inline BOOL GetTaskMoveNetworkSignalBool(Ped ped, String signalName) { return _i(0xA7FFBA498E4AAF67,ped, signalName); } // 0xA7FFBA498E4AAF67 0x1EBB6F3D b323 + inline BOOL SetExpectedCloneNextTaskMoveNetworkState(Ped ped, const char* state) { return _i(0xAB13A5565480B6D9,ped, state); } // 0xAB13A5565480B6D9 0x1E58A7AD b323 + // + inline const char* GetTaskMoveNetworkState(Ped ped) { return _i(0x717E4D1F2048376D,ped); } // 0x717E4D1F2048376D 0x96C0277B b323 + // + inline Void SetTaskMoveNetworkAnimSet(Ped ped, Hash clipSet, Hash variableClipSet) { return _i(0x8423541E8B3A1589,ped, clipSet, variableClipSet); } // 0x8423541E8B3A1589 b1493 + // signalName - "Phase", "Wobble", "x_axis","y_axis","introphase","speed". + // p2 - From what i can see it goes up to 1f (maybe). // - inline BOOL GetTaskMoveNetworkEvent(Ped ped, String eventName) { return _i(0xB4F47213DF45A64C,ped, eventName); } // 0xB4F47213DF45A64C 0x72FA5EF2 b323 - // Doesn't actually return anything. + // Example: TASK::SetTaskMoveNetworkSignalFloat(PLAYER::PlayerPedId(), "Phase", 0.5); + inline Void SetTaskMoveNetworkSignalFloat(Ped ped, const char* signalName, float value) { return _i(0xD5BB4025AE449A4E,ped, signalName, value); } // 0xD5BB4025AE449A4E 0xA79BE783 b323 + // + inline Void SetTaskMoveNetworkSignalLocalFloat(Ped ped, const char* signalName, float value) { return _i(0x373EF409B82697A3,ped, signalName, value); } // 0x373EF409B82697A3 b1493 + // + inline Void SetTaskMoveNetworkSignalFloatLerpRate(Ped ped, const char* signalName, float value) { return _i(0x8634CEF2522D987B,ped, signalName, value); } // 0x8634CEF2522D987B b1493 + // + inline Void SetTaskMoveNetworkSignalBool(Ped ped, const char* signalName, BOOL value) { return _i(0xB0A6CFD2C69C1088,ped, signalName, value); } // 0xB0A6CFD2C69C1088 0xF3538041 b323 + // + inline float GetTaskMoveNetworkSignalFloat(Ped ped, const char* signalName) { return _i(0x44AB0B3AFECCE242,ped, signalName); } // 0x44AB0B3AFECCE242 b1493 + // + inline BOOL GetTaskMoveNetworkSignalBool(Ped ped, const char* signalName) { return _i(0xA7FFBA498E4AAF67,ped, signalName); } // 0xA7FFBA498E4AAF67 0x1EBB6F3D b323 + // + inline BOOL GetTaskMoveNetworkEvent(Ped ped, const char* eventName) { return _i(0xB4F47213DF45A64C,ped, eventName); } // 0xB4F47213DF45A64C 0x72FA5EF2 b323 + // Doesn't actually return anything. inline BOOL SetTaskMoveNetworkEnableCollisionOnNetworkCloneWhenFixed(Ped ped, BOOL enable) { return _i(0xFFB3C758E8C07B9,ped, enable); } // 0xFFB3C758E8C07B9 b2060 - // + // inline Void SetScriptTaskEnableCollisionOnNetworkCloneWhenFixed(Ped ped, BOOL enable) { return _i(0x32F6EEF031F943DC,ped, enable); } // 0x32F6EEF031F943DC b3095 - // + // inline BOOL IsMoveBlendRatioStill(Ped ped) { return _i(0x349CE7B56DAFD95C,ped); } // 0x349CE7B56DAFD95C 0xE9DAF877 b323 - // + // inline BOOL IsMoveBlendRatioWalking(Ped ped) { return _i(0xF133BBBE91E1691F,ped); } // 0xF133BBBE91E1691F 0xD21639A8 b323 - // + // inline BOOL IsMoveBlendRatioRunning(Ped ped) { return _i(0xD4D8636C0199A939,ped); } // 0xD4D8636C0199A939 0xE76A2353 b323 - // + // inline BOOL IsMoveBlendRatioSprinting(Ped ped) { return _i(0x24A2AD74FA9814E2,ped); } // 0x24A2AD74FA9814E2 0xDD616893 b323 - // + // inline BOOL IsPedStill(Ped ped) { return _i(0xAC29253EEF8F0180,ped); } // 0xAC29253EEF8F0180 0x09E3418D b323 - // + // inline BOOL IsPedWalking(Ped ped) { return _i(0xDE4C184B2B9B071A,ped); } // 0xDE4C184B2B9B071A 0x4B865C4A b323 - // + // inline BOOL IsPedRunning(Ped ped) { return _i(0xC5286FFC176F28A2,ped); } // 0xC5286FFC176F28A2 0xE9A5578F b323 - // + // inline BOOL IsPedSprinting(Ped ped) { return _i(0x57E457CD2C0FC168,ped); } // 0x57E457CD2C0FC168 0x4F3E0633 b323 - // What's strafing? + // What's strafing? inline BOOL IsPedStrafing(Ped ped) { return _i(0xE45B7F222DE47E09,ped); } // 0xE45B7F222DE47E09 0xEFEED13C b323 - // TASK::TaskSynchronizedScene(ped, scene, "creatures@rottweiler@in_vehicle@std_car", "get_in", 1000.0, -8.0, 4, 0, 0x447a0000, 0); + // TASK::TaskSynchronizedScene(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 - inline Void TaskSynchronizedScene(Ped ped, int scene, String animDictionary, String animationName, float blendIn, float blendOut, int flags, int ragdollBlockingFlags, float moverBlendDelta, int ikFlags) { return _i(0xEEA929141F699854,ped, scene, animDictionary, animationName, blendIn, blendOut, flags, ragdollBlockingFlags, moverBlendDelta, ikFlags); } // 0xEEA929141F699854 0x4F217E7B b323 - // + inline Void TaskSynchronizedScene(Ped ped, int scene, const char* animDictionary, const char* animationName, float blendIn, float blendOut, int flags, int ragdollBlockingFlags, float moverBlendDelta, int ikFlags) { return _i(0xEEA929141F699854,ped, scene, animDictionary, animationName, blendIn, blendOut, flags, ragdollBlockingFlags, moverBlendDelta, ikFlags); } // 0xEEA929141F699854 0x4F217E7B b323 + // inline Void TaskAgitatedActionConfrontResponse(Ped ped, Ped ped2) { return _i(0x19D1B791CB3670FE,ped, ped2); } // 0x19D1B791CB3670FE b877 - // This function is called on peds in vehicles. + // 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 - inline Void TaskSweepAimEntity(Ped ped, String animDict, String lowAnimName, String medAnimName, String hiAnimName, int runtime, Entity targetEntity, float turnRate, float blendInDuration) { return _i(0x2047C02158D6405A,ped, animDict, lowAnimName, medAnimName, hiAnimName, runtime, targetEntity, turnRate, blendInDuration); } // 0x2047C02158D6405A 0x4D210467 b323 - // + inline Void TaskSweepAimEntity(Ped ped, const char* animDict, const char* lowAnimName, const char* medAnimName, const char* hiAnimName, int runtime, Entity targetEntity, float turnRate, float blendInDuration) { return _i(0x2047C02158D6405A,ped, animDict, lowAnimName, medAnimName, hiAnimName, runtime, targetEntity, turnRate, blendInDuration); } // 0x2047C02158D6405A 0x4D210467 b323 + // inline Void UpdateTaskSweepAimEntity(Ped ped, Entity entity) { return _i(0xE4973DBDBE6E44B3,ped, entity); } // 0xE4973DBDBE6E44B3 0xF65F0F4F b323 - // - inline Void TaskSweepAimPosition(Ped ped, String animDict, String lowAnimName, String medAnimName, String hiAnimName, int runtime, float x, float y, float z, float turnRate, float blendInDuration) { return _i(0x7AFE8FDC10BC07D2,ped, animDict, lowAnimName, medAnimName, hiAnimName, runtime, x, y, z, turnRate, blendInDuration); } // 0x7AFE8FDC10BC07D2 0x1683FE66 b323 - // + // + inline Void TaskSweepAimPosition(Ped ped, const char* animDict, const char* lowAnimName, const char* medAnimName, const char* hiAnimName, int runtime, float x, float y, float z, float turnRate, float blendInDuration) { return _i(0x7AFE8FDC10BC07D2,ped, animDict, lowAnimName, medAnimName, hiAnimName, runtime, x, y, z, turnRate, blendInDuration); } // 0x7AFE8FDC10BC07D2 0x1683FE66 b323 + // inline Void UpdateTaskSweepAimPosition(Ped ped, float x, float y, float z) { return _i(0xBB106883F5201FC4,ped, x, y, z); } // 0xBB106883F5201FC4 0x6345EC80 b323 - // Example from "me_amanda1.ysc.c4": + // Example from "me_amanda1.ysc.c4": // TASK::TaskArrestPed(l_19F /* This is a Ped */ , PLAYER::PlayerPedId()); // // Example from "armenian1.ysc.c4": @@ -18221,22 +18221,22 @@ namespace TASK // // 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. inline Void TaskArrestPed(Ped ped, Ped target) { return _i(0xF3B9A78A178572B1,ped, target); } // 0xF3B9A78A178572B1 0xBC0F153D b323 - // + // inline BOOL IsPedRunningArrestTask(Ped ped) { return _i(0x3DC52677769B4AE0,ped); } // 0x3DC52677769B4AE0 0x6942DB7A b323 - // This function is hard-coded to always return 0. + // This function is hard-coded to always return 0. inline BOOL IsPedBeingArrested(Ped ped) { return _i(0x90A09F3A45FED688,ped); } // 0x90A09F3A45FED688 0x5FF6C2ED b323 - // + // inline Void UncuffPed(Ped ped) { return _i(0x67406F2C8F87FC4F,ped); } // 0x67406F2C8F87FC4F 0xA23A1D61 b323 - // + // inline BOOL IsPedCuffed(Ped ped) { return _i(0x74E559B3BC910685,ped); } // 0x74E559B3BC910685 0x511CE741 b323 } namespace VEHICLE { - // p7 when set to true allows you to spawn vehicles under -100 z. + // 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 inline Vehicle CreateVehicle(Hash modelHash, float x, float y, float z, float heading, BOOL isNetwork, BOOL bScriptHostVeh, BOOL p7) { return _i(0xAF35D0D2583051B0,modelHash, x, y, z, heading, isNetwork, bScriptHostVeh, p7); } // 0xAF35D0D2583051B0 0xDD75460A b323 - // Deletes a vehicle. + // Deletes a vehicle. // The vehicle must be a mission entity to delete, so call this before deleting: SetEntityAsMissionEntity(vehicle, true, true); // // eg how to use: @@ -18245,26 +18245,26 @@ namespace VEHICLE // // Deletes the specified vehicle, then sets the handle pointed to by the pointer to NULL. inline Void DeleteVehicle(Vehicle* vehicle) { return _i(0xEA386986E786A54F,vehicle); } // 0xEA386986E786A54F 0x9803AF60 b323 - // + // inline Void SetVehicleAllowHomingMissleLockon(Vehicle vehicle, BOOL toggle, BOOL p2) { return _i(0x7D6F9A3EF26136A0,vehicle, toggle, p2); } // 0x7D6F9A3EF26136A0 0xBB54ECCA b323 - // + // inline Void SetVehicleAllowHomingMissleLockonSynced(Vehicle vehicle, BOOL canBeLockedOn, BOOL p2) { return _i(0x1DDA078D12879EEE,vehicle, canBeLockedOn, p2); } // 0x1DDA078D12879EEE b463 - // Makes the vehicle accept no passengers. + // Makes the vehicle accept no passengers. inline Void SetVehicleAllowNoPassengersLockon(Vehicle veh, BOOL toggle) { return _i(0x5D14D4154BFE7B2C,veh, toggle); } // 0x5D14D4154BFE7B2C 0x8BAAC437 b323 - // Returns a value depending on the lock-on state of vehicle weapons. + // Returns a value depending on the lock-on state of vehicle weapons. // 0: not locked on // 1: locking on // 2: locked on inline int GetVehicleHomingLockonState(Vehicle vehicle) { return _i(0xE6B0E8CFC3633BF0,vehicle); } // 0xE6B0E8CFC3633BF0 0xFBDE9FD8 b323 - // + // inline int GetVehicleHomingLockedontoState(Any p0) { return _i(0x6EAAEFC76ACC311F,p0); } // 0x6EAAEFC76ACC311F b757 - // + // inline Void SetVehicleHomingLockedontoState(Any p0, Any p1) { return _i(0x407DC5E97DB1A4D3,p0, p1); } // 0x407DC5E97DB1A4D3 b1493 - // + // inline BOOL IsVehicleModel(Vehicle vehicle, Hash model) { return _i(0x423E8DE37D934D89,vehicle, model); } // 0x423E8DE37D934D89 0x013B10B6 b323 - // + // inline BOOL DoesScriptVehicleGeneratorExist(int vehicleGenerator) { return _i(0xF6086BC836400876,vehicleGenerator); } // 0xF6086BC836400876 0xF6BDDA30 b323 - // Creates a script vehicle generator at the given coordinates. Most parameters after the model hash are unknown. + // Creates a script vehicle generator at the given coordinates. Most parameters after the model hash are unknown. // // Parameters: // x/y/z - Generator position @@ -18281,73 +18281,73 @@ namespace VEHICLE // // Vector3 coords = GetEntityCoords(PlayerPedId(), 0); CreateScriptVehicleGenerator(coords.x, coords.y, coords.z, 1.0f, 5.0f, 3.0f, GetHashKey("adder"), -1. -1, -1, -1, -1, true, false, false, false, true, -1); inline int CreateScriptVehicleGenerator(float x, float y, float z, float heading, float p4, float p5, Hash modelHash, int p7, int p8, int p9, int p10, BOOL p11, BOOL p12, BOOL p13, BOOL p14, BOOL p15, int p16) { return _i(0x9DEF883114668116,x, y, z, heading, p4, p5, modelHash, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16); } // 0x9DEF883114668116 0x25A9A261 b323 - // + // inline Void DeleteScriptVehicleGenerator(int vehicleGenerator) { return _i(0x22102C9ABFCF125D,vehicleGenerator); } // 0x22102C9ABFCF125D 0xE4328E3F b323 - // Only called once in the decompiled scripts. Presumably activates the specified generator. + // Only called once in the decompiled scripts. Presumably activates the specified generator. inline Void SetScriptVehicleGenerator(int vehicleGenerator, BOOL enabled) { return _i(0xD9D620E0AC6DC4B0,vehicleGenerator, enabled); } // 0xD9D620E0AC6DC4B0 0x40D73747 b323 - // When p6 is true, vehicle generators are active. + // When p6 is true, vehicle generators are active. // p7 seems to always be true in story mode scripts, but it's sometimes false in online scripts. inline Void SetAllVehicleGeneratorsActiveInArea(float x1, float y1, float z1, float x2, float y2, float z2, BOOL toggle, BOOL p7) { return _i(0xC12321827687FE4D,x1, y1, z1, x2, y2, z2, toggle, p7); } // 0xC12321827687FE4D 0xB4E0E69A b323 - // + // inline Void SetAllVehicleGeneratorsActive() { return _i(0x34AD89078831A4BC); } // 0x34AD89078831A4BC 0xAB1FDD76 b323 - // + // inline Void SetAllLowPriorityVehicleGeneratorsActive(BOOL active) { return _i(0x608207E7A8FB787C,active); } // 0x608207E7A8FB787C 0x87F767F2 b323 - // Related to car generators & CPlayerSwitchMgrLong + // Related to car generators & CPlayerSwitchMgrLong inline Void SetVehicleGeneratorAreaOfInterest(float x, float y, float z, float radius) { return _i(0x9A75585FB2E54FAD,x, y, z, radius); } // 0x9A75585FB2E54FAD 0x935A95DA b323 - // + // inline Void ClearVehicleGeneratorAreaOfInterest() { return _i(0xA436B8643716D14); } // 0xA436B8643716D14 0x6C73E45A b323 - // Sets a vehicle on the ground on all wheels. Returns whether or not the operation was successful. + // 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. inline BOOL SetVehicleOnGroundProperly(Vehicle vehicle, float p1) { return _i(0x49733E92263139D1,vehicle, p1); } // 0x49733E92263139D1 0xE14FDBA6 b323 - // + // inline BOOL SetVehicleUseCutsceneWheelCompression(Vehicle p0, BOOL p1, BOOL p2, BOOL p3) { return _i(0xE023E8AC4EF7C117,p0, p1, p2, p3); } // 0xE023E8AC4EF7C117 0xA0909ADB b323 - // + // inline BOOL IsVehicleStuckOnRoof(Vehicle vehicle) { return _i(0xB497F06B288DCFDF,vehicle); } // 0xB497F06B288DCFDF 0x18D07C6C b323 - // + // inline Void AddVehicleUpsidedownCheck(Vehicle vehicle) { return _i(0xB72E26D81006005B,vehicle); } // 0xB72E26D81006005B 0x3A13D384 b323 - // + // inline Void RemoveVehicleUpsidedownCheck(Vehicle vehicle) { return _i(0xC53EB42A499A7E90,vehicle); } // 0xC53EB42A499A7E90 0xF390BA1B b323 - // Returns true if the vehicle's current speed is less than, or equal to 0.0025f. + // 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. inline BOOL IsVehicleStopped(Vehicle vehicle) { return _i(0x5721B434AD84D57A,vehicle); } // 0x5721B434AD84D57A 0x655F072C b323 - // Gets the number of passengers. + // Gets the number of passengers. // // This native was modified in b2545 to take two additional parameters, allowing you to include the driver or exclude dead passengers. // // To keep it working like before b2545, set includeDriver to false and includeDeadOccupants to true. inline int GetVehicleNumberOfPassengers(Vehicle vehicle, BOOL includeDriver, BOOL includeDeadOccupants) { return _i(0x24CB2137731FFE89,vehicle, includeDriver, includeDeadOccupants); } // 0x24CB2137731FFE89 0x1EF20849 b323 - // + // inline int GetVehicleMaxNumberOfPassengers(Vehicle vehicle) { return _i(0xA7C4F2C6E744A550,vehicle); } // 0xA7C4F2C6E744A550 0x0A2FC08C b323 - // Returns max number of passengers (including the driver) for the specified vehicle model. + // 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 inline int GetVehicleModelNumberOfSeats(Hash modelHash) { return _i(0x2AD93716F184EDA4,modelHash); } // 0x2AD93716F184EDA4 0x838F7BF7 b323 - // + // inline BOOL IsSeatWarpOnly(Vehicle vehicle, int seatIndex) { return _i(0xF7F203E31F96F6A1,vehicle, seatIndex); } // 0xF7F203E31F96F6A1 0x769E5CF2 b323 - // + // inline BOOL IsTurretSeat(Vehicle vehicle, int seatIndex) { return _i(0xE33FFA906CE74880,vehicle, seatIndex); } // 0xE33FFA906CE74880 0x7C43D32A b323 - // Returns true if the vehicle has the FLAG_ALLOWS_RAPPEL flag set. + // Returns true if the vehicle has the FLAG_ALLOWS_RAPPEL flag set. inline BOOL DoesVehicleAllowRappel(Vehicle vehicle) { return _i(0x4E417C547182C84D,vehicle); } // 0x4E417C547182C84D b757 - // Use this native inside a looped function. + // Use this native inside a looped function. // Values: // - `0.0` = no vehicles on streets // - `1.0` = normal vehicles on streets inline Void SetVehicleDensityMultiplierThisFrame(float multiplier) { return _i(0x245A6883D966D537,multiplier); } // 0x245A6883D966D537 0xF4187E51 b323 - // + // inline Void SetRandomVehicleDensityMultiplierThisFrame(float multiplier) { return _i(0xB3B3359379FE77D3,multiplier); } // 0xB3B3359379FE77D3 0x543F712B b323 - // + // inline Void SetParkedVehicleDensityMultiplierThisFrame(float multiplier) { return _i(0xEAE6DCC7EEE3DB1D,multiplier); } // 0xEAE6DCC7EEE3DB1D 0xDD46CEBE b323 - // + // inline Void SetDisableRandomTrainsThisFrame(BOOL toggle) { return _i(0xD4B8E3D1917BC86B,toggle); } // 0xD4B8E3D1917BC86B 0x09462665 b323 - // + // inline Void SetAmbientVehicleRangeMultiplierThisFrame(float value) { return _i(0x90B6DA738A9A25DA,value); } // 0x90B6DA738A9A25DA 0xDAE2A2BE b323 - // + // inline Void SetFarDrawVehicles(BOOL toggle) { return _i(0x26324F33423F3CC3,toggle); } // 0x26324F33423F3CC3 0x9F019C49 b323 - // + // inline Void SetNumberOfParkedVehicles(int value) { return _i(0xCAA15F13EBD417FF,value); } // 0xCAA15F13EBD417FF 0x206A58E8 b323 - // enum eVehicleLockState + // enum eVehicleLockState // { // VEHICLELOCK_NONE, // VEHICLELOCK_UNLOCKED, @@ -18362,35 +18362,35 @@ namespace VEHICLE // VEHICLELOCK_CANNOT_ENTER // }; inline Void SetVehicleDoorsLocked(Vehicle vehicle, int doorLockStatus) { return _i(0xB664292EAECF7FA6,vehicle, doorLockStatus); } // 0xB664292EAECF7FA6 0x4CDD35D0 b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline Void SetVehicleIndividualDoorsLocked(Vehicle vehicle, int doorId, int doorLockStatus) { return _i(0xBE70724027F85BCD,vehicle, doorId, doorLockStatus); } // 0xBE70724027F85BCD 0xD61D182D b323 - // If set to true, prevents vehicle sirens from having sound, leaving only the lights. + // If set to true, prevents vehicle sirens from having sound, leaving only the lights. inline Void SetVehicleHasMutedSirens(Vehicle vehicle, BOOL toggle) { return _i(0xD8050E0EB60CF274,vehicle, toggle); } // 0xD8050E0EB60CF274 0xC54156A9 b323 - // + // inline Void SetVehicleDoorsLockedForPlayer(Vehicle vehicle, Player player, BOOL toggle) { return _i(0x517AAF684BB50CD1,vehicle, player, toggle); } // 0x517AAF684BB50CD1 0x49829236 b323 - // + // inline BOOL GetVehicleDoorsLockedForPlayer(Vehicle vehicle, Player player) { return _i(0xF6AF6CB341349015,vehicle, player); } // 0xF6AF6CB341349015 0x1DC50247 b323 - // After some analysis, I've decided that these are what the parameters are. + // 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::GetVehiclePedIsIn(PLAYER::PlayerPedId(), 1); // ... // VEHICLE::SetVehicleDoorsLocked_FOR_ALL_PLAYERS(l_11A1, 1); inline Void SetVehicleDoorsLockedForAllPlayers(Vehicle vehicle, BOOL toggle) { return _i(0xA2F80B8D040727CC,vehicle, toggle); } // 0xA2F80B8D040727CC 0x891BA8A4 b323 - // + // inline Void SetVehicleDoorsLockedForNonScriptPlayers(Vehicle vehicle, BOOL toggle) { return _i(0x9737A37136F07E75,vehicle, toggle); } // 0x9737A37136F07E75 0xE4EF6514 b323 - // + // inline Void SetVehicleDoorsLockedForTeam(Vehicle vehicle, int team, BOOL toggle) { return _i(0xB81F6D4A8F5EEBA8,vehicle, team, toggle); } // 0xB81F6D4A8F5EEBA8 0x4F85E783 b323 - // + // inline Void SetVehicleDoorsLockedForAllTeams(Vehicle vehicle, BOOL toggle) { return _i(0x203B527D1B77904C,vehicle, toggle); } // 0x203B527D1B77904C b1365 - // + // inline Void SetVehicleDontTerminateTaskWhenAchieved(Vehicle vehicle) { return _i(0x76D26A22750E849E,vehicle); } // 0x76D26A22750E849E b1103 - // 0.0f = engine rev minimum + // 0.0f = engine rev minimum // 1.0f = engine rev limit inline Void SetVehicleMaxLaunchEngineRevs(Vehicle vehicle, float modifier) { return _i(0x5AE614ECA5FDD423,vehicle, modifier); } // 0x5AE614ECA5FDD423 b3095 - // + // inline float GetVehicleThrottle(Vehicle vehicle) { return _i(0x92D96892FC06AF22,vehicle); } // 0x92D96892FC06AF22 b3095 - // Explodes a selected vehicle. + // Explodes a selected vehicle. // // Vehicle vehicle = Vehicle you want to explode. // BOOL isAudible = If explosion makes a sound. @@ -18398,21 +18398,21 @@ namespace VEHICLE // // First BOOL does not give any visual explosion, the vehicle just falls apart completely but slowly and starts to burn. inline Void ExplodeVehicle(Vehicle vehicle, BOOL isAudible, BOOL isInvisible) { return _i(0xBA71116ADF5B514C,vehicle, isAudible, isInvisible); } // 0xBA71116ADF5B514C 0xBEDEACEB b323 - // 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. + // 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. inline Void SetVehicleOutOfControl(Vehicle vehicle, BOOL killDriver, BOOL explodeOnImpact) { return _i(0xF19D095E42D430CC,vehicle, killDriver, explodeOnImpact); } // 0xF19D095E42D430CC 0x3764D734 b323 - // + // inline Void SetVehicleTimedExplosion(Vehicle vehicle, Ped ped, BOOL toggle) { return _i(0x2E0A74E1002380B1,vehicle, ped, toggle); } // 0x2E0A74E1002380B1 0xDB8CB8E2 b323 - // + // inline Void AddVehiclePhoneExplosiveDevice(Vehicle vehicle) { return _i(0x99AD4CCCB128CBC9,vehicle); } // 0x99AD4CCCB128CBC9 0x811373DE b323 - // + // inline Void ClearVehiclePhoneExplosiveDevice() { return _i(0xAA3F739ABDDCF21F); } // 0xAA3F739ABDDCF21F b463 - // + // inline BOOL HasVehiclePhoneExplosiveDevice() { return _i(0x6ADAABD3068C5235); } // 0x6ADAABD3068C5235 0xA4E69134 b323 - // + // inline Void DetonateVehiclePhoneExplosiveDevice() { return _i(0xEF49CF0270307CBE); } // 0xEF49CF0270307CBE 0x65255524 b323 - // + // inline BOOL HaveVehicleRearDoorsBeenBlownOpenByStickybomb(Vehicle vehicle) { return _i(0x6B407F2525E93644,vehicle); } // 0x6B407F2525E93644 b2944 - // This is not tested - it's just an assumption. + // This is not tested - it's just an assumption. // - Nac // // Doesn't seem to work. I'll try with an int instead. --JT @@ -18423,100 +18423,100 @@ namespace VEHICLE // VEHICLE::SetTaxiLights(l_115, 1); // } inline Void SetTaxiLights(Vehicle vehicle, BOOL state) { return _i(0x598803E85E8448D9,vehicle, state); } // 0x598803E85E8448D9 0x68639D85 b323 - // + // inline BOOL IsTaxiLightOn(Vehicle vehicle) { return _i(0x7504C0F113AB50FC,vehicle); } // 0x7504C0F113AB50FC 0x6FC4924A b323 - // garageName example "Michael - Beverly Hills" + // garageName example "Michael - Beverly Hills" // // Full list of garages by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/garages.json - inline BOOL IsVehicleInGarageArea(String garageName, Vehicle vehicle) { return _i(0xCEE4490CD57BB3C2,garageName, vehicle); } // 0xCEE4490CD57BB3C2 0xA90EC257 b323 - // colorPrimary & colorSecondary are the paint index for the vehicle. + inline BOOL IsVehicleInGarageArea(const char* garageName, Vehicle vehicle) { return _i(0xCEE4490CD57BB3C2,garageName, vehicle); } // 0xCEE4490CD57BB3C2 0xA90EC257 b323 + // colorPrimary & colorSecondary are the paint index for the vehicle. // For a list of valid paint indexes, view: https://pastebin.com/pwHci0xK // ------------------------------------------------------------------------- // 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 inline Void SetVehicleColours(Vehicle vehicle, int colorPrimary, int colorSecondary) { return _i(0x4F1D4BE3A7F24601,vehicle, colorPrimary, colorSecondary); } // 0x4F1D4BE3A7F24601 0x57F24253 b323 - // It switch to highbeam when p1 is set to true. + // It switch to highbeam when p1 is set to true. inline Void SetVehicleFullbeam(Vehicle vehicle, BOOL toggle) { return _i(0x8B7FD87F0DDB421E,vehicle, toggle); } // 0x8B7FD87F0DDB421E 0x9C49CC15 b323 - // p1 (toggle) was always 1 (true) except in one case in the b678 scripts. + // p1 (toggle) was always 1 (true) except in one case in the b678 scripts. inline Void SetVehicleIsRacing(Vehicle vehicle, BOOL toggle) { return _i(0x7116E24E9D1929D,vehicle, toggle); } // 0x7116E24E9D1929D 0xA59E3DCD b323 - // p1, p2, p3 are RGB values for color (255,0,0 for Red, ect) + // p1, p2, p3 are RGB values for color (255,0,0 for Red, ect) inline Void SetVehicleCustomPrimaryColour(Vehicle vehicle, int r, int g, int b) { return _i(0x7141766F91D15BEA,vehicle, r, g, b); } // 0x7141766F91D15BEA 0x8DF9F9BC b323 - // + // inline Void GetVehicleCustomPrimaryColour(Vehicle vehicle, int* r, int* g, int* b) { return _i(0xB64CF2CCA9D95F52,vehicle, r, g, b); } // 0xB64CF2CCA9D95F52 0x1C2B9FEF b323 - // + // inline Void ClearVehicleCustomPrimaryColour(Vehicle vehicle) { return _i(0x55E1D2758F34E437,vehicle); } // 0x55E1D2758F34E437 0x51E1E33D b323 - // + // inline BOOL GetIsVehiclePrimaryColourCustom(Vehicle vehicle) { return _i(0xF095C0405307B21B,vehicle); } // 0xF095C0405307B21B 0xD7EC8760 b323 - // p1, p2, p3 are RGB values for color (255,0,0 for Red, ect) + // p1, p2, p3 are RGB values for color (255,0,0 for Red, ect) inline Void SetVehicleCustomSecondaryColour(Vehicle vehicle, int r, int g, int b) { return _i(0x36CED73BFED89754,vehicle, r, g, b); } // 0x36CED73BFED89754 0x9D77259E b323 - // + // inline Void GetVehicleCustomSecondaryColour(Vehicle vehicle, int* r, int* g, int* b) { return _i(0x8389CD56CA8072DC,vehicle, r, g, b); } // 0x8389CD56CA8072DC 0x3FF247A2 b323 - // + // inline Void ClearVehicleCustomSecondaryColour(Vehicle vehicle) { return _i(0x5FFBDEEC3E8E2009,vehicle); } // 0x5FFBDEEC3E8E2009 0x7CE00B29 b323 - // Check if Vehicle Secondary is avaliable for customize + // Check if Vehicle Secondary is avaliable for customize inline BOOL GetIsVehicleSecondaryColourCustom(Vehicle vehicle) { return _i(0x910A32E7AAD2656C,vehicle); } // 0x910A32E7AAD2656C 0x288AD228 b323 - // The parameter fade is a value from 0-1, where 0 is fresh paint. + // The parameter fade is a value from 0-1, where 0 is fresh paint. inline Void SetVehicleEnveffScale(Vehicle vehicle, float fade) { return _i(0x3AFDC536C3D01674,vehicle, fade); } // 0x3AFDC536C3D01674 0x8332730C b323 - // The result is a value from 0-1, where 0 is fresh paint. + // The result is a value from 0-1, where 0 is fresh paint. inline float GetVehicleEnveffScale(Vehicle vehicle) { return _i(0xA82819CAC9C4C403,vehicle); } // 0xA82819CAC9C4C403 0xD5F1EEE1 b323 - // Hardcoded to not work in multiplayer. + // Hardcoded to not work in multiplayer. inline Void SetCanResprayVehicle(Vehicle vehicle, BOOL state) { return _i(0x52BBA29D5EC69356,vehicle, state); } // 0x52BBA29D5EC69356 0x37677590 b323 - // Used for GTAO CEO/Associate spawned vehicles. + // Used for GTAO CEO/Associate spawned vehicles. inline Void SetGoonBossVehicle(Vehicle vehicle, BOOL toggle) { return _i(0xAB31EF4DE6800CE9,vehicle, toggle); } // 0xAB31EF4DE6800CE9 b573 - // + // inline Void SetOpenRearDoorsOnExplosion(Vehicle vehicle, BOOL toggle) { return _i(0x1B212B26DD3C04DF,vehicle, toggle); } // 0x1B212B26DD3C04DF b757 - // + // inline Void ForceSubmarineSurfaceMode(Vehicle vehicle, BOOL toggle) { return _i(0x33506883545AC0DF,vehicle, toggle); } // 0x33506883545AC0DF 0x54E9EE75 b323 - // + // inline Void ForceSubmarineNeurtalBuoyancy(Any p0, Any p1) { return _i(0xC67DB108A9ADE3BE,p0, p1); } // 0xC67DB108A9ADE3BE b2189 - // + // inline Void SetSubmarineCrushDepths(Vehicle vehicle, BOOL p1, float depth1, float depth2, float depth3) { return _i(0xC59872A5134879C7,vehicle, p1, depth1, depth2, depth3); } // 0xC59872A5134879C7 0x4A46E814 b323 - // + // inline BOOL GetSubmarineIsUnderDesignDepth(Vehicle submarine) { return _i(0x3E71D0B300B7AA79,submarine); } // 0x3E71D0B300B7AA79 b2189 - // + // inline int GetSubmarineNumberOfAirLeaks(Vehicle submarine) { return _i(0x93D6DDCA5B8FBAE,submarine); } // 0x93D6DDCA5B8FBAE b2189 - // + // inline Void SetBoatIgnoreLandProbes(Any p0, Any p1) { return _i(0xED5EDE9E676643C9,p0, p1); } // 0xED5EDE9E676643C9 b944 - // Use the vehicle bounds (instead of viewport) when deciding if a vehicle is sufficiently above the water (waterheight.dat), bypassing wave simulation checks + // Use the vehicle bounds (instead of viewport) when deciding if a vehicle is sufficiently above the water (waterheight.dat), bypassing wave simulation checks inline Void SetBoundsAffectWaterProbes(Vehicle vehicle, BOOL toggle) { return _i(0x85FC953F6C6CBDE1,vehicle, toggle); } // 0x85FC953F6C6CBDE1 b2802 - // + // inline Void SetBoatAnchor(Vehicle vehicle, BOOL toggle) { return _i(0x75DBEC174AEEAD10,vehicle, toggle); } // 0x75DBEC174AEEAD10 0xA3906284 b323 - // + // inline BOOL CanAnchorBoatHere(Vehicle vehicle) { return _i(0x26C10ECBDA5D043B,vehicle); } // 0x26C10ECBDA5D043B 0xE97A4F5E b323 - // + // inline BOOL CanAnchorBoatHereIgnorePlayers(Vehicle vehicle) { return _i(0x24F4121D07579880,vehicle); } // 0x24F4121D07579880 b678 - // + // inline Void SetBoatRemainsAnchoredWhilePlayerIsDriver(Vehicle vehicle, BOOL toggle) { return _i(0xE3EBAAE484798530,vehicle, toggle); } // 0xE3EBAAE484798530 0x0ED84792 b323 - // No observed effect. + // No observed effect. inline Void SetForceLowLodAnchorMode(Vehicle vehicle, BOOL p1) { return _i(0xB28B1FE5BFADD7F5,vehicle, p1); } // 0xB28B1FE5BFADD7F5 0xA739012A b323 - // + // inline Void SetBoatLowLodAnchorDistance(Vehicle vehicle, float value) { return _i(0xE842A9398079BD82,vehicle, value); } // 0xE842A9398079BD82 0x66FA450C b323 - // + // inline BOOL IsBoatAnchored(Vehicle vehicle) { return _i(0xB0AD1238A709B1A2,vehicle); } // 0xB0AD1238A709B1A2 b573 - // + // inline Void SetBoatSinksWhenWrecked(Vehicle vehicle, BOOL toggle) { return _i(0x8F719973E1445BA2,vehicle, toggle); } // 0x8F719973E1445BA2 0x35614622 b323 - // + // inline Void SetBoatWrecked(Vehicle vehicle) { return _i(0xBD32E46AA95C1DD2,vehicle); } // 0xBD32E46AA95C1DD2 b757 - // Activate siren on vehicle (Only works if the vehicle has a siren). + // Activate siren on vehicle (Only works if the vehicle has a siren). inline Void SetVehicleSiren(Vehicle vehicle, BOOL toggle) { return _i(0xF4924635A19EB37D,vehicle, toggle); } // 0xF4924635A19EB37D 0x4AC1EFC7 b323 - // + // inline BOOL IsVehicleSirenOn(Vehicle vehicle) { return _i(0x4C9BF537BE2634B2,vehicle); } // 0x4C9BF537BE2634B2 0x25EB5873 b323 - // + // inline BOOL IsVehicleSirenAudioOn(Vehicle vehicle) { return _i(0xB5CC40FBCB586380,vehicle); } // 0xB5CC40FBCB586380 0xC9458688 b323 - // If set to true, vehicle will not take crash damage, but is still susceptible to damage from bullets and explosives + // If set to true, vehicle will not take crash damage, but is still susceptible to damage from bullets and explosives inline Void SetVehicleStrong(Vehicle vehicle, BOOL toggle) { return _i(0x3E8C8727991A8A0B,vehicle, toggle); } // 0x3E8C8727991A8A0B 0xC758D19F b323 - // + // inline Void RemoveVehicleStuckCheck(Vehicle vehicle) { return _i(0x8386BFB614D06749,vehicle); } // 0x8386BFB614D06749 0x81594917 b323 - // + // inline Void GetVehicleColours(Vehicle vehicle, int* colorPrimary, int* colorSecondary) { return _i(0xA19435F193E081AC,vehicle, colorPrimary, colorSecondary); } // 0xA19435F193E081AC 0x40D82D88 b323 - // Check if a vehicle seat is free. + // Check if a vehicle seat is free. // // seatIndex = -1 being the driver seat. // Use GetVehicleMaxNumberOfPassengers(vehicle) - 1 for last seat index. // isTaskRunning = on true the function returns already false while a task on the target seat is running (TaskEnterVehicle/TaskShuffleToNextVehicleSeat) - on false only when a ped is finally sitting in the seat. inline BOOL IsVehicleSeatFree(Vehicle vehicle, int seatIndex, BOOL isTaskRunning) { return _i(0x22AC59A870E6A669,vehicle, seatIndex, isTaskRunning); } // 0x22AC59A870E6A669 0xDAF42B02 b323 - // 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. + // 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 @@ -18529,11 +18529,11 @@ namespace VEHICLE // // If p2 is true it uses a different GetOccupant function. inline Ped GetPedInVehicleSeat(Vehicle vehicle, int seatIndex, BOOL p2) { return _i(0xBB40DD2270B65366,vehicle, seatIndex, p2); } // 0xBB40DD2270B65366 0x388FDE9A b323 - // + // inline Ped GetLastPedInVehicleSeat(Vehicle vehicle, int seatIndex) { return _i(0x83F969AA1EE2A664,vehicle, seatIndex); } // 0x83F969AA1EE2A664 0xF7C6792D b323 - // + // inline BOOL GetVehicleLightsState(Vehicle vehicle, BOOL* lightsOn, BOOL* highbeamsOn) { return _i(0xB91B4C20085BD12F,vehicle, lightsOn, highbeamsOn); } // 0xB91B4C20085BD12F 0x7C278621 b323 - // wheelID used for 4 wheelers seem to be (0, 1, 4, 5) + // 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 @@ -18545,60 +18545,60 @@ namespace VEHICLE // '45 = 6 wheels trailer mid wheel left // '47 = 6 wheels trailer mid wheel right inline BOOL IsVehicleTyreBurst(Vehicle vehicle, int wheelID, BOOL completely) { return _i(0xBA291848A0815CA9,vehicle, wheelID, completely); } // 0xBA291848A0815CA9 0x48C80210 b323 - // SCALE: Setting the speed to 30 would result in a speed of roughly 60mph, according to speedometer. + // 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 inline Void SetVehicleForwardSpeed(Vehicle vehicle, float speed) { return _i(0xAB54A438726D25D5,vehicle, speed); } // 0xAB54A438726D25D5 0x69880D14 b323 - // Seems to be identical to SetVehicleForwardSpeed + // Seems to be identical to SetVehicleForwardSpeed inline Void SetVehicleForwardSpeedXy(Vehicle vehicle, float speed) { return _i(0x6501129C9E0FFA05,vehicle, speed); } // 0x6501129C9E0FFA05 b877 - // This native makes the vehicle stop immediately, as happens when we enter a MP garage. + // 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. inline Void BringVehicleToHalt(Vehicle vehicle, float distance, int duration, BOOL p3) { return _i(0x260BE8F09E326A20,vehicle, distance, duration, p3); } // 0x260BE8F09E326A20 0xCBC7D3C8 b323 - // + // inline Void SetVehicleSteerForBuildings(Vehicle vehicle, Any p1) { return _i(0xDCE97BDF8A0EABC8,vehicle, p1); } // 0xDCE97BDF8A0EABC8 b1103 - // + // inline Void SetVehicleCausesSwerving(Vehicle vehicle, BOOL toggle) { return _i(0x9849DE24FCF23CCC,vehicle, toggle); } // 0x9849DE24FCF23CCC b1604 - // + // inline Void SetIgnorePlanesSmallPitchChange(Any p0, Any p1) { return _i(0x8664170EF165C4A6,p0, p1); } // 0x8664170EF165C4A6 b2189 - // Stops CTaskBringVehicleToHalt + // Stops CTaskBringVehicleToHalt inline Void StopBringingVehicleToHalt(Vehicle vehicle) { return _i(0x7C06330BFDDA182E,vehicle); } // 0x7C06330BFDDA182E b1103 - // Returns true if vehicle is halted by BringVehicleToHalt + // Returns true if vehicle is halted by BringVehicleToHalt inline BOOL IsVehicleBeingBroughtToHalt(Vehicle vehicle) { return _i(0xC69BB1D832A710EF,vehicle); } // 0xC69BB1D832A710EF b1493 - // + // inline Void LowerForkliftForks(Vehicle forklift) { return _i(0x923A293361DF44E5,forklift); } // 0x923A293361DF44E5 b2802 - // 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 + // 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 inline Void SetForkliftForkHeight(Vehicle vehicle, float height) { return _i(0x37EBBF3117BD6A25,vehicle, height); } // 0x37EBBF3117BD6A25 0x943A6CFC b323 - // + // inline BOOL IsEntityAttachedToHandlerFrame(Vehicle vehicle, Entity entity) { return _i(0x57715966069157AD,vehicle, entity); } // 0x57715966069157AD 0x7FB25568 b323 - // + // inline BOOL IsAnyEntityAttachedToHandlerFrame(Vehicle vehicle) { return _i(0x62CA17B74C435651,vehicle); } // 0x62CA17B74C435651 0x593143B9 b323 - // Finds the vehicle that is carrying this entity with a handler frame. + // 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. inline Vehicle FindHandlerVehicleContainerIsAttachedTo(Entity entity) { return _i(0x375E7FC44F21C8AB,entity); } // 0x375E7FC44F21C8AB 0x70DD5E25 b323 - // + // inline BOOL IsHandlerFrameLinedUpWithContainer(Vehicle vehicle, Entity entity) { return _i(0x89D630CF5EA96D23,vehicle, entity); } // 0x89D630CF5EA96D23 0xFBF5536A b323 - // + // inline Void AttachContainerToHandlerFrameWhenLinedUp(Vehicle vehicle, Entity entity) { return _i(0x6A98C2ECF57FA5D4,vehicle, entity); } // 0x6A98C2ECF57FA5D4 0x20AB5783 b323 - // + // inline Void DetachContainerFromHandlerFrame(Vehicle vehicle) { return _i(0x7C0043FDFF6436BC,vehicle); } // 0x7C0043FDFF6436BC 0x0F11D01F b323 - // + // inline Void SetVehicleDisableHeightMapAvoidance(Vehicle vehicle, BOOL p1) { return _i(0x8AA9180DE2FEDD45,vehicle, p1); } // 0x8AA9180DE2FEDD45 0xAE040377 b323 - // + // inline Void SetBoatDisableAvoidance(Vehicle vehicle, BOOL p1) { return _i(0xA6A279F3AA4FD70,vehicle, p1); } // 0xA6A279F3AA4FD70 0x4C0E4031 b323 - // + // inline BOOL IsHeliLandingAreaBlocked(Vehicle vehicle) { return _i(0x634148744F385576,vehicle); } // 0x634148744F385576 0x6346B7CC b323 - // Used on helicopters and blimps during the CTaskVehicleLand task. Sets a value on the task to 10f + // Used on helicopters and blimps during the CTaskVehicleLand task. Sets a value on the task to 10f inline Void SetShortSlowdownForLanding(Vehicle vehicle) { return _i(0x107A473D7A6647A9,vehicle); } // 0x107A473D7A6647A9 b1290 - // + // inline Void SetHeliTurbulenceScalar(Vehicle vehicle, float p1) { return _i(0xE6F13851780394DA,vehicle, p1); } // 0xE6F13851780394DA 0xCCB41A55 b323 - // Initially used in Max Payne 3, that's why we know the name. + // Initially used in Max Payne 3, that's why we know the name. inline Void SetCarBootOpen(Vehicle vehicle) { return _i(0xFC40CBF7B90CA77C,vehicle); } // 0xFC40CBF7B90CA77C b877 - // "To burst tyres VEHICLE::SetVehicleTyreBurst(vehicle, 0, true, 1000.0) + // "To burst tyres VEHICLE::SetVehicleTyreBurst(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. @@ -18612,23 +18612,23 @@ namespace VEHICLE // '45 = 6 wheels trailer mid wheel left // '47 = 6 wheels trailer mid wheel right inline Void SetVehicleTyreBurst(Vehicle vehicle, int index, BOOL onRim, float p3) { return _i(0xEC6A202EE4960385,vehicle, index, onRim, p3); } // 0xEC6A202EE4960385 0x89D28068 b323 - // Closes all doors of a vehicle: + // Closes all doors of a vehicle: inline Void SetVehicleDoorsShut(Vehicle vehicle, BOOL closeInstantly) { return _i(0x781B3D62BB013EF5,vehicle, closeInstantly); } // 0x781B3D62BB013EF5 0xBB1FF6E7 b323 - // Allows you to toggle bulletproof tires. + // Allows you to toggle bulletproof tires. inline Void SetVehicleTyresCanBurst(Vehicle vehicle, BOOL toggle) { return _i(0xEB9DC3C7D8596C46,vehicle, toggle); } // 0xEB9DC3C7D8596C46 0xA198DB54 b323 - // + // inline BOOL GetVehicleTyresCanBurst(Vehicle vehicle) { return _i(0x678B9BB8C3F58FEB,vehicle); } // 0x678B9BB8C3F58FEB 0x4D76CD2F b323 - // + // inline Void SetVehicleWheelsCanBreak(Vehicle vehicle, BOOL enabled) { return _i(0x29B18B4FD460CA8F,vehicle, enabled); } // 0x29B18B4FD460CA8F 0x829ED654 b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline Void SetVehicleDoorOpen(Vehicle vehicle, int doorId, BOOL loose, BOOL openInstantly) { return _i(0x7C65DAC73C35C862,vehicle, doorId, loose, openInstantly); } // 0x7C65DAC73C35C862 0xBB75D38B b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut // // Usually used alongside other vehicle door natives. inline Void SetVehicleDoorAutoLock(Vehicle vehicle, int doorId, BOOL toggle) { return _i(0x3B458DDB57038F08,vehicle, doorId, toggle); } // 0x3B458DDB57038F08 b877 - // + // inline Void SetFleeingVehiclesUseSwitchedOffNodes(Any p0) { return _i(0xA247F9EF01D8082E,p0); } // 0xA247F9EF01D8082E b1103 - // windowIndex: + // windowIndex: // 0 = Front Right Window // 1 = Front Left Window // 2 = Back Right Window @@ -18638,9 +18638,9 @@ namespace VEHICLE // 6 = Windscreen // 7 = Rear Windscreen inline Void RemoveVehicleWindow(Vehicle vehicle, int windowIndex) { return _i(0xA711568EEDB43069,vehicle, windowIndex); } // 0xA711568EEDB43069 0xBB8104A3 b323 - // Roll down all the windows of the vehicle passed through the first parameter. + // Roll down all the windows of the vehicle passed through the first parameter. inline Void RollDownWindows(Vehicle vehicle) { return _i(0x85796B0549DDE156,vehicle); } // 0x85796B0549DDE156 0x51A16DC6 b323 - // windowIndex: + // windowIndex: // 0 = Front Left Window // 1 = Front Right Window // 2 = Rear Left Window @@ -18651,7 +18651,7 @@ namespace VEHICLE // 7 = Mid Right // 8 = Invalid inline Void RollDownWindow(Vehicle vehicle, int windowIndex) { return _i(0x7AD9E6CE657D69E3,vehicle, windowIndex); } // 0x7AD9E6CE657D69E3 0xF840134C b323 - // windowIndex: + // windowIndex: // 0 = Front Left Window // 1 = Front Right Window // 2 = Rear Left Window @@ -18662,7 +18662,7 @@ namespace VEHICLE // 7 = Mid Right // 8 = Invalid inline Void RollUpWindow(Vehicle vehicle, int windowIndex) { return _i(0x602E548F46E24D59,vehicle, windowIndex); } // 0x602E548F46E24D59 0x83B7E06A b323 - // windowIndex: + // windowIndex: // 0 = Front Left Window // 1 = Front Right Window // 2 = Rear Left Window @@ -18673,7 +18673,7 @@ namespace VEHICLE // 7 = Mid Right // 8 = Invalid inline Void SmashVehicleWindow(Vehicle vehicle, int windowIndex) { return _i(0x9E5B5E4D2CCD2259,vehicle, windowIndex); } // 0x9E5B5E4D2CCD2259 0xDDD9A8C2 b323 - // windowIndex: + // windowIndex: // 0 = Front Left Window // 1 = Front Right Window // 2 = Rear Left Window @@ -18688,12 +18688,12 @@ namespace VEHICLE // // Also, this function is coded to not work on vehicles of type: CBike, Bmx, CBoat, CTrain, and CSubmarine. inline Void FixVehicleWindow(Vehicle vehicle, int windowIndex) { return _i(0x772282EBEB95E682,vehicle, windowIndex); } // 0x772282EBEB95E682 0x6B8E990D b323 - // Detaches the vehicle's windscreen. + // Detaches the vehicle's windscreen. // For further information, see : gtaforums.com/topic/859570-glass/#entry1068894566 inline Void PopOutVehicleWindscreen(Vehicle vehicle) { return _i(0x6D645D59FB5F5AD3,vehicle); } // 0x6D645D59FB5F5AD3 0xCC95C96B b323 - // Pops off the "roof" bone in the direction of the specified offset from the vehicle. + // Pops off the "roof" bone in the direction of the specified offset from the vehicle. inline Void PopOffVehicleRoofWithImpulse(Vehicle vehicle, float x, float y, float z) { return _i(0xE38CB9D7D39FDBCC,vehicle, x, y, z); } // 0xE38CB9D7D39FDBCC 0xFDA7B6CA b323 - // set's if the vehicle has lights or not. + // 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 @@ -18703,9 +18703,9 @@ namespace VEHICLE // 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. inline Void SetVehicleLights(Vehicle vehicle, int state) { return _i(0x34E710FF01247C5A,vehicle, state); } // 0x34E710FF01247C5A 0xE8930226 b323 - // + // inline Void SetVehicleUsePlayerLightSettings(Vehicle vehicle, BOOL toggle) { return _i(0xC45C27EF50F36ADC,vehicle, toggle); } // 0xC45C27EF50F36ADC 0x4221E435 b323 - // p1 can be either 0, 1 or 2. + // p1 can be either 0, 1 or 2. // // Determines how vehicle lights behave when toggled. // @@ -18713,40 +18713,40 @@ namespace VEHICLE // 1 = Lights Disabled (Lights are fully disabled, cannot be toggled) // 2 = Always On (Lights can be toggled between normal and high beams) inline Void SetVehicleHeadlightShadows(Vehicle vehicle, int p1) { return _i(0x1FD09E7390A74D54,vehicle, p1); } // 0x1FD09E7390A74D54 b323 - // + // inline Void SetVehicleAlarm(Vehicle vehicle, BOOL state) { return _i(0xCDE5E70C1DDB954C,vehicle, state); } // 0xCDE5E70C1DDB954C 0x24877D84 b323 - // + // inline Void StartVehicleAlarm(Vehicle vehicle) { return _i(0xB8FF7AB45305C345,vehicle); } // 0xB8FF7AB45305C345 0x5B451FF7 b323 - // + // inline BOOL IsVehicleAlarmActivated(Vehicle vehicle) { return _i(0x4319E335B71FFF34,vehicle); } // 0x4319E335B71FFF34 0xF2630A4C b323 - // + // inline Void SetVehicleInteriorlight(Vehicle vehicle, BOOL toggle) { return _i(0xBC2042F090AF6AD3,vehicle, toggle); } // 0xBC2042F090AF6AD3 0x9AD1FE1E b323 - // Sets some bit of vehicle + // Sets some bit of vehicle inline Void SetVehicleForceInteriorlight(Vehicle vehicle, BOOL toggle) { return _i(0x8821196D91FA2DE5,vehicle, toggle); } // 0x8821196D91FA2DE5 b1290 - // multiplier = brightness of head lights. + // multiplier = brightness of head lights. // this value isn't capped afaik. // // multiplier = 0.0 no lights // multiplier = 1.0 default game value // inline Void SetVehicleLightMultiplier(Vehicle vehicle, float multiplier) { return _i(0xB385454F8791F57C,vehicle, multiplier); } // 0xB385454F8791F57C 0x48039D6A b323 - // + // inline Void AttachVehicleToTrailer(Vehicle vehicle, Vehicle trailer, float radius) { return _i(0x3C7D42D58F770B54,vehicle, trailer, radius); } // 0x3C7D42D58F770B54 0x2133977F b323 - // 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 + // 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 inline Void AttachVehicleOnToTrailer(Vehicle vehicle, Vehicle trailer, float offsetX, float offsetY, float offsetZ, float coordsX, float coordsY, float coordsZ, float rotationX, float rotationY, float rotationZ, float disableCollisions) { return _i(0x16B5E274BDE402F8,vehicle, trailer, offsetX, offsetY, offsetZ, coordsX, coordsY, coordsZ, rotationX, rotationY, rotationZ, disableCollisions); } // 0x16B5E274BDE402F8 0x12AC1A16 b323 - // + // inline Void StabiliseEntityAttachedToHeli(Vehicle vehicle, Entity entity, float p2) { return _i(0x374706271354CB18,vehicle, entity, p2); } // 0x374706271354CB18 0x40C4763F b323 - // + // inline Void DetachVehicleFromTrailer(Vehicle vehicle) { return _i(0x90532EDF0D2BDD86,vehicle); } // 0x90532EDF0D2BDD86 0xB5DBF91D b323 - // + // inline BOOL IsVehicleAttachedToTrailer(Vehicle vehicle) { return _i(0xE7CF3C4F9F489F0C,vehicle); } // 0xE7CF3C4F9F489F0C 0xE142BBCC b323 - // + // inline Void SetTrailerInverseMassScale(Vehicle vehicle, float p1) { return _i(0x2A8F319B392E7B3F,vehicle, p1); } // 0x2A8F319B392E7B3F 0xE74E85CE b323 - // in the decompiled scripts, seems to be always called on the vehicle right after being attached to a trailer. + // in the decompiled scripts, seems to be always called on the vehicle right after being attached to a trailer. inline Void SetTrailerLegsRaised(Vehicle vehicle) { return _i(0x95CF53B3D687F9FA,vehicle); } // 0x95CF53B3D687F9FA 0x06C47A6F b323 - // + // inline Void SetTrailerLegsLowered(Vehicle vehicle) { return _i(0x878C75C09FBDB942,vehicle); } // 0x878C75C09FBDB942 b1103 - // tyreIndex = 0 to 4 on normal vehicles + // tyreIndex = 0 to 4 on normal vehicles // // '0 = wheel_lf / bike, plane or jet front // '1 = wheel_rf @@ -18757,19 +18757,19 @@ namespace VEHICLE // '45 = 6 wheels trailer mid wheel left // '47 = 6 wheels trailer mid wheel right inline Void SetVehicleTyreFixed(Vehicle vehicle, int tyreIndex) { return _i(0x6E13FC662B882D1D,vehicle, tyreIndex); } // 0x6E13FC662B882D1D 0xA42EFA6B b323 - // Sets a vehicle's license plate text. 8 chars maximum. + // Sets a vehicle's license plate text. 8 chars maximum. // // Example: // Ped playerPed = PLAYER::PlayerPedId(); // Vehicle veh = PED::GET_VEHICLE_PED_IS_USinG(playerPed); // char *plateText = "KING"; // VEHICLE::SetVehicleNumberPlateText(veh, plateText); - inline Void SetVehicleNumberPlateText(Vehicle vehicle, String plateText) { return _i(0x95A88F0B409CDA47,vehicle, plateText); } // 0x95A88F0B409CDA47 0x400F9556 b323 - // Returns the license plate text from a vehicle. 8 chars maximum. - inline String GetVehicleNumberPlateText(Vehicle vehicle) { return _i(0x7CE1CCB9B293020E,vehicle); } // 0x7CE1CCB9B293020E 0xE8522D58 b323 - // Returns the number of *types* of licence plates, enumerated below in SetVehicleNumberPlateText_INDEX. + inline Void SetVehicleNumberPlateText(Vehicle vehicle, const char* plateText) { return _i(0x95A88F0B409CDA47,vehicle, plateText); } // 0x95A88F0B409CDA47 0x400F9556 b323 + // Returns the license plate text from a vehicle. 8 chars maximum. + inline const char* GetVehicleNumberPlateText(Vehicle vehicle) { return _i(0x7CE1CCB9B293020E,vehicle); } // 0x7CE1CCB9B293020E 0xE8522D58 b323 + // Returns the number of *types* of licence plates, enumerated below in SetVehicleNumberPlateText_INDEX. inline int GetNumberOfVehicleNumberPlates() { return _i(0x4C4D6B2644F458CB); } // 0x4C4D6B2644F458CB 0xD24BC1AE b323 - // Plates: + // Plates: // Blue/White - 0 // Yellow/black - 1 // Yellow/Blue - 2 @@ -18777,7 +18777,7 @@ namespace VEHICLE // Blue/White3 - 4 // Yankton - 5 inline Void SetVehicleNumberPlateTextIndex(Vehicle vehicle, int plateIndex) { return _i(0x9088EB5A43FFB0A1,vehicle, plateIndex); } // 0x9088EB5A43FFB0A1 0xA1A1890E b323 - // Returns the PlateType of a vehicle + // Returns the PlateType of a vehicle // Blue_on_White_1 = 3, // Blue_on_White_2 = 0, // Blue_on_White_3 = 4, @@ -18785,9 +18785,9 @@ namespace VEHICLE // Yellow_on_Black = 1, // North_Yankton = 5, inline int GetVehicleNumberPlateTextIndex(Vehicle vehicle) { return _i(0xF11BC2DD9A3E7195,vehicle); } // 0xF11BC2DD9A3E7195 0x499747B6 b323 - // + // inline Void SetRandomTrains(BOOL toggle) { return _i(0x80D9F74197EA47D9,toggle); } // 0x80D9F74197EA47D9 0xD461CA7F b323 - // Train models HAVE TO be loaded (requested) before you use this. + // Train models HAVE TO be loaded (requested) before you use this. // For variation 15 - request: // // freight @@ -18799,7 +18799,7 @@ namespace VEHICLE // // inline Vehicle CreateMissionTrain(int variation, float x, float y, float z, BOOL direction, Any p5, Any p6) { return _i(0x63C6CCA8E68AE8C8,variation, x, y, z, direction, p5, p6); } // 0x63C6CCA8E68AE8C8 0xD4C2EAFD b323 - // Toggles whether ambient trains can spawn on the specified track or not + // 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 @@ -18819,112 +18819,112 @@ namespace VEHICLE // 11 (`trains12.dat`) Yankton prologue mission train // Full list of all train tracks + track nodes by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/traintracks.json inline Void SwitchTrainTrack(int trackId, BOOL state) { return _i(0xFD813BB7DB977F20,trackId, state); } // 0xFD813BB7DB977F20 0x68BFDD61 b323 - // Only called once inside main_persitant with the parameters p0 = 0, p1 = 120000 + // Only called once inside main_persitant with the parameters p0 = 0, p1 = 120000 // // trackIndex: 0 - 26 // Full list of all train tracks + track nodes by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/traintracks.json inline Void SetTrainTrackSpawnFrequency(int trackIndex, int frequency) { return _i(0x21973BBF8D17EDFA,trackIndex, frequency); } // 0x21973BBF8D17EDFA 0xD5774FB7 b323 - // + // inline Void AllowTrainToBeRemovedByPopulation(Any p0) { return _i(0x2310A8F9421EBF43,p0); } // 0x2310A8F9421EBF43 b2372 - // + // inline Void DeleteAllTrains() { return _i(0x736A718577F39C7D); } // 0x736A718577F39C7D 0x83DE7ABF b323 - // + // inline Void SetTrainSpeed(Vehicle train, float speed) { return _i(0xAA0BC91BE0B796E3,train, speed); } // 0xAA0BC91BE0B796E3 0xDFC35E4D b323 - // + // inline Void SetTrainCruiseSpeed(Vehicle train, float speed) { return _i(0x16469284DB8C62B5,train, speed); } // 0x16469284DB8C62B5 0xB507F51D b323 - // + // inline Void SetRandomBoats(BOOL toggle) { return _i(0x84436EC293B1415F,toggle); } // 0x84436EC293B1415F 0xB505BD89 b323 - // + // inline Void SetRandomBoatsMp(BOOL toggle) { return _i(0xDA5E12F728DB30CA,toggle); } // 0xDA5E12F728DB30CA b2372 - // + // inline Void SetGarbageTrucks(BOOL toggle) { return _i(0x2AFD795EEAC8D30D,toggle); } // 0x2AFD795EEAC8D30D 0xD9ABB0FF b323 - // Maximum amount of vehicles with vehicle stuck check appears to be 16. + // Maximum amount of vehicles with vehicle stuck check appears to be 16. inline BOOL DoesVehicleHaveStuckVehicleCheck(Vehicle vehicle) { return _i(0x57E4C39DE5EE8470,vehicle); } // 0x57E4C39DE5EE8470 0x5D91D9AC b323 - // See RequestVehicleRecording - inline int GetVehicleRecordingId(int recording, String script) { return _i(0x21543C612379DB3C,recording, script); } // 0x21543C612379DB3C 0x328D601D b323 - // Request the vehicle recording defined by the lowercase format string "%s%03d.yvr". For example, RequestVehicleRecording(1, "FBIs1UBER") corresponds to fbis1uber001.yvr. + // See RequestVehicleRecording + inline int GetVehicleRecordingId(int recording, const char* script) { return _i(0x21543C612379DB3C,recording, script); } // 0x21543C612379DB3C 0x328D601D b323 + // Request the vehicle recording defined by the lowercase format string "%s%03d.yvr". For example, RequestVehicleRecording(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 GetTotalDurationOfVehicleRecordingId) 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. - inline Void RequestVehicleRecording(int recording, String script) { return _i(0xAF514CABE74CBF15,recording, script); } // 0xAF514CABE74CBF15 0x91AFEFD9 b323 - // See RequestVehicleRecording - inline BOOL HasVehicleRecordingBeenLoaded(int recording, String script) { return _i(0x300D614A4C785FC4,recording, script); } // 0x300D614A4C785FC4 0xF52CD7F5 b323 - // See RequestVehicleRecording - inline Void RemoveVehicleRecording(int recording, String script) { return _i(0xF1160ACCF98A3FC8,recording, script); } // 0xF1160ACCF98A3FC8 0xD3C05B00 b323 - // + inline Void RequestVehicleRecording(int recording, const char* script) { return _i(0xAF514CABE74CBF15,recording, script); } // 0xAF514CABE74CBF15 0x91AFEFD9 b323 + // See RequestVehicleRecording + inline BOOL HasVehicleRecordingBeenLoaded(int recording, const char* script) { return _i(0x300D614A4C785FC4,recording, script); } // 0x300D614A4C785FC4 0xF52CD7F5 b323 + // See RequestVehicleRecording + inline Void RemoveVehicleRecording(int recording, const char* script) { return _i(0xF1160ACCF98A3FC8,recording, script); } // 0xF1160ACCF98A3FC8 0xD3C05B00 b323 + // inline Vector3 GetPositionOfVehicleRecordingIdAtTime(int id, float time) { return _i(0x92523B76657A517D,id, time); } // 0x92523B76657A517D 0xF31973BB b323 - // This native does no interpolation between pathpoints. The same position will be returned for all times up to the next pathpoint in the recording. + // 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 RequestVehicleRecording - inline Vector3 GetPositionOfVehicleRecordingAtTime(int recording, float time, String script) { return _i(0xD242728AA6F0FBA2,recording, time, script); } // 0xD242728AA6F0FBA2 0x7178558D b323 - // + inline Vector3 GetPositionOfVehicleRecordingAtTime(int recording, float time, const char* script) { return _i(0xD242728AA6F0FBA2,recording, time, script); } // 0xD242728AA6F0FBA2 0x7178558D b323 + // inline Vector3 GetRotationOfVehicleRecordingIdAtTime(int id, float time) { return _i(0xF0F2103EFAF8CBA7,id, time); } // 0xF0F2103EFAF8CBA7 0x4D1C15C2 b323 - // This native does no interpolation between pathpoints. The same rotation will be returned for all times up to the next pathpoint in the recording. + // 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 RequestVehicleRecording - inline Vector3 GetRotationOfVehicleRecordingAtTime(int recording, float time, String script) { return _i(0x2058206FBE79A8AD,recording, time, script); } // 0x2058206FBE79A8AD 0xD96DEC68 b323 - // + inline Vector3 GetRotationOfVehicleRecordingAtTime(int recording, float time, const char* script) { return _i(0x2058206FBE79A8AD,recording, time, script); } // 0x2058206FBE79A8AD 0xD96DEC68 b323 + // inline float GetTotalDurationOfVehicleRecordingId(int id) { return _i(0x102D125411A7B6E6,id); } // 0x102D125411A7B6E6 0x7116785E b323 - // See RequestVehicleRecording - inline float GetTotalDurationOfVehicleRecording(int recording, String script) { return _i(0xE48D1C262390950,recording, script); } // 0xE48D1C262390950 0x5B35EEB7 b323 - // Distance traveled in the vehicles current recording. + // See RequestVehicleRecording + inline float GetTotalDurationOfVehicleRecording(int recording, const char* script) { return _i(0xE48D1C262390950,recording, script); } // 0xE48D1C262390950 0x5B35EEB7 b323 + // Distance traveled in the vehicles current recording. inline float GetPositionInRecording(Vehicle vehicle) { return _i(0x2DACD605FC681475,vehicle); } // 0x2DACD605FC681475 0x7DCD644C b323 - // Can be used with GetTotalDurationOfVehicleRecording{_ID} to compute a percentage. + // Can be used with GetTotalDurationOfVehicleRecording{_ID} to compute a percentage. inline float GetTimePositionInRecording(Vehicle vehicle) { return _i(0x5746F3A7AB7FE544,vehicle); } // 0x5746F3A7AB7FE544 0xF8C3E4A2 b323 - // p3 is some flag related to 'trailers' (invokes CVehicle::GetTrailer). + // p3 is some flag related to 'trailers' (invokes CVehicle::GetTrailer). // // See RequestVehicleRecording - inline Void StartPlaybackRecordedVehicle(Vehicle vehicle, int recording, String script, BOOL p3) { return _i(0x3F878F92B3A7A071,vehicle, recording, script, p3); } // 0x3F878F92B3A7A071 0xCF614CA8 b323 - // 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. + inline Void StartPlaybackRecordedVehicle(Vehicle vehicle, int recording, const char* script, BOOL p3) { return _i(0x3F878F92B3A7A071,vehicle, recording, script, p3); } // 0x3F878F92B3A7A071 0xCF614CA8 b323 + // 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 SetPlaybackToUseAi_TRY_TO_REVERT_BACK_LATER - inline Void StartPlaybackRecordedVehicleWithFlags(Vehicle vehicle, int recording, String script, int flags, int time, int drivingStyle) { return _i(0x7D80FD645D4DA346,vehicle, recording, script, flags, time, drivingStyle); } // 0x7D80FD645D4DA346 0x4E721AD2 b323 - // Often called after StartPlaybackRecordedVehicle and SkipTimeInPlaybackRecordedVehicle; similar in use to ForceEntityAiAndAnimationUpdate. + inline Void StartPlaybackRecordedVehicleWithFlags(Vehicle vehicle, int recording, const char* script, int flags, int time, int drivingStyle) { return _i(0x7D80FD645D4DA346,vehicle, recording, script, flags, time, drivingStyle); } // 0x7D80FD645D4DA346 0x4E721AD2 b323 + // Often called after StartPlaybackRecordedVehicle and SkipTimeInPlaybackRecordedVehicle; similar in use to ForceEntityAiAndAnimationUpdate. inline Void ForcePlaybackRecordedVehicleUpdate(Vehicle vehicle, BOOL p1) { return _i(0x1F2E4E06DEA8992B,vehicle, p1); } // 0x1F2E4E06DEA8992B 0x01B91CD0 b323 - // + // inline Void StopPlaybackRecordedVehicle(Vehicle vehicle) { return _i(0x54833611C17ABDEA,vehicle); } // 0x54833611C17ABDEA 0xAE99C57C b323 - // + // inline Void PausePlaybackRecordedVehicle(Vehicle vehicle) { return _i(0x632A689BF42301B1,vehicle); } // 0x632A689BF42301B1 0xCCF54912 b323 - // + // inline Void UnpausePlaybackRecordedVehicle(Vehicle vehicle) { return _i(0x8879EE09268305D5,vehicle); } // 0x8879EE09268305D5 0x59060F75 b323 - // + // inline BOOL IsPlaybackGoingOnForVehicle(Vehicle vehicle) { return _i(0x1C8A4C2C19E68EEC,vehicle); } // 0x1C8A4C2C19E68EEC 0x61F7650D b323 - // + // inline BOOL IsPlaybackUsingAiGoingOnForVehicle(Vehicle vehicle) { return _i(0xAEA8FD591FAD4106,vehicle); } // 0xAEA8FD591FAD4106 0x63022C58 b323 - // + // inline int GetCurrentPlaybackForVehicle(Vehicle vehicle) { return _i(0x42BC05C27A946054,vehicle); } // 0x42BC05C27A946054 0xA3F44390 b323 - // + // inline Void SkipToEndAndStopPlaybackRecordedVehicle(Vehicle vehicle) { return _i(0xAB8E2EDA0C0A5883,vehicle); } // 0xAB8E2EDA0C0A5883 0x8DEA18C8 b323 - // + // inline Void SetPlaybackSpeed(Vehicle vehicle, float speed) { return _i(0x6683AB880E427778,vehicle, speed); } // 0x6683AB880E427778 0x684E26E4 b323 - // AI abides by the provided driving style (e.g., stopping at red lights or waiting behind traffic) while executing the specificed vehicle recording. + // AI abides by the provided driving style (e.g., stopping at red lights or waiting behind traffic) while executing the specificed vehicle recording. // // ForcePlaybackRecordedVehicleUpdate is a related native that deals with the AI physics for such recordings. - inline Void StartPlaybackRecordedVehicleUsingAi(Vehicle vehicle, int recording, String script, float speed, int drivingStyle) { return _i(0x29DE5FA52D00428C,vehicle, recording, script, speed, drivingStyle); } // 0x29DE5FA52D00428C 0x8DE8E24E b323 - // SET_TIME_POSITION_IN_RECORDING can be emulated by: desired_time - GetTimePositionInRecording(vehicle) + inline Void StartPlaybackRecordedVehicleUsingAi(Vehicle vehicle, int recording, const char* script, float speed, int drivingStyle) { return _i(0x29DE5FA52D00428C,vehicle, recording, script, speed, drivingStyle); } // 0x29DE5FA52D00428C 0x8DE8E24E b323 + // SET_TIME_POSITION_IN_RECORDING can be emulated by: desired_time - GetTimePositionInRecording(vehicle) inline Void SkipTimeInPlaybackRecordedVehicle(Vehicle vehicle, float time) { return _i(0x9438F7AD68771A20,vehicle, time); } // 0x9438F7AD68771A20 0xCF3EFA4B b323 - // Identical to SetPlaybackToUseAi_TRY_TO_REVERT_BACK_LATER with 0 as arguments for p1 and p3. + // Identical to SetPlaybackToUseAi_TRY_TO_REVERT_BACK_LATER with 0 as arguments for p1 and p3. inline Void SetPlaybackToUseAi(Vehicle vehicle, int drivingStyle) { return _i(0xA549C3B37EA28131,vehicle, drivingStyle); } // 0xA549C3B37EA28131 0xB536CCD7 b323 - // Time is number of milliseconds before reverting, zero for indefinitely. + // Time is number of milliseconds before reverting, zero for indefinitely. inline Void SetPlaybackToUseAiTryToRevertBackLater(Vehicle vehicle, int time, int drivingStyle, BOOL p3) { return _i(0x6E63860BBB190730,vehicle, time, drivingStyle, p3); } // 0x6E63860BBB190730 0x0C8ABAA4 b323 - // + // inline Void SetAdditionalRotationForRecordedVehiclePlayback(Vehicle vehicle, float x, float y, float z, Any p4) { return _i(0x5845066D8A1EA7F7,vehicle, x, y, z, p4); } // 0x5845066D8A1EA7F7 0x943A58EB b323 - // + // inline Void SetPositionOffsetForRecordedVehiclePlayback(Vehicle vehicle, float x, float y, float z) { return _i(0x796A877E459B99EA,vehicle, x, y, z); } // 0x796A877E459B99EA 0x5C9F477C b323 - // + // inline Void SetGlobalPositionOffsetForRecordedVehiclePlayback(Vehicle vehicle, float x, float y, float z) { return _i(0xFAF2A78061FD9EF4,vehicle, x, y, z); } // 0xFAF2A78061FD9EF4 0xCD83C393 b323 - // A vehicle recording playback flag only used in jewelry_heist + // A vehicle recording playback flag only used in jewelry_heist inline Void SetShouldLerpFromAiToFullRecording(Vehicle vehicle, BOOL p1) { return _i(0x63AE2B2CC273588,vehicle, p1); } // 0x63AE2B2CC273588 0x2EF8435C b323 - // + // inline Void ExplodeVehicleInCutscene(Vehicle vehicle, BOOL p1) { return _i(0x786A4EB67B01BF0B,vehicle, p1); } // 0x786A4EB67B01BF0B 0xA85207B5 b323 - // + // inline Void AddVehicleStuckCheckWithWarp(Any p0, float p1, Any p2, BOOL p3, BOOL p4, BOOL p5, Any p6) { return _i(0x2FA9923062DD396C,p0, p1, p2, p3, p4, p5, p6); } // 0x2FA9923062DD396C 0xC8B789AD b323 - // Makes the vehicle stop spawning naturally in traffic. Here's an essential example: + // Makes the vehicle stop spawning naturally in traffic. Here's an essential example: // // VEHICLE::SetVehicleModelIsSuppressed(MISC::GetHashKey("taco"), true); // // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json inline Void SetVehicleModelIsSuppressed(Hash model, BOOL suppressed) { return _i(0xFC2D89AC25A5814,model, suppressed); } // 0xFC2D89AC25A5814 0x42A08C9B b323 - // Gets a random vehicle in a sphere at the specified position, of the specified radius. + // 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. @@ -18935,11 +18935,11 @@ namespace VEHICLE // // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json inline Vehicle GetRandomVehicleInSphere(float x, float y, float z, float radius, Hash modelHash, int flags) { return _i(0x386F6CE5BAF6091C,x, y, z, radius, modelHash, flags); } // 0x386F6CE5BAF6091C 0x57216D03 b323 - // + // inline Vehicle GetRandomVehicleFrontBumperInSphere(float p0, float p1, float p2, float p3, int p4, int p5, int p6) { return _i(0xC5574E0AEB86BA68,p0, p1, p2, p3, p4, p5, p6); } // 0xC5574E0AEB86BA68 0xDCADEB66 b323 - // + // inline Vehicle GetRandomVehicleBackBumperInSphere(float p0, float p1, float p2, float p3, int p4, int p5, int p6) { return _i(0xB50807EABE20A8DC,p0, p1, p2, p3, p4, p5, p6); } // 0xB50807EABE20A8DC 0xD6343F6B b323 - // Example usage + // Example usage // VEHICLE::GetClosestVehicle(x, y, z, radius, hash, unknown leave at 70) // // x, y, z: Position to get closest vehicle to. @@ -18968,71 +18968,71 @@ namespace VEHICLE // // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json inline Vehicle GetClosestVehicle(float x, float y, float z, float radius, Hash modelHash, int flags) { return _i(0xF73EB622C4F1689B,x, y, z, radius, modelHash, flags); } // 0xF73EB622C4F1689B 0xD7E26B2C b323 - // 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. + // 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. inline Vehicle GetTrainCarriage(Vehicle train, int trailerNumber) { return _i(0x8AAFD0814722BC3,train, trailerNumber); } // 0x8AAFD0814722BC3 0x2544E7A6 b323 - // + // inline BOOL IsMissionTrain(Vehicle train) { return _i(0xAD464F2E18836BFC,train); } // 0xAD464F2E18836BFC b2372 - // + // inline Void DeleteMissionTrain(Vehicle* train) { return _i(0x5B76B14AE875C795,train); } // 0x5B76B14AE875C795 0x86C9497D b323 - // p1 is always 0 + // p1 is always 0 inline Void SetMissionTrainAsNoLongerNeeded(Vehicle* train, BOOL p1) { return _i(0xBBE7648349B49BE8,train, p1); } // 0xBBE7648349B49BE8 0x19808560 b323 - // + // inline Void SetMissionTrainCoords(Vehicle train, float x, float y, float z) { return _i(0x591CA673AA6AB736,train, x, y, z); } // 0x591CA673AA6AB736 0xD6D70803 b323 - // + // inline BOOL IsThisModelABoat(Hash model) { return _i(0x45A9187928F4B9E3,model); } // 0x45A9187928F4B9E3 0x10F6085C b323 - // Checks if model is a boat, then checks for FLAG_IS_JETSKI. + // Checks if model is a boat, then checks for FLAG_IS_JETSKI. inline BOOL IsThisModelAJetski(Hash model) { return _i(0x9537097412CF75FE,model); } // 0x9537097412CF75FE b323 - // + // inline BOOL IsThisModelAPlane(Hash model) { return _i(0xA0948AB42D7BA0DE,model); } // 0xA0948AB42D7BA0DE 0x3B3907BB b323 - // + // inline BOOL IsThisModelAHeli(Hash model) { return _i(0xDCE4334788AF94EA,model); } // 0xDCE4334788AF94EA 0x8AF7F568 b323 - // To check if the model is an amphibious car, use IsThisModelAnAmphibiousCar. + // To check if the model is an amphibious car, use IsThisModelAnAmphibiousCar. inline BOOL IsThisModelACar(Hash model) { return _i(0x7F6DB52EEFC96DF8,model); } // 0x7F6DB52EEFC96DF8 0x60E4C22F b323 - // + // inline BOOL IsThisModelATrain(Hash model) { return _i(0xAB935175B22E822B,model); } // 0xAB935175B22E822B 0xF87DCFFD b323 - // + // inline BOOL IsThisModelABike(Hash model) { return _i(0xB50C0B0CEDC6CE84,model); } // 0xB50C0B0CEDC6CE84 0x7E702CDD b323 - // + // inline BOOL IsThisModelABicycle(Hash model) { return _i(0xBF94DD42F63BDED2,model); } // 0xBF94DD42F63BDED2 0x328E6FF5 b323 - // + // inline BOOL IsThisModelAQuadbike(Hash model) { return _i(0x39DAC362EE65FA28,model); } // 0x39DAC362EE65FA28 0xC1625277 b323 - // + // inline BOOL IsThisModelAnAmphibiousCar(Hash model) { return _i(0x633F6F44A537EBB6,model); } // 0x633F6F44A537EBB6 b944 - // + // inline BOOL IsThisModelAnAmphibiousQuadbike(Hash model) { return _i(0xA1A9FC1C76A6730D,model); } // 0xA1A9FC1C76A6730D b1103 - // Equivalent of SetHeliBladesSpeed(vehicleHandle, 1.0f); + // Equivalent of SetHeliBladesSpeed(vehicleHandle, 1.0f); // // this native works on planes to? inline Void SetHeliBladesFullSpeed(Vehicle vehicle) { return _i(0xA178472EBB8AE60D,vehicle); } // 0xA178472EBB8AE60D 0x033A9408 b323 - // Sets the speed of the helicopter blades in percentage of the full speed. + // 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%. inline Void SetHeliBladesSpeed(Vehicle vehicle, float speed) { return _i(0xFD280B4D7F3ABC4D,vehicle, speed); } // 0xFD280B4D7F3ABC4D 0x5C7D4EA9 b323 - // + // inline Void ForceSubThrottleForTime(Vehicle vehicle, float p1, float p2) { return _i(0x99CAD8E7AFDB60FA,vehicle, p1, p2); } // 0x99CAD8E7AFDB60FA 0x1128A45B b323 - // This has not yet been tested - it's just an assumption of what the types could be. + // This has not yet been tested - it's just an assumption of what the types could be. inline Void SetVehicleCanBeTargetted(Vehicle vehicle, BOOL state) { return _i(0x3750146A28097A82,vehicle, state); } // 0x3750146A28097A82 0x64B70B1D b323 - // + // inline Void SetDontAllowPlayerToEnterVehicleIfLockedForPlayer(Vehicle vehicle, BOOL p1) { return _i(0xDBC631F109350B8C,vehicle, p1); } // 0xDBC631F109350B8C 0x486C1280 b323 - // + // inline Void SetVehicleCanBeVisiblyDamaged(Vehicle vehicle, BOOL state) { return _i(0x4C7028F78FFD3681,vehicle, state); } // 0x4C7028F78FFD3681 0xC5D94017 b323 - // + // inline Void SetVehicleHasUnbreakableLights(Vehicle vehicle, BOOL toggle) { return _i(0x1AA8A837D2169D94,vehicle, toggle); } // 0x1AA8A837D2169D94 0x009AB49E b323 - // + // inline Void SetVehicleRespectsLocksWhenHasDriver(Vehicle vehicle, BOOL p1) { return _i(0x2311DD7159F00582,vehicle, p1); } // 0x2311DD7159F00582 0x758C5E2E b323 - // + // inline Void SetVehicleCanEjectPassengersIfLocked(Any p0, Any p1) { return _i(0x65D03A9D6B2C6B5,p0, p1); } // 0x65D03A9D6B2C6B5 b463 - // Dirt level does not become greater than 15.0 + // Dirt level does not become greater than 15.0 inline float GetVehicleDirtLevel(Vehicle vehicle) { return _i(0x8F17BC8BA08DA62B,vehicle); } // 0x8F17BC8BA08DA62B 0xFD15C065 b323 - // You can't use values greater than 15.0 + // You can't use values greater than 15.0 // Also, R* does (float)(rand() % 15) to get a random dirt level when generating a vehicle. inline Void SetVehicleDirtLevel(Vehicle vehicle, float dirtLevel) { return _i(0x79D3B596FE44EE8B,vehicle, dirtLevel); } // 0x79D3B596FE44EE8B 0x2B39128B b323 - // Appears to return true if the vehicle has any damage, including cosmetically. + // Appears to return true if the vehicle has any damage, including cosmetically. inline BOOL GetDoesVehicleHaveDamageDecals(Vehicle vehicle) { return _i(0xBCDC5017D3CE1E9E,vehicle); } // 0xBCDC5017D3CE1E9E 0xDAC523BC b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline BOOL IsVehicleDoorFullyOpen(Vehicle vehicle, int doorId) { return _i(0x3E933CFF7B111C22,vehicle, doorId); } // 0x3E933CFF7B111C22 0xC2385B6F b323 - // Starts or stops the engine on the specified vehicle. + // 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. @@ -19041,19 +19041,19 @@ namespace VEHICLE // // 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? inline Void SetVehicleEngineOn(Vehicle vehicle, BOOL value, BOOL instantly, BOOL disableAutoStart) { return _i(0x2497C4717C8B881E,vehicle, value, instantly, disableAutoStart); } // 0x2497C4717C8B881E 0x7FBC86F1 b323 - // + // inline Void SetVehicleUndriveable(Vehicle vehicle, BOOL toggle) { return _i(0x8ABA6AF54B942B95,vehicle, toggle); } // 0x8ABA6AF54B942B95 0x48D02A4E b323 - // + // inline Void SetVehicleProvidesCover(Vehicle vehicle, BOOL toggle) { return _i(0x5AFEEDD9BB2899D7,vehicle, toggle); } // 0x5AFEEDD9BB2899D7 0xEFC01CA9 b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline Void SetVehicleDoorControl(Vehicle vehicle, int doorId, int speed, float angle) { return _i(0xF2BFA0430F0A0FCB,vehicle, doorId, speed, angle); } // 0xF2BFA0430F0A0FCB 0x572DD360 b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline Void SetVehicleDoorLatched(Vehicle vehicle, int doorId, BOOL p2, BOOL p3, BOOL p4) { return _i(0xA5A9653A8D2CAF48,vehicle, doorId, p2, p3, p4); } // 0xA5A9653A8D2CAF48 0x4EB7BBFC b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline float GetVehicleDoorAngleRatio(Vehicle vehicle, int doorId) { return _i(0xFE3F9C29F7B32BD5,vehicle, doorId); } // 0xFE3F9C29F7B32BD5 0x0E399C26 b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline Ped GetPedUsingVehicleDoor(Vehicle vehicle, int doord) { return _i(0x218297BF0CFD853B,vehicle, doord); } // 0x218297BF0CFD853B 0x0630101F b323 - // enum eDoorId + // enum eDoorId // { // VEH_EXT_DOOR_INVALID_ID = -1, // VEH_EXT_DOOR_DSIDE_F, @@ -19064,53 +19064,53 @@ namespace VEHICLE // VEH_EXT_BOOT // }; inline Void SetVehicleDoorShut(Vehicle vehicle, int doorId, BOOL closeInstantly) { return _i(0x93D9BD300D7789E5,vehicle, doorId, closeInstantly); } // 0x93D9BD300D7789E5 0x142606BD b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline Void SetVehicleDoorBroken(Vehicle vehicle, int doorId, BOOL deleteDoor) { return _i(0xD4D4F6A4AB575A33,vehicle, doorId, deleteDoor); } // 0xD4D4F6A4AB575A33 0x8147FEA7 b323 - // + // inline Void SetVehicleCanBreak(Vehicle vehicle, BOOL toggle) { return _i(0x59BF8C3D52C92F66,vehicle, toggle); } // 0x59BF8C3D52C92F66 0x90A810D1 b323 - // + // inline BOOL DoesVehicleHaveRoof(Vehicle vehicle) { return _i(0x8AC862B0B32C5B80,vehicle); } // 0x8AC862B0B32C5B80 0xDB817403 b323 - // + // inline Void SetVehicleRemoveAggressiveCarjackMission(Any p0) { return _i(0xC4B3347BD68BD609,p0); } // 0xC4B3347BD68BD609 b573 - // + // inline Void SetVehicleAvoidPlayerVehicleRiotVanMission(Any p0) { return _i(0xD3301660A57C9272,p0); } // 0xD3301660A57C9272 b757 - // + // inline Void SetCarjackMissionRemovalParameters(Any p0, Any p1) { return _i(0xB9562064627FF9DB,p0, p1); } // 0xB9562064627FF9DB b573 - // Returns true if MF_IS_BIG (strModelFlags 0x8) handling model flag is set. + // Returns true if MF_IS_BIG (strModelFlags 0x8) handling model flag is set. inline BOOL IsBigVehicle(Vehicle vehicle) { return _i(0x9F243D3919F442FE,vehicle); } // 0x9F243D3919F442FE 0x9CDBA8DE b323 - // Returns the total amount of color combinations found in the vehicle's carvariations.meta entry. + // Returns the total amount of color combinations found in the vehicle's carvariations.meta entry. inline int GetNumberOfVehicleColours(Vehicle vehicle) { return _i(0x3B963160CD65D41E,vehicle); } // 0x3B963160CD65D41E 0xF2442EE2 b323 - // Sets the selected vehicle's colors to the specified index of the color combination found in the vehicle's carvariations.meta entry. + // Sets the selected vehicle's colors to the specified index of the color combination found in the vehicle's carvariations.meta entry. inline Void SetVehicleColourCombination(Vehicle vehicle, int colorCombination) { return _i(0x33E8CD3322E2FE31,vehicle, colorCombination); } // 0x33E8CD3322E2FE31 0xA557AEAD b323 - // Returns the index of the color combination found in the vehicle's carvariations.meta entry. + // Returns the index of the color combination found in the vehicle's carvariations.meta entry. inline int GetVehicleColourCombination(Vehicle vehicle) { return _i(0x6A842D197F845D56,vehicle); } // 0x6A842D197F845D56 0x77AC1B4C b323 - // `color`: is the paint index for the vehicle. + // `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 // Full list of all vehicle xenon lights by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleColors.json inline Void SetVehicleXenonLightColorIndex(Vehicle vehicle, int colorIndex) { return _i(0xE41033B25D003A07,vehicle, colorIndex); } // 0xE41033B25D003A07 b1604 - // Returns the headlight color index from the vehicle. Value between 0, 12. + // Returns the headlight color index from the vehicle. Value between 0, 12. // Use SetVehicleXenonLightColorIndex 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. inline int GetVehicleXenonLightColorIndex(Vehicle vehicle) { return _i(0x3DFF319A831E0CDB,vehicle); } // 0x3DFF319A831E0CDB b1604 - // 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. + // 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. inline Void SetVehicleIsConsideredByPlayer(Vehicle vehicle, BOOL toggle) { return _i(0x31B927BBC44156CD,vehicle, toggle); } // 0x31B927BBC44156CD 0x14413319 b323 - // + // inline Void SetVehicleWillForceOtherVehiclesToStop(Vehicle vehicle, BOOL toggle) { return _i(0xBE5C1255A1830FF5,vehicle, toggle); } // 0xBE5C1255A1830FF5 0xA6D8D7A5 b323 - // + // inline Void SetVehicleActAsIfHasSirenOn(Vehicle vehicle, BOOL p1) { return _i(0x9BECD4B9FEF3F8A6,vehicle, p1); } // 0x9BECD4B9FEF3F8A6 0xACAB8FF3 b323 - // + // inline Void SetVehicleUseMoreRestrictiveSpawnChecks(Vehicle vehicle, BOOL p1) { return _i(0x88BC673CA9E0AE99,vehicle, p1); } // 0x88BC673CA9E0AE99 0xF0E5C41D b323 - // + // inline Void SetVehicleMayBeUsedByGotoPointAnyMeans(Vehicle vehicle, BOOL p1) { return _i(0xE851E480B814D4BA,vehicle, p1); } // 0xE851E480B814D4BA 0x2F98B4B7 b323 - // Not present in the retail version! It's just a nullsub. + // 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 inline Void GetRandomVehicleModelInMemory(BOOL p0, Hash* modelHash, int* successIndicator) { return _i(0x55BF0AC0C34F4FD,p0, modelHash, successIndicator); } // 0x55BF0AC0C34F4FD 0xE2C45631 b323 - // enum VehicleLockStatus = { + // enum VehicleLockStatus = { // None = 0, // Unlocked = 1, // Locked = 2, @@ -19121,70 +19121,70 @@ namespace VEHICLE // CannotBeTriedToEnter = 10, -- Cannot be tried to enter (Nothing happens when you press the vehicle enter key). // } inline int GetVehicleDoorLockStatus(Vehicle vehicle) { return _i(0x25BC98A59C2EA962,vehicle); } // 0x25BC98A59C2EA962 0x0D72CEF2 b323 - // Returns vehicle door lock state previously set with SetVehicleIndividualDoorsLocked + // Returns vehicle door lock state previously set with SetVehicleIndividualDoorsLocked inline int GetVehicleIndividualDoorLockStatus(Vehicle vehicle, int doorId) { return _i(0xCA4AC3EAAE46EC7B,vehicle, doorId); } // 0xCA4AC3EAAE46EC7B b1103 - // doorID starts at 0, not seeming to skip any numbers. Four door vehicles intuitively range from 0 to 3. + // doorID starts at 0, not seeming to skip any numbers. Four door vehicles intuitively range from 0 to 3. inline BOOL IsVehicleDoorDamaged(Vehicle veh, int doorID) { return _i(0xB8E181E559464527,veh, doorID); } // 0xB8E181E559464527 0x4999E3C3 b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline Void SetDoorAllowedToBeBrokenOff(Vehicle vehicle, int doorId, BOOL isBreakable) { return _i(0x2FA133A4A9D37ED8,vehicle, doorId, isBreakable); } // 0x2FA133A4A9D37ED8 0x065B92B3 b323 - // + // inline BOOL IsVehicleBumperBouncing(Vehicle vehicle, BOOL frontBumper) { return _i(0x27B926779DEB502D,vehicle, frontBumper); } // 0x27B926779DEB502D 0xB3A2CC4F b323 - // + // inline BOOL IsVehicleBumperBrokenOff(Vehicle vehicle, BOOL frontBumper) { return _i(0x468056A6BB6F3846,vehicle, frontBumper); } // 0x468056A6BB6F3846 0xAF25C027 b323 - // Usage: + // Usage: // // public bool isCopInRange(Vector3 Location, float Range) // { // return Function.Call(Hash.IsCopPedInArea3D, Location.X - Range, Location.Y - Range, Location.Z - Range, Location.X + Range, Location.Y + Range, Location.Z + Range); // } inline BOOL IsCopVehicleInArea3D(float x1, float x2, float y1, float y2, float z1, float z2) { return _i(0x7EEF65D5F153E26A,x1, x2, y1, y2, z1, z2); } // 0x7EEF65D5F153E26A 0xFB16C6D1 b323 - // Public Function isVehicleOnAllWheels(vh As Vehicle) As Boolean + // Public Function isVehicleOnAllWheels(vh As Vehicle) As Boolean // Return Native.Function.Call(Of Boolean)(Hash.IsVehicleOnAllWheels, vh) // End Function // inline BOOL IsVehicleOnAllWheels(Vehicle vehicle) { return _i(0xB104CD1BABF302E2,vehicle); } // 0xB104CD1BABF302E2 0x10089F8E b323 - // Returns `nMonetaryValue` from handling.meta for specific model. + // Returns `nMonetaryValue` from handling.meta for specific model. inline int GetVehicleModelValue(Hash vehicleModel) { return _i(0x5873C14A52D74236,vehicleModel); } // 0x5873C14A52D74236 0x58FEFC3D b463 - // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json inline Hash GetVehicleLayoutHash(Vehicle vehicle) { return _i(0x28D37D4F71AC5C58,vehicle); } // 0x28D37D4F71AC5C58 0xE0B35187 b323 - // + // inline Hash GetInVehicleClipsetHashForSeat(Vehicle vehicle, int p1) { return _i(0xA01BC64DD4BFBBAC,vehicle, p1); } // 0xA01BC64DD4BFBBAC b323 - // Makes the train all jumbled up and derailed as it moves on the tracks (though that wont stop it from its normal operations) + // Makes the train all jumbled up and derailed as it moves on the tracks (though that wont stop it from its normal operations) inline Void SetRenderTrainAsDerailed(Vehicle train, BOOL toggle) { return _i(0x317B11A312DF5534,train, toggle); } // 0x317B11A312DF5534 0x899D9092 b323 - // They use the same color indexs as SetVehicleColours. + // They use the same color indexs as SetVehicleColours. inline Void SetVehicleExtraColours(Vehicle vehicle, int pearlescentColor, int wheelColor) { return _i(0x2036F561ADD12E33,vehicle, pearlescentColor, wheelColor); } // 0x2036F561ADD12E33 0x515DB2A0 b323 - // + // inline Void GetVehicleExtraColours(Vehicle vehicle, int* pearlescentColor, int* wheelColor) { return _i(0x3BC4245933A166F7,vehicle, pearlescentColor, wheelColor); } // 0x3BC4245933A166F7 0x80E4659B b323 - // + // inline Void SetVehicleExtraColour5(Vehicle vehicle, int color) { return _i(0xF40DD601A65F7F19,vehicle, color); } // 0xF40DD601A65F7F19 b505 - // + // inline Void GetVehicleExtraColour5(Vehicle vehicle, int* color) { return _i(0x7D1464D472D32136,vehicle, color); } // 0x7D1464D472D32136 b505 - // + // inline Void SetVehicleExtraColour6(Vehicle vehicle, int color) { return _i(0x6089CDF6A57F326C,vehicle, color); } // 0x6089CDF6A57F326C b505 - // + // inline Void GetVehicleExtraColour6(Vehicle vehicle, int* color) { return _i(0xB7635E80A5C31BFF,vehicle, color); } // 0xB7635E80A5C31BFF b505 - // + // inline Void StopAllGarageActivity() { return _i(0xF87E938BDF29D66); } // 0xF87E938BDF29D66 0x17A0BCE5 b323 - // This fixes a vehicle. + // This fixes a vehicle. // If the vehicle's engine's broken then you cannot fix it with this native. inline Void SetVehicleFixed(Vehicle vehicle) { return _i(0x115722B1B9C14C1C,vehicle); } // 0x115722B1B9C14C1C 0x17469AA1 b323 - // This fixes the deformation of a vehicle but the vehicle health doesn't improve + // This fixes the deformation of a vehicle but the vehicle health doesn't improve inline Void SetVehicleDeformationFixed(Vehicle vehicle) { return _i(0x953DA1E1B12C0491,vehicle); } // 0x953DA1E1B12C0491 0xDD2920C8 b323 - // + // inline Void SetVehicleCanEngineMissfire(Vehicle vehicle, BOOL toggle) { return _i(0x206BC5DC9D1AC70A,vehicle, toggle); } // 0x206BC5DC9D1AC70A 0x8EACBD13 b323 - // + // inline Void SetVehicleCanLeakOil(Vehicle vehicle, BOOL toggle) { return _i(0x51BB2D88D31A914B,vehicle, toggle); } // 0x51BB2D88D31A914B 0x88F0F7E7 b323 - // + // inline Void SetVehicleCanLeakPetrol(Vehicle vehicle, BOOL toggle) { return _i(0x192547247864DFDD,vehicle, toggle); } // 0x192547247864DFDD 0x90D6EE57 b323 - // + // inline Void SetDisableVehiclePetrolTankFires(Vehicle vehicle, BOOL toggle) { return _i(0x465BF26AB9684352,vehicle, toggle); } // 0x465BF26AB9684352 0xC40192B5 b323 - // + // inline Void SetDisableVehiclePetrolTankDamage(Vehicle vehicle, BOOL toggle) { return _i(0x37C8252A7C92D017,vehicle, toggle); } // 0x37C8252A7C92D017 0xAD3E05F2 b323 - // + // inline Void SetDisableVehicleEngineFires(Vehicle vehicle, BOOL toggle) { return _i(0x91A0BD635321F145,vehicle, toggle); } // 0x91A0BD635321F145 0x1784BA1A b323 - // + // inline Void SetVehicleLimitSpeedWhenPlayerInactive(Vehicle vehicle, BOOL toggle) { return _i(0xC50CE861B55EAB8B,vehicle, toggle); } // 0xC50CE861B55EAB8B 0x40C323AE b323 - // sfink: sets bit in vehicle's structure, used by maintransition, fm_mission_controller, mission_race and a couple of other scripts. see dissassembly: + // 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 @@ -19198,11 +19198,11 @@ namespace VEHICLE // return result; // } inline Void SetVehicleStopInstantlyWhenPlayerInactive(Vehicle vehicle, BOOL toggle) { return _i(0x6EBFB22D646FFC18,vehicle, toggle); } // 0x6EBFB22D646FFC18 0x847F1304 b323 - // + // inline Void SetDisablePretendOccupants(Vehicle vehicle, BOOL toggle) { return _i(0x25367DE49D64CF16,vehicle, toggle); } // 0x25367DE49D64CF16 0xCBD98BA1 b323 - // + // inline Void RemoveVehiclesFromGeneratorsInArea(float x1, float y1, float z1, float x2, float y2, float z2, Any p6) { return _i(0x46A1E1A299EC4BBA,x1, y1, z1, x2, y2, z2, p6); } // 0x46A1E1A299EC4BBA 0x42CC15E0 b323 - // Locks the vehicle's steering to the desired angle, explained below. + // 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. // @@ -19211,45 +19211,45 @@ namespace VEHICLE // 0.0 = centered steering // 1.0 = full left inline Void SetVehicleSteerBias(Vehicle vehicle, float value) { return _i(0x42A8EC77D5150CBE,vehicle, value); } // 0x42A8EC77D5150CBE 0x7357C1EB b323 - // + // inline BOOL IsVehicleExtraTurnedOn(Vehicle vehicle, int extraId) { return _i(0xD2E6822DBFD6C8BD,vehicle, extraId); } // 0xD2E6822DBFD6C8BD 0x042098B5 b323 - // Available extraIds are 1-14, however none of the vehicles have extras above 12. + // Available extraIds are 1-14, however none of the vehicles have extras above 12. inline Void SetVehicleExtra(Vehicle vehicle, int extraId, BOOL disable) { return _i(0x7EE3A3C5E4A40CC9,vehicle, extraId, disable); } // 0x7EE3A3C5E4A40CC9 0x642D065C b323 - // Checks via CVehicleModelInfo + // Checks via CVehicleModelInfo inline BOOL DoesExtraExist(Vehicle vehicle, int extraId) { return _i(0x1262D55792428154,vehicle, extraId); } // 0x1262D55792428154 0x409411CC b323 - // Returns true if specified extra part is broken off. It only works for extras that can break off during collisions, non-breakable extras always return false. Also returns true if the breakable extra is toggled off through script. + // Returns true if specified extra part is broken off. It only works for extras that can break off during collisions, non-breakable extras always return false. Also returns true if the breakable extra is toggled off through script. inline BOOL IsExtraBrokenOff(Vehicle vehicle, int extraId) { return _i(0x534E36D4DB9ECC5D,vehicle, extraId); } // 0x534E36D4DB9ECC5D b1493 - // + // inline Void SetConvertibleRoof(Vehicle vehicle, BOOL p1) { return _i(0xF39C4F538B5124C2,vehicle, p1); } // 0xF39C4F538B5124C2 0xC87B6A51 b323 - // + // inline Void LowerConvertibleRoof(Vehicle vehicle, BOOL instantlyLower) { return _i(0xDED51F703D0FA83D,vehicle, instantlyLower); } // 0xDED51F703D0FA83D 0xC5F72EAE b323 - // + // inline Void RaiseConvertibleRoof(Vehicle vehicle, BOOL instantlyRaise) { return _i(0x8F5FB35D7E88FC70,vehicle, instantlyRaise); } // 0x8F5FB35D7E88FC70 0xA4E4CBA3 b323 - // 0 -> up + // 0 -> up // 1 -> lowering down // 2 -> down // 3 -> raising up inline int GetConvertibleRoofState(Vehicle vehicle) { return _i(0xF8C397922FC03F41,vehicle); } // 0xF8C397922FC03F41 0x1B09714D b323 - // Returns true if the vehicle has a convertible roof. + // Returns true if the vehicle has a convertible roof. // // p1 is false almost always. However, in launcher_carwash/carwash1/carwash2 scripts, p1 is true and is accompanied by DoesVehicleHaveRoof. If p1 is true, it seems that every single vehicle will return true irrespective of being a convertible. inline BOOL IsVehicleAConvertible(Vehicle vehicle, BOOL p1) { return _i(0x52F357A30698BCCE,vehicle, p1); } // 0x52F357A30698BCCE 0x6EF54490 b323 - // Transforms the `stormberg`/`toreador` to its "submarine" 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. + // Transforms the `stormberg`/`toreador` to its "submarine" 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. inline BOOL TransformToSubmarine(Vehicle vehicle, BOOL noAnimation) { return _i(0xBE4C854FFDB6EEBE,vehicle, noAnimation); } // 0xBE4C854FFDB6EEBE 0xCAFE5FE0 b1365 - // Transforms the `stormberg`/`toreador` 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. + // Transforms the `stormberg`/`toreador` 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. inline Void TransformToCar(Vehicle vehicle, BOOL noAnimation) { return _i(0x2A69FFD1B42BFF9E,vehicle, noAnimation); } // 0x2A69FFD1B42BFF9E 0xD8B90941 b1290 - // + // inline BOOL IsVehicleInSubmarineMode(Vehicle vehicle) { return _i(0xA77DC70BD689A1E5,vehicle); } // 0xA77DC70BD689A1E5 0xE2FF06DB b1290 - // + // inline BOOL IsVehicleStoppedAtTrafficLights(Vehicle vehicle) { return _i(0x2959F696AE390A99,vehicle); } // 0x2959F696AE390A99 0x69200FA4 b323 - // Apply damage to vehicle at a location. Location is relative to vehicle model (not world). + // 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 inline Void SetVehicleDamage(Vehicle vehicle, float xOffset, float yOffset, float zOffset, float damage, float radius, BOOL focusOnModel) { return _i(0xA1DD317EA8FD4F29,vehicle, xOffset, yOffset, zOffset, damage, radius, focusOnModel); } // 0xA1DD317EA8FD4F29 0x21B458B2 b323 - // + // inline Void SetVehicleOccupantsTakeExplosiveDamage(Vehicle vehicle, BOOL toggle) { return _i(0x35BB21DE06784373,vehicle, toggle); } // 0x35BB21DE06784373 b463 - // Returns 1000.0 if the function is unable to get the address of the specified vehicle or if it's not a vehicle. + // 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 @@ -19259,7 +19259,7 @@ namespace VEHICLE // 300: Engine is smoking and losing functionality // 1000: Engine is perfect inline float GetVehicleEngineHealth(Vehicle vehicle) { return _i(0xC45D23BAF168AAB8,vehicle); } // 0xC45D23BAF168AAB8 0x8880038A b323 - // 1000 is max health + // 1000 is max health // Begins leaking gas at around 650 health // Minimum: -4000 // Maximum: 1000 @@ -19269,20 +19269,20 @@ namespace VEHICLE // 300: Engine is smoking and losing functionality // 1000: Engine is perfect inline Void SetVehicleEngineHealth(Vehicle vehicle, float health) { return _i(0x45F6D8EEF34ABEF1,vehicle, health); } // 0x45F6D8EEF34ABEF1 0x1B760FB5 b323 - // Works just like SetVehicleEngineHealth, but only for planes. + // Works just like SetVehicleEngineHealth, but only for planes. inline Void SetPlaneEngineHealth(Vehicle vehicle, float health) { return _i(0x2A86A0475B6A1434,vehicle, health); } // 0x2A86A0475B6A1434 b1103 - // 1000 is max health + // 1000 is max health // Begins leaking gas at around 650 health // -999.90002441406 appears to be minimum health, although nothing special occurs inline float GetVehiclePetrolTankHealth(Vehicle vehicle) { return _i(0x7D5DABE888D2D074,vehicle); } // 0x7D5DABE888D2D074 0xE41595CE b323 - // 1000 is max health + // 1000 is max health // Begins leaking gas at around 650 health // -999.90002441406 appears to be minimum health, although nothing special occurs inline Void SetVehiclePetrolTankHealth(Vehicle vehicle, float health) { return _i(0x70DB57649FA8D0D8,vehicle, health); } // 0x70DB57649FA8D0D8 0x660A3692 b323 - // p1 can be anywhere from 0 to 3 in the scripts. + // p1 can be anywhere from 0 to 3 in the scripts. // p2 being how long in milliseconds the vehicle has been stuck inline BOOL IsVehicleStuckTimerUp(Vehicle vehicle, int p1, int ms) { return _i(0x679BE1DAF71DA874,vehicle, p1, ms); } // 0x679BE1DAF71DA874 0x2FCF58C1 b323 - // The inner function has a switch on the second parameter. It's the stuck timer index. + // 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_ResetVehicleStuckTimer_INNER(CUnknown* unknownClassInVehicle, int timerIndex) @@ -19306,19 +19306,19 @@ namespace VEHICLE // }; // } inline Void ResetVehicleStuckTimer(Vehicle vehicle, int nullAttributes) { return _i(0xD7591B0065AFAA7A,vehicle, nullAttributes); } // 0xD7591B0065AFAA7A 0xEF2A6016 b323 - // p1 is always 0 in the scripts. + // p1 is always 0 in the scripts. // // p1 = check if vehicle is on fire inline BOOL IsVehicleDriveable(Vehicle vehicle, BOOL isOnFireCheck) { return _i(0x4C241E39B23DF959,vehicle, isOnFireCheck); } // 0x4C241E39B23DF959 0x41A7267A b323 - // + // inline Void SetVehicleHasBeenOwnedByPlayer(Vehicle vehicle, BOOL owned) { return _i(0x2B5F9D2AF1F1722D,vehicle, owned); } // 0x2B5F9D2AF1F1722D 0xB4D3DBFB b323 - // + // inline Void SetVehicleNeedsToBeHotwired(Vehicle vehicle, BOOL toggle) { return _i(0xFBA550EA44404EE6,vehicle, toggle); } // 0xFBA550EA44404EE6 0xD8260751 b323 - // + // inline Void SetVehicleBlipThrottleRandomly(Vehicle vehicle, BOOL p1) { return _i(0x9F3F689B814F2599,vehicle, p1); } // 0x9F3F689B814F2599 b323 - // + // inline Void SetPoliceFocusWillTrackVehicle(Vehicle vehicle, BOOL toggle) { return _i(0x4E74E62E0A97E901,vehicle, toggle); } // 0x4E74E62E0A97E901 0x5690F6C3 b323 - // Sounds the horn for the specified vehicle. + // 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. @@ -19326,11 +19326,11 @@ namespace VEHICLE // // Note: If a player is in the vehicle, it will only sound briefly. inline Void StartVehicleHorn(Vehicle vehicle, int duration, Hash mode, BOOL forever) { return _i(0x9C8C6504B5B63D2C,vehicle, duration, mode, forever); } // 0x9C8C6504B5B63D2C 0x0DF5ADB3 b323 - // If set to TRUE, it seems to suppress door noises and doesn't allow the horn to be continuous. + // If set to TRUE, it seems to suppress door noises and doesn't allow the horn to be continuous. inline Void SetVehicleInCarModShop(Vehicle vehicle, BOOL toggle) { return _i(0x9D44FCCE98450843,vehicle, toggle); } // 0x9D44FCCE98450843 0x968E5770 b323 - // if true, axles won't bend. + // if true, axles won't bend. inline Void SetVehicleHasStrongAxles(Vehicle vehicle, BOOL toggle) { return _i(0x92F0CF722BC4202F,vehicle, toggle); } // 0x92F0CF722BC4202F 0x0D1CBC65 b323 - // Returns model name of vehicle in all caps. Needs to be displayed through localizing text natives to get proper display name. + // 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. // ----------------------------------------------------------------------------------------------------------------------------------------- @@ -19340,13 +19340,13 @@ namespace VEHICLE // Using HUD::GetFilenameForAudioConversation, you can get the localized name. // // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json - inline String GetDisplayNameFromVehicleModel(Hash modelHash) { return _i(0xB215AAC32D25D019,modelHash); } // 0xB215AAC32D25D019 0xEC86DF39 b323 - // Will return a vehicle's manufacturer display label. + inline const char* GetDisplayNameFromVehicleModel(Hash modelHash) { return _i(0xB215AAC32D25D019,modelHash); } // 0xB215AAC32D25D019 0xEC86DF39 b323 + // 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 - inline String GetMakeNameFromVehicleModel(Hash modelHash) { return _i(0xF7AF4F159FF99F97,modelHash); } // 0xF7AF4F159FF99F97 b1868 - // The only example I can find of this function in the scripts, is this: + inline const char* GetMakeNameFromVehicleModel(Hash modelHash) { return _i(0xF7AF4F159FF99F97,modelHash); } // 0xF7AF4F159FF99F97 b1868 + // The only example I can find of this function in the scripts, is this: // // struct _s = VEHICLE::GetVehicleDeformationAtPos(rPtr((A_0) + 4), 1.21f, 6.15f, 0.3f); // @@ -19355,21 +19355,21 @@ namespace VEHICLE // // v_5/*{3}*/ = VEHICLE::GetVehicleDeformationAtPos(a_0._f1, 1.21, 6.15, 0.3); inline Vector3 GetVehicleDeformationAtPos(Vehicle vehicle, float offsetX, float offsetY, float offsetZ) { return _i(0x4EC6CFBC7B2E9536,vehicle, offsetX, offsetY, offsetZ); } // 0x4EC6CFBC7B2E9536 0xABF02075 b323 - // + // inline Void SetVehicleLivery(Vehicle vehicle, int livery) { return _i(0x60BF608F1B8CD1B6,vehicle, livery); } // 0x60BF608F1B8CD1B6 0x7AD87059 b323 - // -1 = no livery + // -1 = no livery inline int GetVehicleLivery(Vehicle vehicle) { return _i(0x2BB9230590DA5E8A,vehicle); } // 0x2BB9230590DA5E8A 0xEC82A51D b323 - // Returns -1 if the vehicle has no livery + // Returns -1 if the vehicle has no livery inline int GetVehicleLiveryCount(Vehicle vehicle) { return _i(0x87B63E25A529D526,vehicle); } // 0x87B63E25A529D526 0xFB0CA947 b323 - // Used to set the secondary livery (the roof on Tornado Custom being one such example.) + // Used to set the secondary livery (the roof on Tornado Custom being one such example.) // // Livery value is dependent on the amount of liveries present in the vehicle's texture dictionary, for Tornado Custom this would be 0-6. inline Void SetVehicleLivery2(Vehicle vehicle, int livery) { return _i(0xA6D3A8750DC73270,vehicle, livery); } // 0xA6D3A8750DC73270 b505 - // Returns index of the current vehicle's secondary livery. A getter for SetVehicleLivery2. + // Returns index of the current vehicle's secondary livery. A getter for SetVehicleLivery2. inline int GetVehicleLivery2(Vehicle vehicle) { return _i(0x60190048C0764A26,vehicle); } // 0x60190048C0764A26 b505 - // Returns a number of available secondary liveries, or -1 if vehicle has no secondary liveries available. + // Returns a number of available secondary liveries, or -1 if vehicle has no secondary liveries available. inline int GetVehicleLivery2Count(Vehicle vehicle) { return _i(0x5ECB40269053C0D4,vehicle); } // 0x5ECB40269053C0D4 b505 - // This will return false if the window is broken, or rolled down. + // This will return false if the window is broken, or rolled down. // Window indexes: // 0 = Front Right Window // 1 = Front Left Window @@ -19379,42 +19379,42 @@ namespace VEHICLE // // Those numbers go on for vehicles that have more than 4 doors with windows. inline BOOL IsVehicleWindowIntact(Vehicle vehicle, int windowIndex) { return _i(0x46E571A0E20D01F1,vehicle, windowIndex); } // 0x46E571A0E20D01F1 0xAC4EF23D b323 - // Appears to return false if any window is broken. + // Appears to return false if any window is broken. inline BOOL AreAllVehicleWindowsIntact(Vehicle vehicle) { return _i(0x11D862A3E977A9EF,vehicle); } // 0x11D862A3E977A9EF 0xBB619744 b323 - // Returns false if every seat is occupied. + // Returns false if every seat is occupied. inline BOOL AreAnyVehicleSeatsFree(Vehicle vehicle) { return _i(0x2D34FC3BC4ADB780,vehicle); } // 0x2D34FC3BC4ADB780 0x648E685A b323 - // + // inline Void ResetVehicleWheels(Vehicle vehicle, BOOL toggle) { return _i(0x21D2E5662C1F6FED,vehicle, toggle); } // 0x21D2E5662C1F6FED 0xD5FFE779 b323 - // + // inline BOOL IsHeliPartBroken(Vehicle vehicle, BOOL p1, BOOL p2, BOOL p3) { return _i(0xBC74B4BE25EB6C8A,vehicle, p1, p2, p3); } // 0xBC74B4BE25EB6C8A 0xF4E4C439 b323 - // Max 1000. + // Max 1000. // At 0 the main rotor will stall. inline float GetHeliMainRotorHealth(Vehicle vehicle) { return _i(0xE4CB7541F413D2C5,vehicle); } // 0xE4CB7541F413D2C5 0xF01E2AAB b323 - // Max 1000. + // Max 1000. // At 0 the tail rotor will stall. inline float GetHeliTailRotorHealth(Vehicle vehicle) { return _i(0xAE8CE82A4219AC8C,vehicle); } // 0xAE8CE82A4219AC8C 0xA41BC13D b323 - // Max 1000. + // Max 1000. // At -100 both helicopter rotors will stall. inline float GetHeliTailBoomHealth(Vehicle vehicle) { return _i(0xAC51915D27E4A5F7,vehicle); } // 0xAC51915D27E4A5F7 0x8A68388F b323 - // + // inline Void SetHeliMainRotorHealth(Vehicle vehicle, float health) { return _i(0x4056EA1105F5ABD7,vehicle, health); } // 0x4056EA1105F5ABD7 b463 - // + // inline Void SetHeliTailRotorHealth(Vehicle vehicle, float health) { return _i(0xFE205F38AAA58E5B,vehicle, health); } // 0xFE205F38AAA58E5B b463 - // + // inline BOOL SetHeliTailBoomCanBreakOff(Vehicle vehicle, BOOL toggle) { return _i(0x3EC8BF18AA453FE9,vehicle, toggle); } // 0x3EC8BF18AA453FE9 0x2916D69B b323 - // NOTE: Debugging functions are not present in the retail version of the game. - inline Void SetVehicleNameDebug(Vehicle vehicle, String name) { return _i(0xBFDF984E2C22B94F,vehicle, name); } // 0xBFDF984E2C22B94F 0xA712FF5C b323 - // Sets a vehicle to be strongly resistant to explosions. p0 is the vehicle; set p1 to false to toggle the effect on/off. + // NOTE: Debugging functions are not present in the retail version of the game. + inline Void SetVehicleNameDebug(Vehicle vehicle, const char* name) { return _i(0xBFDF984E2C22B94F,vehicle, name); } // 0xBFDF984E2C22B94F 0xA712FF5C b323 + // Sets a vehicle to be strongly resistant to explosions. p0 is the vehicle; set p1 to false to toggle the effect on/off. inline Void SetVehicleExplodesOnHighExplosionDamage(Vehicle vehicle, BOOL toggle) { return _i(0x71B0892EC081D60A,vehicle, toggle); } // 0x71B0892EC081D60A 0x38CC692B b323 - // + // inline Void SetVehicleExplodesOnExplosionDamageAtZeroBodyHealth(Vehicle vehicle, BOOL toggle) { return _i(0xD565F438137F0E10,vehicle, toggle); } // 0xD565F438137F0E10 b1103 - // + // inline Void SetAllowVehicleExplodesOnContact(Vehicle vehicle, BOOL toggle) { return _i(0x3441CAD2F2231923,vehicle, toggle); } // 0x3441CAD2F2231923 0xC306A9A3 b323 - // + // inline Void SetVehicleDisableTowing(Vehicle vehicle, BOOL toggle) { return _i(0x2B6747FAA9DB9D6B,vehicle, toggle); } // 0x2B6747FAA9DB9D6B 0x95A9ACCB b323 - // + // inline BOOL GetVehicleHasLandingGear(Vehicle vehicle) { return _i(0xE43701C36CAFF1A4,vehicle); } // 0xE43701C36CAFF1A4 b1180 - // Works for vehicles with a retractable landing gear + // Works for vehicles with a retractable landing gear // // Landing gear states: // @@ -19423,7 +19423,7 @@ namespace VEHICLE // 2: Opening // 3: Retracted inline Void ControlLandingGear(Vehicle vehicle, int state) { return _i(0xCFC8BE9A5E1FE575,vehicle, state); } // 0xCFC8BE9A5E1FE575 0x24F873FB b323 - // Landing gear states: + // Landing gear states: // // 0: Deployed // 1: Closing (Retracting) @@ -19433,74 +19433,74 @@ namespace VEHICLE // // Returns the current state of the vehicles landing gear. inline int GetLandingGearState(Vehicle vehicle) { return _i(0x9B0F3DCA3DB0F4CD,vehicle); } // 0x9B0F3DCA3DB0F4CD 0xA6F02670 b323 - // + // inline BOOL IsAnyVehicleNearPoint(float x, float y, float z, float radius) { return _i(0x61E1DD6125A3EEE6,x, y, z, radius); } // 0x61E1DD6125A3EEE6 0x2867A834 b323 - // + // inline Void RequestVehicleHighDetailModel(Vehicle vehicle) { return _i(0xA6E9FDCB2C76785E,vehicle); } // 0xA6E9FDCB2C76785E 0x9DA21956 b323 - // + // inline int GetVehicleModelNumDriveGears(Hash vehicleModel) { return _i(0x61F02E4E9A7A61EA,vehicleModel); } // 0x61F02E4E9A7A61EA b3095 - // + // inline int GetVehicleMaxDriveGearCount(Vehicle vehicle) { return _i(0x24910C3D66BA770D,vehicle); } // 0x24910C3D66BA770D b3095 - // + // inline int GetVehicleCurrentDriveGear(Vehicle vehicle) { return _i(0x56185A25D45A0DCD,vehicle); } // 0x56185A25D45A0DCD b3095 - // + // inline float GetVehicleCurrentRevRatio(Vehicle vehicle) { return _i(0xF9DDA40BC293A61E,vehicle); } // 0xF9DDA40BC293A61E b3095 - // + // inline Void RemoveVehicleHighDetailModel(Vehicle vehicle) { return _i(0x689CDE5F7C6787,vehicle); } // 0x689CDE5F7C6787 0x382BE070 b323 - // + // inline BOOL IsVehicleHighDetail(Vehicle vehicle) { return _i(0x1F25887F3C104278,vehicle); } // 0x1F25887F3C104278 0x55D41928 b323 - // RequestVehicleAsset(GetHashKey(cargobob3), 3); + // RequestVehicleAsset(GetHashKey(cargobob3), 3); // // vehicle found that have asset's: // cargobob3 // submersible // blazer inline Void RequestVehicleAsset(Hash vehicleHash, int vehicleAsset) { return _i(0x81A15811460FAB3A,vehicleHash, vehicleAsset); } // 0x81A15811460FAB3A 0x902B4F06 b323 - // + // inline BOOL HasVehicleAssetLoaded(int vehicleAsset) { return _i(0x1BBE0523B8DB9A21,vehicleAsset); } // 0x1BBE0523B8DB9A21 0x8DAAC3CB b323 - // + // inline Void RemoveVehicleAsset(int vehicleAsset) { return _i(0xACE699C71AB9DEB5,vehicleAsset); } // 0xACE699C71AB9DEB5 0x9620E9C6 b323 - // Sets how much the crane on the tow truck is raised, where 0.0 is fully lowered and 1.0 is fully raised. + // Sets how much the crane on the tow truck is raised, where 0.0 is fully lowered and 1.0 is fully raised. inline Void SetVehicleTowTruckArmPosition(Vehicle vehicle, float position) { return _i(0xFE54B92A344583CA,vehicle, position); } // 0xFE54B92A344583CA 0x88236E22 b323 - // + // inline Void SetAttachedVehicleToTowTruckArm(Vehicle towTruck, Vehicle vehicle) { return _i(0x48BD57D0DD17786A,towTruck, vehicle); } // 0x48BD57D0DD17786A b3095 - // HookOffset defines where the hook is attached. leave at 0 for default attachment. + // HookOffset defines where the hook is attached. leave at 0 for default attachment. inline Void AttachVehicleToTowTruck(Vehicle towTruck, Vehicle vehicle, BOOL rear, float hookOffsetX, float hookOffsetY, float hookOffsetZ) { return _i(0x29A16F8D621C4508,towTruck, vehicle, rear, hookOffsetX, hookOffsetY, hookOffsetZ); } // 0x29A16F8D621C4508 0x8151571A b323 - // First two parameters swapped. Scripts verify that towTruck is the first parameter, not the second. + // First two parameters swapped. Scripts verify that towTruck is the first parameter, not the second. inline Void DetachVehicleFromTowTruck(Vehicle towTruck, Vehicle vehicle) { return _i(0xC2DB6B6708350ED8,towTruck, vehicle); } // 0xC2DB6B6708350ED8 0xC666CF33 b323 - // + // inline BOOL DetachVehicleFromAnyTowTruck(Vehicle vehicle) { return _i(0xD0E9CE05A1E68CD8,vehicle); } // 0xD0E9CE05A1E68CD8 0x3BF93651 b323 - // Scripts verify that towTruck is the first parameter, not the second. + // Scripts verify that towTruck is the first parameter, not the second. inline BOOL IsVehicleAttachedToTowTruck(Vehicle towTruck, Vehicle vehicle) { return _i(0x146DF9EC4C4B9FD4,towTruck, vehicle); } // 0x146DF9EC4C4B9FD4 0x9699CFDC b323 - // + // inline Entity GetEntityAttachedToTowTruck(Vehicle towTruck) { return _i(0xEFEA18DCF10F8F75,towTruck); } // 0xEFEA18DCF10F8F75 0x11EC7844 b323 - // + // inline Entity SetVehicleAutomaticallyAttaches(Vehicle vehicle, BOOL p1, Any p2) { return _i(0x8BA6F76BC53A1493,vehicle, p1, p2); } // 0x8BA6F76BC53A1493 0x4273A8D3 b323 - // 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%). + // 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%). inline Void SetVehicleBulldozerArmPosition(Vehicle vehicle, float position, BOOL p2) { return _i(0xF8EBCCC96ADB9FB7,vehicle, position, p2); } // 0xF8EBCCC96ADB9FB7 0xED23C8A3 b323 - // + // inline Void SetVehicleTankTurretPosition(Vehicle vehicle, float position, BOOL p2) { return _i(0x56B94C6D7127DFBA,vehicle, position, p2); } // 0x56B94C6D7127DFBA 0xB1A52EF7 b323 - // + // inline Void SetVehicleTurretTarget(Vehicle vehicle, BOOL p1, float x, float y, float z, BOOL p5) { return _i(0x581730AB9380412,vehicle, p1, x, y, z, p5); } // 0x581730AB9380412 b1103 - // + // inline Void SetVehicleTankStationary(Vehicle vehicle, BOOL p1) { return _i(0x737E398138550FFF,vehicle, p1); } // 0x737E398138550FFF b944 - // + // inline Void SetVehicleTurretSpeedThisFrame(Vehicle vehicle, float speed) { return _i(0x1093408B4B9D1146,vehicle, speed); } // 0x1093408B4B9D1146 0xF30C566F b323 - // + // inline Void DisableVehicleTurretMovementThisFrame(Vehicle vehicle) { return _i(0x32CAEDF24A583345,vehicle); } // 0x32CAEDF24A583345 b463 - // + // inline Void SetVehicleFlightNozzlePosition(Vehicle vehicle, float angleRatio) { return _i(0x30D779DE7C4F6DD3,vehicle, angleRatio); } // 0x30D779DE7C4F6DD3 0xA7DF64D7 b323 - // + // inline Void SetVehicleFlightNozzlePositionImmediate(Vehicle vehicle, float angle) { return _i(0x9AA47FFF660CB932,vehicle, angle); } // 0x9AA47FFF660CB932 0xDD7936F5 b323 - // + // inline float GetVehicleFlightNozzlePosition(Vehicle plane) { return _i(0xDA62027C8BDB326E,plane); } // 0xDA62027C8BDB326E 0xAD40AD55 b1180 - // True stops vtols from switching modes. Doesn't stop the sound though. + // True stops vtols from switching modes. Doesn't stop the sound though. inline Void SetDisableVerticalFlightModeTransition(Vehicle vehicle, BOOL toggle) { return _i(0xCE2B43770B655F8F,vehicle, toggle); } // 0xCE2B43770B655F8F b1290 - // + // inline BOOL GenerateVehicleCreationPosFromPaths(Vector3* outVec, Any p1, Vector3* outVec1, Any p3, Any p4, Any p5, Any p6, Any p7, Any p8) { return _i(0xA4822F1CF23F4810,outVec, p1, outVec1, p3, p4, p5, p6, p7, p8); } // 0xA4822F1CF23F4810 0x34E02FCD b323 - // On accelerating, spins the driven wheels with the others braked, so you don't go anywhere. + // On accelerating, spins the driven wheels with the others braked, so you don't go anywhere. inline Void SetVehicleBurnout(Vehicle vehicle, BOOL toggle) { return _i(0xFB8794444A7D60FB,vehicle, toggle); } // 0xFB8794444A7D60FB 0x9B6EF0EA b323 - // Returns whether the specified vehicle is currently in a burnout. + // Returns whether the specified vehicle is currently in a burnout. // // // vb.net @@ -19508,124 +19508,124 @@ namespace VEHICLE // Return Native.Function.Call(Of Boolean)(Hash.IsVehicleInBurnout, vh) // End Function inline BOOL IsVehicleInBurnout(Vehicle vehicle) { return _i(0x1297A88E081430EB,vehicle); } // 0x1297A88E081430EB 0x6632BC12 b323 - // Reduces grip significantly so it's hard to go anywhere. + // Reduces grip significantly so it's hard to go anywhere. inline Void SetVehicleReduceGrip(Vehicle vehicle, BOOL toggle) { return _i(0x222FF6A823D122E2,vehicle, toggle); } // 0x222FF6A823D122E2 0x90D3A0D9 b323 - // val is 0-3 + // val is 0-3 // Often used in conjunction with: SetVehicleReduceGrip inline Void SetVehicleReduceGripLevel(Vehicle vehicle, int val) { return _i(0x6DEE944E1EE90CFB,vehicle, val); } // 0x6DEE944E1EE90CFB b1604 - // Sets the turn signal enabled for a vehicle. + // Sets the turn signal enabled for a vehicle. // Set turnSignal to 1 for left light, 0 for right light. inline Void SetVehicleIndicatorLights(Vehicle vehicle, int turnSignal, BOOL toggle) { return _i(0xB5D45264751B7DF0,vehicle, turnSignal, toggle); } // 0xB5D45264751B7DF0 0xA6073B5D b323 - // + // inline Void SetVehicleBrakeLights(Vehicle vehicle, BOOL toggle) { return _i(0x92B35082E0B42F66,vehicle, toggle); } // 0x92B35082E0B42F66 0x6D9BA11E b323 - // + // inline Void SetVehicleTailLights(Vehicle vehicle, BOOL toggle) { return _i(0x5815BD2763178DF4,vehicle, toggle); } // 0x5815BD2763178DF4 b2802 - // + // inline Void SetVehicleHandbrake(Vehicle vehicle, BOOL toggle) { return _i(0x684785568EF26A22,vehicle, toggle); } // 0x684785568EF26A22 0xBA729A25 b323 - // + // inline Void SetVehicleBrake(Vehicle vehicle, BOOL toggle) { return _i(0xE4E2FD323574965C,vehicle, toggle); } // 0xE4E2FD323574965C 0x5A36BC37 b757 - // + // inline Void InstantlyFillVehiclePopulation() { return _i(0x48ADC8A773564670); } // 0x48ADC8A773564670 0x37BC6ACB b323 - // + // inline BOOL HasInstantFillVehiclePopulationFinished() { return _i(0x91D6DD290888CBAB); } // 0x91D6DD290888CBAB 0x71D898EF b323 - // + // inline Void NetworkEnableEmptyCrowdingVehiclesRemoval(BOOL toggle) { return _i(0x51DB102F4A3BA5E0,toggle); } // 0x51DB102F4A3BA5E0 0x0B0523B0 b323 - // Default:1000||This sets a value which is used when NetworkEnableEmptyCrowdingVehiclesRemoval(true) is called each frame. + // Default:1000||This sets a value which is used when NetworkEnableEmptyCrowdingVehiclesRemoval(true) is called each frame. inline Void NetworkCapEmptyCrowdingVehiclesRemoval(int p0) { return _i(0xA4A9A4C40E615885,p0); } // 0xA4A9A4C40E615885 b1604 - // Gets the trailer of a vehicle and puts it into the trailer parameter. + // Gets the trailer of a vehicle and puts it into the trailer parameter. inline BOOL GetVehicleTrailerVehicle(Vehicle vehicle, Vehicle* trailer) { return _i(0x1CDD6BADC297830D,vehicle, trailer); } // 0x1CDD6BADC297830D 0xAE84D758 b323 - // + // inline Vehicle GetVehicleTrailerParentVehicle(Vehicle trailer) { return _i(0x80D9D32636369C92,trailer); } // 0x80D9D32636369C92 b2802 - // vehicle must be a plane + // vehicle must be a plane inline Void SetVehicleUsesLargeRearRamp(Vehicle vehicle, BOOL toggle) { return _i(0xCAC66558B944DA67,vehicle, toggle); } // 0xCAC66558B944DA67 0x0B200CE2 b323 - // + // inline Void SetVehicleRudderBroken(Vehicle vehicle, BOOL toggle) { return _i(0x9606148B6C71DEF,vehicle, toggle); } // 0x9606148B6C71DEF 0x3FAC3CD4 b323 - // + // inline Void SetConvertibleRoofLatchState(Vehicle vehicle, BOOL state) { return _i(0x1A78AD3D8240536F,vehicle, state); } // 0x1A78AD3D8240536F 0x0858678C b323 - // + // inline float GetVehicleEstimatedMaxSpeed(Vehicle vehicle) { return _i(0x53AF99BAA671CA47,vehicle); } // 0x53AF99BAA671CA47 0x7D1A0616 b323 - // + // inline float GetVehicleMaxBraking(Vehicle vehicle) { return _i(0xAD7E85FC227197C4,vehicle); } // 0xAD7E85FC227197C4 0x03B926F6 b323 - // + // inline float GetVehicleMaxTraction(Vehicle vehicle) { return _i(0xA132FB5370554DB0,vehicle); } // 0xA132FB5370554DB0 0x7E5A1587 b323 - // static - max acceleration + // static - max acceleration inline float GetVehicleAcceleration(Vehicle vehicle) { return _i(0x5DD35C8D074E57AE,vehicle); } // 0x5DD35C8D074E57AE 0x00478321 b323 - // Returns max speed (without mods) of the specified vehicle model in m/s. + // 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 inline float GetVehicleModelEstimatedMaxSpeed(Hash modelHash) { return _i(0xF417C2502FFFED43,modelHash); } // 0xF417C2502FFFED43 0x8F291C4A b323 - // Returns max braking of the specified vehicle model. + // 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 inline float GetVehicleModelMaxBraking(Hash modelHash) { return _i(0xDC53FD41B4ED944C,modelHash); } // 0xDC53FD41B4ED944C 0x7EF02883 b323 - // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json inline float GetVehicleModelMaxBrakingMaxMods(Hash modelHash) { return _i(0xBFBA3BA79CFF7EBF,modelHash); } // 0xBFBA3BA79CFF7EBF 0xF3A7293F b323 - // Returns max traction of the specified vehicle model. + // 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 inline float GetVehicleModelMaxTraction(Hash modelHash) { return _i(0x539DE94D44FDFD0D,modelHash); } // 0x539DE94D44FDFD0D 0x7F985597 b323 - // Returns the acceleration of the specified model. + // 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 inline float GetVehicleModelAcceleration(Hash modelHash) { return _i(0x8C044C5C84505B6A,modelHash); } // 0x8C044C5C84505B6A 0x29CB3537 b323 - // 9.8 * thrust if air vehicle, else 0.38 + drive force? + // 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 inline float GetVehicleModelAccelerationMaxMods(Hash modelHash) { return _i(0x53409B5163D5B846,modelHash); } // 0x53409B5163D5B846 0x37FBA7BC b323 - // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json inline float GetFlyingVehicleModelAgility(Hash modelHash) { return _i(0xC6AD107DDC9054CC,modelHash); } // 0xC6AD107DDC9054CC 0x95BB67EB b323 - // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json + // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json inline float GetBoatVehicleModelAgility(Hash modelHash) { return _i(0x5AA3F878A178C4FC,modelHash); } // 0x5AA3F878A178C4FC 0x87C5D271 b323 - // + // inline float GetVehicleClassEstimatedMaxSpeed(int vehicleClass) { return _i(0xC09F246ABEDD82,vehicleClass); } // 0xC09F246ABEDD82 0xCE67162C b323 - // + // inline float GetVehicleClassMaxTraction(int vehicleClass) { return _i(0xDBC86D85C5059461,vehicleClass); } // 0xDBC86D85C5059461 0x5B4FDC16 b323 - // + // inline float GetVehicleClassMaxAgility(int vehicleClass) { return _i(0x4F930AD022D6DE3B,vehicleClass); } // 0x4F930AD022D6DE3B 0x45F2BD83 b323 - // + // inline float GetVehicleClassMaxAcceleration(int vehicleClass) { return _i(0x2F83E7E45D9EA7AE,vehicleClass); } // 0x2F83E7E45D9EA7AE 0x3E220A9B b323 - // + // inline float GetVehicleClassMaxBraking(int vehicleClass) { return _i(0x4BF54C16EC8FEC03,vehicleClass); } // 0x4BF54C16EC8FEC03 0xD08CC1A5 b323 - // + // inline int AddRoadNodeSpeedZone(float x, float y, float z, float radius, float speed, BOOL p5) { return _i(0x2CE544C68FB812A0,x, y, z, radius, speed, p5); } // 0x2CE544C68FB812A0 0xD6685803 b323 - // + // inline BOOL RemoveRoadNodeSpeedZone(int speedzone) { return _i(0x1033371FC8E842A7,speedzone); } // 0x1033371FC8E842A7 0x0C0332A6 b323 - // + // inline Void OpenBombBayDoors(Vehicle vehicle) { return _i(0x87E7F24270732CB1,vehicle); } // 0x87E7F24270732CB1 0x6574041D b323 - // + // inline Void CloseBombBayDoors(Vehicle vehicle) { return _i(0x3556041742A0DC74,vehicle); } // 0x3556041742A0DC74 0xF8EC5751 b323 - // Returns true when the bomb bay doors of this plane are open. False if they're closed. + // Returns true when the bomb bay doors of this plane are open. False if they're closed. inline BOOL GetAreBombBayDoorsOpen(Vehicle aircraft) { return _i(0xD0917A423314BBA8,aircraft); } // 0xD0917A423314BBA8 b1180 - // Possibly: Returns whether the searchlight (found on police vehicles) is toggled on. + // Possibly: Returns whether the searchlight (found on police vehicles) is toggled on. // // @Author Nac inline BOOL IsVehicleSearchlightOn(Vehicle vehicle) { return _i(0xC0F97FCE55094987,vehicle); } // 0xC0F97FCE55094987 0xADAF3513 b323 - // Only works during nighttime. + // Only works during nighttime. inline Void SetVehicleSearchlight(Vehicle heli, BOOL toggle, BOOL canBeUsedByAI) { return _i(0x14E85C5EE7A4D542,heli, toggle, canBeUsedByAI); } // 0x14E85C5EE7A4D542 0xE2C0DD8A b323 - // + // inline BOOL DoesVehicleHaveSearchlight(Vehicle vehicle) { return _i(0x99015ED7DBEA5113,vehicle); } // 0x99015ED7DBEA5113 b2189 - // Check if a vehicle seat is accessible. If you park your vehicle near a wall and the ped cannot enter/exit this side, the return value toggles from true (not blocked) to false (blocked). + // Check if a vehicle seat is accessible. If you park your vehicle near a wall and the ped cannot enter/exit this side, the return value toggles from true (not blocked) to false (blocked). // // seatIndex = -1 being the driver seat. // Use GetVehicleMaxNumberOfPassengers(vehicle) - 1 for last seat index. // side = only relevant for bikes/motorcycles to check if the left (false)/right (true) side is blocked. // onEnter = check if you can enter (true) or exit (false) a vehicle. inline BOOL IsEntryPointForSeatClear(Ped ped, Vehicle vehicle, int seatIndex, BOOL side, BOOL onEnter) { return _i(0x639431E895B9AA57,ped, vehicle, seatIndex, side, onEnter); } // 0x639431E895B9AA57 0xAB0E79EB b323 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline Vector3 GetEntryPointPosition(Vehicle vehicle, int doorId) { return _i(0xC0572928C0ABFDA3,vehicle, doorId); } // 0xC0572928C0ABFDA3 b944 - // + // inline BOOL CanShuffleSeat(Vehicle vehicle, int seatIndex) { return _i(0x30785D90C956BF35,vehicle, seatIndex); } // 0x30785D90C956BF35 0xB3EB01ED b323 - // + // inline int GetNumModKits(Vehicle vehicle) { return _i(0x33F2E3FE70EAAE1D,vehicle); } // 0x33F2E3FE70EAAE1D 0xE4903AA0 b323 - // Set modKit to 0 if you plan to call SetVehicleMod. That's what the game does. Most body modifications through SetVehicleMod will not take effect until this is set to 0. + // Set modKit to 0 if you plan to call SetVehicleMod. That's what the game does. Most body modifications through SetVehicleMod 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 inline Void SetVehicleModKit(Vehicle vehicle, int modKit) { return _i(0x1F2AA07F00B3217A,vehicle, modKit); } // 0x1F2AA07F00B3217A 0xB8132158 b323 - // + // inline int GetVehicleModKit(Vehicle vehicle) { return _i(0x6325D1A044AE510D,vehicle); } // 0x6325D1A044AE510D 0x9FE60927 b323 - // + // inline int GetVehicleModKitType(Vehicle vehicle) { return _i(0xFC058F5121E54C32,vehicle); } // 0xFC058F5121E54C32 0xE5F76765 b323 - // Returns an int + // Returns an int // // Wheel Types: // 0: Sport @@ -19644,7 +19644,7 @@ namespace VEHICLE // // Tested in Los Santos Customs inline int GetVehicleWheelType(Vehicle vehicle) { return _i(0xB3ED1BFB4BE636DC,vehicle); } // 0xB3ED1BFB4BE636DC 0xDA58D7AE b323 - // 0: Sport + // 0: Sport // 1: Muscle // 2: Lowrider // 3: SUV @@ -19658,7 +19658,7 @@ namespace VEHICLE // 11: Street // 12: Track inline Void SetVehicleWheelType(Vehicle vehicle, int WheelType) { return _i(0x487EB21CC7295BA1,vehicle, WheelType); } // 0x487EB21CC7295BA1 0x64BDAAAD b323 - // paintType: + // paintType: // 0: Normal // 1: Metallic // 2: Pearl @@ -19667,7 +19667,7 @@ namespace VEHICLE // 5: Chrome // 6: Chameleon inline int GetNumModColors(int paintType, BOOL p1) { return _i(0xA551BE18C11A476D,paintType, p1); } // 0xA551BE18C11A476D 0x73722CD9 b323 - // paintType: + // paintType: // 0: Normal // 1: Metallic // 2: Pearl @@ -19682,7 +19682,7 @@ namespace VEHICLE // // Full list of vehicle colors and vehicle plates by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleColors.json inline Void SetVehicleModColor1(Vehicle vehicle, int paintType, int color, int pearlescentColor) { return _i(0x43FEB945EE7F85B8,vehicle, paintType, color, pearlescentColor); } // 0x43FEB945EE7F85B8 0xCBE9A54D b323 - // Changes the secondary paint type and color + // Changes the secondary paint type and color // paintType: // 0: Normal // 1: Metallic @@ -19696,21 +19696,21 @@ namespace VEHICLE // // Full list of vehicle colors and vehicle plates by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleColors.json inline Void SetVehicleModColor2(Vehicle vehicle, int paintType, int color) { return _i(0x816562BADFDEC83E,vehicle, paintType, color); } // 0x816562BADFDEC83E 0xC32613C2 b323 - // + // inline Void GetVehicleModColor1(Vehicle vehicle, int* paintType, int* color, int* pearlescentColor) { return _i(0xE8D65CA700C9A693,vehicle, paintType, color, pearlescentColor); } // 0xE8D65CA700C9A693 0xE625510A b323 - // + // inline Void GetVehicleModColor2(Vehicle vehicle, int* paintType, int* color) { return _i(0x81592BE4E3878728,vehicle, paintType, color); } // 0x81592BE4E3878728 0x9B76BB8E b323 - // Returns a string which is the codename of the vehicle's currently selected primary color + // Returns a string which is the codename of the vehicle's currently selected primary color // // p1 is always 0 - inline String GetVehicleModColor1Name(Vehicle vehicle, BOOL p1) { return _i(0xB45085B721EFD38C,vehicle, p1); } // 0xB45085B721EFD38C 0x9A0840FD b323 - // Returns a string which is the codename of the vehicle's currently selected secondary color - inline String GetVehicleModColor2Name(Vehicle vehicle) { return _i(0x4967A516ED23A5A1,vehicle); } // 0x4967A516ED23A5A1 0x9BDC0B49 b323 - // + inline const char* GetVehicleModColor1Name(Vehicle vehicle, BOOL p1) { return _i(0xB45085B721EFD38C,vehicle, p1); } // 0xB45085B721EFD38C 0x9A0840FD b323 + // Returns a string which is the codename of the vehicle's currently selected secondary color + inline const char* GetVehicleModColor2Name(Vehicle vehicle) { return _i(0x4967A516ED23A5A1,vehicle); } // 0x4967A516ED23A5A1 0x9BDC0B49 b323 + // inline BOOL HaveVehicleModsStreamedIn(Vehicle vehicle) { return _i(0x9A83F5F9963775EF,vehicle); } // 0x9A83F5F9963775EF 0x112D637A b323 - // Returns true for any mod part listed in GEN9_EXCLUSIVE_ASSETS_VEHICLES_FILE. + // Returns true for any mod part listed in GEN9_EXCLUSIVE_ASSETS_VEHICLES_FILE. inline BOOL IsVehicleModGen9Exclusive(Vehicle vehicle, int modType, int modIndex) { return _i(0x834EAC4A96E010,vehicle, modType, modIndex); } // 0x834EAC4A96E010 b2699 - // In b944, there are 50 (0 - 49) mod types. + // In b944, there are 50 (0 - 49) mod types. // // Sets the vehicle mod. // The vehicle must have a mod kit first. @@ -19749,17 +19749,17 @@ namespace VEHICLE // // ENUMS: https://pastebin.com/QzEAn02v inline Void SetVehicleMod(Vehicle vehicle, int modType, int modIndex, BOOL customTires) { return _i(0x6AF0636DDEDCB6DD,vehicle, modType, modIndex, customTires); } // 0x6AF0636DDEDCB6DD 0xB52E5ED5 b323 - // In b944, there are 50 (0 - 49) mod types. See SetVehicleMod for the list. + // In b944, there are 50 (0 - 49) mod types. See SetVehicleMod for the list. // // Returns -1 if the vehicle mod is stock inline int GetVehicleMod(Vehicle vehicle, int modType) { return _i(0x772960298DA26FDB,vehicle, modType); } // 0x772960298DA26FDB 0xDC520069 b323 - // Only used for wheels(ModType = 23/24) Returns true if the wheels are custom wheels + // Only used for wheels(ModType = 23/24) Returns true if the wheels are custom wheels inline int GetVehicleModVariation(Vehicle vehicle, int modType) { return _i(0xB3924ECD70E095DC,vehicle, modType); } // 0xB3924ECD70E095DC 0xC1B92003 b323 - // Returns how many possible mods a vehicle has for a given mod type + // Returns how many possible mods a vehicle has for a given mod type inline int GetNumVehicleMods(Vehicle vehicle, int modType) { return _i(0xE38E9162A2500646,vehicle, modType); } // 0xE38E9162A2500646 0x8A814FF9 b323 - // + // inline Void RemoveVehicleMod(Vehicle vehicle, int modType) { return _i(0x92D619E420858204,vehicle, modType); } // 0x92D619E420858204 0x9CC80A43 b323 - // Toggles: + // Toggles: // UNK17 - 17 // Turbo - 18 // UNK19 - 19 @@ -19767,23 +19767,23 @@ namespace VEHICLE // UNK21 - 21 // Xenon Headlights - 22 inline Void ToggleVehicleMod(Vehicle vehicle, int modType, BOOL toggle) { return _i(0x2A1F4F37F95BAD08,vehicle, modType, toggle); } // 0x2A1F4F37F95BAD08 0xD095F811 b323 - // + // inline BOOL IsToggleModOn(Vehicle vehicle, int modType) { return _i(0x84B233A8C8FC8AE7,vehicle, modType); } // 0x84B233A8C8FC8AE7 0xF0E1689F b323 - // Returns the text label of a mod type for a given vehicle + // Returns the text label of a mod type for a given vehicle // // Use GetFilenameForAudioConversation to get the part name in the game's language - inline String GetModTextLabel(Vehicle vehicle, int modType, int modValue) { return _i(0x8935624F8C5592CC,vehicle, modType, modValue); } // 0x8935624F8C5592CC 0x0BA39CA7 b323 - // Returns the name for the type of vehicle mod(Armour, engine etc) + inline const char* GetModTextLabel(Vehicle vehicle, int modType, int modValue) { return _i(0x8935624F8C5592CC,vehicle, modType, modValue); } // 0x8935624F8C5592CC 0x0BA39CA7 b323 + // Returns the name for the type of vehicle mod(Armour, engine etc) // - inline String GetModSlotName(Vehicle vehicle, int modType) { return _i(0x51F0FEB9F6AE98C0,vehicle, modType); } // 0x51F0FEB9F6AE98C0 0x5E113483 b323 - // Returns the text label of the vehicle's liveryIndex, as specified by the liveryNames section of the vehicle's modkit data in the carcols file. + inline const char* GetModSlotName(Vehicle vehicle, int modType) { return _i(0x51F0FEB9F6AE98C0,vehicle, modType); } // 0x51F0FEB9F6AE98C0 0x5E113483 b323 + // Returns the text label of the vehicle's liveryIndex, as specified by the liveryNames section of the vehicle's modkit data in the carcols file. // // example // // int count = VEHICLE::GetVehicleLivery_COUNT(veh); // for (int i = 0; i < count; i++) // { - // String LiveryName = VEHICLE::GetLiveryName(veh, i); + // const char* LiveryName = VEHICLE::GetLiveryName(veh, i); // } // // @@ -19800,18 +19800,18 @@ namespace VEHICLE // Use GetFilenameForAudioConversation, 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 - inline String GetLiveryName(Vehicle vehicle, int liveryIndex) { return _i(0xB4C7A93837C91A1F,vehicle, liveryIndex); } // 0xB4C7A93837C91A1F 0xED80B5BE b323 - // + inline const char* GetLiveryName(Vehicle vehicle, int liveryIndex) { return _i(0xB4C7A93837C91A1F,vehicle, liveryIndex); } // 0xB4C7A93837C91A1F 0xED80B5BE b323 + // inline int GetVehicleModModifierValue(Vehicle vehicle, int modType, int modIndex) { return _i(0x90A38E9838E0A8C1,vehicle, modType, modIndex); } // 0x90A38E9838E0A8C1 0x73AE5505 b323 - // Can be used for IsDlcVehicleMod and GetDlcVehicleModLockHash + // Can be used for IsDlcVehicleMod and GetDlcVehicleModLockHash inline Hash GetVehicleModIdentifierHash(Vehicle vehicle, int modType, int modIndex) { return _i(0x4593CF82AA179706,vehicle, modType, modIndex); } // 0x4593CF82AA179706 0x94850968 b323 - // + // inline Void PreloadVehicleMod(Vehicle vehicle, int modType, int modIndex) { return _i(0x758F49C24925568A,vehicle, modType, modIndex); } // 0x758F49C24925568A 0x6EA5F4A8 b323 - // + // inline BOOL HasPreloadModsFinished(Vehicle vehicle) { return _i(0x6F43E5175EB6D96,vehicle); } // 0x6F43E5175EB6D96 0xA8A0D246 b323 - // + // inline Void ReleasePreloadMods(Vehicle vehicle) { return _i(0x445D79F995508307,vehicle); } // 0x445D79F995508307 0xD442521F b323 - // Sets the tire smoke's color of this vehicle. + // 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. @@ -19820,9 +19820,9 @@ namespace VEHICLE // // Note: setting r,g,b to 0 will give the car the "Patriot" tire smoke. inline Void SetVehicleTyreSmokeColor(Vehicle vehicle, int r, int g, int b) { return _i(0xB5BA80F839791C0F,vehicle, r, g, b); } // 0xB5BA80F839791C0F 0x3EDEC0DB b323 - // + // inline Void GetVehicleTyreSmokeColor(Vehicle vehicle, int* r, int* g, int* b) { return _i(0xB635392A4938B3C3,vehicle, r, g, b); } // 0xB635392A4938B3C3 0x75280015 b323 - // enum WindowTints + // enum WindowTints // { // WINDOWTINT_NONE, // WINDOWTINT_PURE_BLACK, @@ -19834,51 +19834,51 @@ namespace VEHICLE // }; // Full list of all vehicle window tints by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleColors.json inline Void SetVehicleWindowTint(Vehicle vehicle, int tint) { return _i(0x57C51E6BAD752696,vehicle, tint); } // 0x57C51E6BAD752696 0x497C8787 b323 - // + // inline int GetVehicleWindowTint(Vehicle vehicle) { return _i(0xEE21293DAD47C95,vehicle); } // 0xEE21293DAD47C95 0x13D53892 b323 - // + // inline int GetNumVehicleWindowTints() { return _i(0x9D1224004B3A6707); } // 0x9D1224004B3A6707 0x625C7B66 b323 - // What's this for? Primary and Secondary RGB have their own natives and this one doesn't seem specific. + // What's this for? Primary and Secondary RGB have their own natives and this one doesn't seem specific. inline Void GetVehicleColor(Vehicle vehicle, int* r, int* g, int* b) { return _i(0xF3CC740D36221548,vehicle, r, g, b); } // 0xF3CC740D36221548 0x03BC8F1B b323 - // Some kind of flags. + // Some kind of flags. inline int GetVehicleColoursWhichCanBeSet(Vehicle vehicle) { return _i(0xEEBFC7A7EFDC35B4,vehicle); } // 0xEEBFC7A7EFDC35B4 0x749DEEA2 b323 - // iVar3 = get_vehicle_cause_of_destruction(uLocal_248[iVar2]); + // iVar3 = get_vehicle_cause_of_destruction(uLocal_248[iVar2]); // if (iVar3 == joaat("weapon_stickybomb")) // { // func_171(726); // iLocal_260 = 1; // } inline Hash GetVehicleCauseOfDestruction(Vehicle vehicle) { return _i(0xE495D1EF4C91FD20,vehicle); } // 0xE495D1EF4C91FD20 0x7F8C20DD b323 - // Used for helis. + // Used for helis. inline Void OverridePlaneDamageThrehsold(Vehicle vehicle, float health) { return _i(0x5EE5632F47AE9695,vehicle, health); } // 0x5EE5632F47AE9695 b463 - // + // inline Void SetTransmissionReducedGearRatio(Vehicle vehicle, BOOL toggle) { return _i(0x337EF33DA3DDB990,vehicle, toggle); } // 0x337EF33DA3DDB990 b3095 - // + // inline int GetVehicleDesiredDriveGear(Vehicle vehicle) { return _i(0xFD8CE53356B5D745,vehicle); } // 0xFD8CE53356B5D745 b3095 - // From the driver's perspective, is the left headlight broken. + // From the driver's perspective, is the left headlight broken. inline BOOL GetIsLeftVehicleHeadlightDamaged(Vehicle vehicle) { return _i(0x5EF77C9ADD3B11A3,vehicle); } // 0x5EF77C9ADD3B11A3 0xA0777943 b323 - // From the driver's perspective, is the right headlight broken. + // From the driver's perspective, is the right headlight broken. inline BOOL GetIsRightVehicleHeadlightDamaged(Vehicle vehicle) { return _i(0xA7ECB73355EB2F20,vehicle); } // 0xA7ECB73355EB2F20 0xF178390B b323 - // Returns true when both headlights are broken. This does not include extralights. + // Returns true when both headlights are broken. This does not include extralights. inline BOOL GetBothVehicleHeadlightsDamaged(Vehicle vehicle) { return _i(0xEC69ADF931AAE0C3,vehicle); } // 0xEC69ADF931AAE0C3 b505 - // + // inline Void ModifyVehicleTopSpeed(Vehicle vehicle, float value) { return _i(0x93A3996368C94158,vehicle, value); } // 0x93A3996368C94158 0xE943B09C b323 - // To reset the max speed, set the `speed` value to `0.0` or lower. + // To reset the max speed, set the `speed` value to `0.0` or lower. inline Void SetVehicleMaxSpeed(Vehicle vehicle, float speed) { return _i(0xBAA045B4E42F3C06,vehicle, speed); } // 0xBAA045B4E42F3C06 b1103 - // Has something to do with trains. Always precedes SetMissionTrainAsNoLongerNeeded. + // Has something to do with trains. Always precedes SetMissionTrainAsNoLongerNeeded. // 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. inline Void SetVehicleStaysFrozenWhenCleanedUp(Vehicle vehicle, BOOL toggle) { return _i(0x1CF38D529D7441D9,vehicle, toggle); } // 0x1CF38D529D7441D9 0xDF594D8D b323 - // + // inline Void SetVehicleActAsIfHighSpeedForFragSmashing(Vehicle vehicle, BOOL p1) { return _i(0x1F9FB66F3A3842D2,vehicle, p1); } // 0x1F9FB66F3A3842D2 0x4D840FC4 b323 - // Sets some bit and float of vehicle. float is >= 0 + // Sets some bit and float of vehicle. float is >= 0 inline Void SetPedsCanFallOffThisVehicleFromLargeFallDamage(Vehicle vehicle, BOOL toggle, float p2) { return _i(0x59C3757B3B7408E8,vehicle, toggle, p2); } // 0x59C3757B3B7408E8 b1493 - // + // inline int AddVehicleCombatAngledAvoidanceArea(float p0, float p1, float p2, float p3, float p4, float p5, float p6) { return _i(0x54B0F614960F4A5F,p0, p1, p2, p3, p4, p5, p6); } // 0x54B0F614960F4A5F 0x5AB26C2B b323 - // + // inline Void RemoveVehicleCombatAvoidanceArea(int p0) { return _i(0xE30524E1871F481D,p0); } // 0xE30524E1871F481D 0xEF05F807 b323 - // + // inline BOOL IsAnyPedRappellingFromHeli(Vehicle vehicle) { return _i(0x291E373D483E7EE7,vehicle); } // 0x291E373D483E7EE7 0xD656E7E5 b323 - // <1.0 - Decreased torque + // <1.0 - Decreased torque // =1.0 - Default torque // >1.0 - Increased torque // @@ -19888,27 +19888,27 @@ namespace VEHICLE // // This needs to be called every frame to take effect. inline Void SetVehicleCheatPowerIncrease(Vehicle vehicle, float value) { return _i(0xB59E4BD37AE292DB,vehicle, value); } // 0xB59E4BD37AE292DB 0x642DA5AA b323 - // + // inline Void SetVehicleInfluencesWantedLevel(Any p0, BOOL p1) { return _i(0xAD9E8F87FF7C16F,p0, p1); } // 0xAD9E8F87FF7C16F 0x04F5546C b323 - // Sets the wanted state of this vehicle. + // Sets the wanted state of this vehicle. inline Void SetVehicleIsWanted(Vehicle vehicle, BOOL state) { return _i(0xF7EC25A3EBEEC726,vehicle, state); } // 0xF7EC25A3EBEEC726 0xDAA388E8 b323 - // Sets the boat boom position for the `TR3` trailer. + // 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 GetBoatBoomPositionRatio inline Void SwingBoatBoomToRatio(Vehicle vehicle, float ratio) { return _i(0xF488C566413B4232,vehicle, ratio); } // 0xF488C566413B4232 0xA25CCB8C b323 - // Same call as AllowBoatBoomToAnimate + // Same call as AllowBoatBoomToAnimate inline Void SwingBoatBoomFreely(Vehicle vehicle, BOOL toggle) { return _i(0xC1F981A6F74F0C23,vehicle, toggle); } // 0xC1F981A6F74F0C23 0x00966934 b323 - // + // inline Void AllowBoatBoomToAnimate(Vehicle vehicle, BOOL toggle) { return _i(0xF3B4D4E43177236,vehicle, toggle); } // 0xF3B4D4E43177236 0x113DF5FD b323 - // + // inline float GetBoatBoomPositionRatio(Vehicle vehicle) { return _i(0x6636C535F6CC2725,vehicle); } // 0x6636C535F6CC2725 0x7C8D6464 b323 - // + // inline Void DisablePlaneAileron(Vehicle vehicle, BOOL p1, BOOL p2) { return _i(0x23428FC53C60919C,vehicle, p1, p2); } // 0x23428FC53C60919C 0x7E84C45C b323 - // Returns true when in a vehicle, false whilst entering/exiting. + // Returns true when in a vehicle, false whilst entering/exiting. inline BOOL GetIsVehicleEngineRunning(Vehicle vehicle) { return _i(0xAE31E7DF9B5B132E,vehicle); } // 0xAE31E7DF9B5B132E 0x7DC6D022 b323 - // + // inline Void SetVehicleUseAlternateHandling(Vehicle vehicle, BOOL toggle) { return _i(0x1D97D1E3A70A649F,vehicle, toggle); } // 0x1D97D1E3A70A649F 0xA03E42DF b323 - // Only works on bikes, both X and Y work in the -1 - 1 range. + // 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) @@ -19916,133 +19916,133 @@ namespace VEHICLE // Example with X -1/Y 1 // http://i.imgur.com/TgIuAPJ.jpg inline Void SetBikeOnStand(Vehicle vehicle, float x, float y) { return _i(0x9CFA4896C3A53CBB,vehicle, x, y); } // 0x9CFA4896C3A53CBB 0x15D40761 b323 - // + // inline Void SetVehicleNotStealableAmbiently(Vehicle vehicle, BOOL p1) { return _i(0xAB04325045427AAE,vehicle, p1); } // 0xAB04325045427AAE 0x1984F88D b323 - // + // inline Void LockDoorsWhenNoLongerNeeded(Vehicle vehicle) { return _i(0xCFD778E7904C255E,vehicle); } // 0xCFD778E7904C255E 0x3FBE904F b323 - // + // inline Void SetLastDrivenVehicle(Vehicle vehicle) { return _i(0xACFB2463CC22BED2,vehicle); } // 0xACFB2463CC22BED2 0xD1B71A25 b323 - // + // inline Vehicle GetLastDrivenVehicle() { return _i(0xB2D06FAEDE65B577); } // 0xB2D06FAEDE65B577 0xFEB0C0C8 b323 - // + // inline Void ClearLastDrivenVehicle() { return _i(0xE01903C47C7AC89E); } // 0xE01903C47C7AC89E 0x07186AD9 b323 - // + // inline Void SetVehicleHasBeenDrivenFlag(Vehicle vehicle, BOOL toggle) { return _i(0x2398B627547189C,vehicle, toggle); } // 0x2398B627547189C 0x08CD58F9 b323 - // + // inline Void SetTaskVehicleGotoPlaneMinHeightAboveTerrain(Vehicle plane, int height) { return _i(0xB893215D8D4C015B,plane, height); } // 0xB893215D8D4C015B 0x8C4B63E2 b323 - // + // inline Void SetVehicleLodMultiplier(Vehicle vehicle, float multiplier) { return _i(0x93AE6A61BE015BF1,vehicle, multiplier); } // 0x93AE6A61BE015BF1 0x569E5AE3 b323 - // + // inline Void SetVehicleCanSaveInGarage(Vehicle vehicle, BOOL toggle) { return _i(0x428BACCDF5E26EAD,vehicle, toggle); } // 0x428BACCDF5E26EAD 0x1604C2F5 b323 - // Also includes some "turnOffBones" when vehicle mods are installed. + // Also includes some "turnOffBones" when vehicle mods are installed. inline int GetVehicleNumOfBrokenOffParts(Vehicle vehicle) { return _i(0x42A4BEB35D372407,vehicle); } // 0x42A4BEB35D372407 0x8CDB0C09 b323 - // + // inline int GetVehicleNumOfBrokenLoosenParts(Vehicle vehicle) { return _i(0x2C8CBFE1EA5FC631,vehicle); } // 0x2C8CBFE1EA5FC631 0xABC99E21 b323 - // + // inline Void SetForceVehicleEngineDamageByBullet(Any p0, BOOL p1) { return _i(0x4D9D109F63FEE1D4,p0, p1); } // 0x4D9D109F63FEE1D4 0x900C878C b323 - // Allows creation of CEventShockingPlaneFlyby, CEventShockingHelicopterOverhead, and other(?) Shocking events + // Allows creation of CEventShockingPlaneFlyby, CEventShockingHelicopterOverhead, and other(?) Shocking events inline Void SetVehicleGeneratesEngineShockingEvents(Vehicle vehicle, BOOL toggle) { return _i(0x279D50DE5652D935,vehicle, toggle); } // 0x279D50DE5652D935 0xB3200F72 b323 - // Copies sourceVehicle's damage (broken bumpers, broken lights, etc.) to targetVehicle. + // Copies sourceVehicle's damage (broken bumpers, broken lights, etc.) to targetVehicle. inline Void CopyVehicleDamages(Vehicle sourceVehicle, Vehicle targetVehicle) { return _i(0xE44A982368A4AF23,sourceVehicle, targetVehicle); } // 0xE44A982368A4AF23 0xBAE491C7 b323 - // + // inline Void DisableVehicleExplosionBreakOffParts() { return _i(0xF25E02CB9C5818F8); } // 0xF25E02CB9C5818F8 0xF0E59BC1 b323 - // + // inline Void SetLightsCutoffDistanceTweak(float distance) { return _i(0xBC3CCA5844452B06,distance); } // 0xBC3CCA5844452B06 0x929801C6 b323 - // 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: + // 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::SetCurrentPedVehicleWeapon(pilot,MISC::GetHashKey("VEHICLE_WEAPON_PLANE_ROCKET")); VEHICLE::SetVehicleShootAtTarget(pilot, target, targPos.x, targPos.y, targPos.z); inline Void SetVehicleShootAtTarget(Ped driver, Entity entity, float xTarget, float yTarget, float zTarget) { return _i(0x74CD9A9327A282EA,driver, entity, xTarget, yTarget, zTarget); } // 0x74CD9A9327A282EA 0x2343FFDF b323 - // + // inline BOOL GetVehicleLockOnTarget(Vehicle vehicle, Entity* entity) { return _i(0x8F5EBAB1F260CFCE,vehicle, entity); } // 0x8F5EBAB1F260CFCE 0x4A557117 b323 - // + // inline Void SetForceHdVehicle(Vehicle vehicle, BOOL toggle) { return _i(0x97CE68CB032583F0,vehicle, toggle); } // 0x97CE68CB032583F0 0xE0FC6A32 b323 - // + // inline Void SetVehicleCustomPathNodeStreamingRadius(Vehicle vehicle, float p1) { return _i(0x182F266C2D9E2BEB,vehicle, p1); } // 0x182F266C2D9E2BEB 0x7D0DE7EA b323 - // + // inline int GetVehiclePlateType(Vehicle vehicle) { return _i(0x9CCC9525BF2408E0,vehicle); } // 0x9CCC9525BF2408E0 0x65CA9286 b323 - // in script hook .net + // in script hook .net // // Vehicle v = ...; // Function.Call(Hash.TrackVehicleVisibility, v.Handle); inline Void TrackVehicleVisibility(Vehicle vehicle) { return _i(0x64473AEFDCF47DCA,vehicle); } // 0x64473AEFDCF47DCA 0x78122DC1 b323 - // must be called after TrackVehicleVisibility + // must be called after TrackVehicleVisibility // // it's not instant so probabilly must pass an 'update' to see correct result. inline BOOL IsVehicleVisible(Vehicle vehicle) { return _i(0xAA0A52D24FB98293,vehicle); } // 0xAA0A52D24FB98293 0x7E0D6056 b323 - // + // inline Void SetVehicleGravity(Vehicle vehicle, BOOL toggle) { return _i(0x89F149B6131E57DA,vehicle, toggle); } // 0x89F149B6131E57DA 0x07B2A6DC b323 - // Enable/Disables global slipstream physics + // Enable/Disables global slipstream physics inline Void SetEnableVehicleSlipstreaming(BOOL toggle) { return _i(0xE6C0C80B8C867537,toggle); } // 0xE6C0C80B8C867537 0xD2B8ACBD b323 - // + // inline Void SetVehicleSlipstreamingShouldTimeOut(BOOL toggle) { return _i(0xF051D9BFB6BA39C0,toggle); } // 0xF051D9BFB6BA39C0 b877 - // Returns a float value between 0.0 and 3.0 related to its slipstream draft (boost/speedup). + // Returns a float value between 0.0 and 3.0 related to its slipstream draft (boost/speedup). inline float GetVehicleCurrentTimeInSlipStream(Vehicle vehicle) { return _i(0x36492C2F0D134C56,vehicle); } // 0x36492C2F0D134C56 0xA4A75FCF b323 - // Returns true if the vehicle is being slipstreamed by another vehicle + // Returns true if the vehicle is being slipstreamed by another vehicle inline BOOL IsVehicleProducingSlipStream(Vehicle vehicle) { return _i(0x48C633E94A8142A7,vehicle); } // 0x48C633E94A8142A7 b877 - // + // inline Void SetVehicleInactiveDuringPlayback(Vehicle vehicle, BOOL toggle) { return _i(0x6582AFF74894C75,vehicle, toggle); } // 0x6582AFF74894C75 0x50F89338 b323 - // + // inline Void SetVehicleActiveDuringPlayback(Vehicle vehicle, BOOL toggle) { return _i(0xDFFCEF48E511DB48,vehicle, toggle); } // 0xDFFCEF48E511DB48 0xEB7D7C27 b323 - // Returns false if the vehicle has the FLAG_NO_RESPRAY flag set. + // Returns false if the vehicle has the FLAG_NO_RESPRAY flag set. inline BOOL IsVehicleSprayable(Vehicle vehicle) { return _i(0x8D474C8FAEFF6CDE,vehicle); } // 0x8D474C8FAEFF6CDE 0x5EB00A6A b323 - // + // inline Void SetVehicleEngineCanDegrade(Vehicle vehicle, BOOL toggle) { return _i(0x983765856F2564F9,vehicle, toggle); } // 0x983765856F2564F9 0x081DAC12 b323 - // Adds some kind of shadow to the vehicle. + // Adds some kind of shadow to the vehicle. // // p1 and p2 use values from 0-255 and both make the shadow darker the lower the value is. -1 disables the effect. inline Void DisableVehcileDynamicAmbientScales(Vehicle vehicle, int p1, int p2) { return _i(0xF0E4BA16D1DB546C,vehicle, p1, p2); } // 0xF0E4BA16D1DB546C 0x5BD8D82D b323 - // Remove the weird shadow applied by DisableVehcileDynamicAmbientScales. + // Remove the weird shadow applied by DisableVehcileDynamicAmbientScales. inline Void EnableVehicleDynamicAmbientScales(Vehicle vehicle) { return _i(0xF87D9F2301F7D206,vehicle); } // 0xF87D9F2301F7D206 0x450AD03A b323 - // + // inline BOOL IsPlaneLandingGearIntact(Vehicle plane) { return _i(0x4198AB0022B15F87,plane); } // 0x4198AB0022B15F87 0xBD085DCA b323 - // + // inline BOOL ArePlanePropellersIntact(Vehicle plane) { return _i(0x755D6D5267CBBD7E,plane); } // 0x755D6D5267CBBD7E 0xABBDD5C6 b323 - // + // inline BOOL SetPlanePropellerHealth(Vehicle plane, float health) { return _i(0x4C815EB175086F84,plane, health); } // 0x4C815EB175086F84 b1103 - // + // inline Void SetVehicleCanDeformWheels(Vehicle vehicle, BOOL toggle) { return _i(0xCDDA42F9E360CA6,vehicle, toggle); } // 0xCDDA42F9E360CA6 0x9B581DE7 b323 - // Only returns true if the vehicle was marked as stolen with SetVehicleIsStolen. + // Only returns true if the vehicle was marked as stolen with SetVehicleIsStolen. inline BOOL IsVehicleStolen(Vehicle vehicle) { return _i(0x4AF9BD80EEBEB453,vehicle); } // 0x4AF9BD80EEBEB453 0x20B61DDE b323 - // + // inline Void SetVehicleIsStolen(Vehicle vehicle, BOOL isStolen) { return _i(0x67B2C79AA7FF5738,vehicle, isStolen); } // 0x67B2C79AA7FF5738 0x70912E42 b323 - // This native sets the turbulence multiplier. It only works for planes. + // 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. inline Void SetPlaneTurbulenceMultiplier(Vehicle vehicle, float multiplier) { return _i(0xAD2D28A1AFDFF131,vehicle, multiplier); } // 0xAD2D28A1AFDFF131 0xED159AE6 b323 - // + // inline BOOL AreWingsOfPlaneIntact(Vehicle plane) { return _i(0x5991A01434CE9677,plane); } // 0x5991A01434CE9677 0xAF8CB3DF b323 - // This native doesn't seem to do anything, might be a debug-only native. + // This native doesn't seem to do anything, might be a debug-only native. // // Confirmed, it is a debug native. inline Void AllowAmbientVehiclesToAvoidAdverseConditions(Vehicle vehicle) { return _i(0xB264C4D2F2B0A78B,vehicle); } // 0xB264C4D2F2B0A78B 0x45F72495 b323 - // + // inline Void DetachVehicleFromCargobob(Vehicle vehicle, Vehicle cargobob) { return _i(0xE21D3DF1051399D,vehicle, cargobob); } // 0xE21D3DF1051399D 0x83D3D331 b323 - // + // inline BOOL DetachVehicleFromAnyCargobob(Vehicle vehicle) { return _i(0xADF7BE450512C12F,vehicle); } // 0xADF7BE450512C12F 0x50E0EABE b323 - // + // inline BOOL DetachEntityFromCargobob(Vehicle cargobob, Entity entity) { return _i(0xAF03011701811146,cargobob, entity); } // 0xAF03011701811146 b678 - // + // inline BOOL IsVehicleAttachedToCargobob(Vehicle cargobob, Vehicle vehicleAttached) { return _i(0xD40148F22E81A1D9,cargobob, vehicleAttached); } // 0xD40148F22E81A1D9 0x5DEEC76C b323 - // Returns attached vehicle (Vehicle in parameter must be cargobob) + // Returns attached vehicle (Vehicle in parameter must be cargobob) inline Vehicle GetVehicleAttachedToCargobob(Vehicle cargobob) { return _i(0x873B82D42AC2B9E5,cargobob); } // 0x873B82D42AC2B9E5 0x301A1D24 b323 - // + // inline Entity GetEntityAttachedToCargobob(Any p0) { return _i(0x99093F60746708CA,p0); } // 0x99093F60746708CA b1103 - // + // inline Void AttachVehicleToCargobob(Vehicle cargobob, Vehicle vehicle, int p2, float x, float y, float z) { return _i(0x4127F1D84E347769,cargobob, vehicle, p2, x, y, z); } // 0x4127F1D84E347769 0x607DC9D5 b323 - // + // inline Void AttachEntityToCargobob(Any p0, Any p1, Any p2, Any p3, Any p4, Any p5) { return _i(0xA1DD82F3CCF9A01E,p0, p1, p2, p3, p4, p5); } // 0xA1DD82F3CCF9A01E 0xAEB29F98 b944 - // Stops cargobob from being able to detach the attached vehicle. + // Stops cargobob from being able to detach the attached vehicle. inline Void SetCargobobForceDontDetachVehicle(Vehicle cargobob, BOOL toggle) { return _i(0x571FEB383F629926,cargobob, toggle); } // 0x571FEB383F629926 0x49949FDA b323 - // + // inline Void SetCargobobExcludeFromPickupEntity(Any p0, Any p1) { return _i(0x1F34B0626C594380,p0, p1); } // 0x1F34B0626C594380 b757 - // + // inline BOOL CanCargobobPickUpEntity(Any p0, Any p1) { return _i(0x2C1D8B3B19E517CC,p0, p1); } // 0x2C1D8B3B19E517CC b757 - // Gets the position of the cargobob hook, in world coords. + // Gets the position of the cargobob hook, in world coords. inline Vector3 GetAttachedPickUpHookPosition(Vehicle cargobob) { return _i(0xCBDB9B923CACC92D,cargobob); } // 0xCBDB9B923CACC92D 0xE6633DCF b323 - // Returns true only when the hook is active, will return false if the magnet is active + // Returns true only when the hook is active, will return false if the magnet is active inline BOOL DoesCargobobHavePickUpRope(Vehicle cargobob) { return _i(0x1821D91AD4B56108,cargobob); } // 0x1821D91AD4B56108 0xAF769B81 b323 - // Drops the Hook/Magnet on a cargobob + // Drops the Hook/Magnet on a cargobob // // state // enum eCargobobHook @@ -20051,53 +20051,53 @@ namespace VEHICLE // CARGOBOB_MAGNET = 1, // }; inline Void CreatePickUpRopeForCargobob(Vehicle cargobob, int state) { return _i(0x7BEB0C7A235F6F3B,cargobob, state); } // 0x7BEB0C7A235F6F3B 0x4D3C9A99 b323 - // Retracts the hook on the cargobob. + // Retracts the hook on the cargobob. // // Note: after you retract it the natives for dropping the hook no longer work inline Void RemovePickUpRopeForCargobob(Vehicle cargobob) { return _i(0x9768CF648F54C804,cargobob); } // 0x9768CF648F54C804 0xA8211EE9 b323 - // min: 1.9f, max: 100.0f + // min: 1.9f, max: 100.0f inline Void SetPickupRopeLengthForCargobob(Vehicle cargobob, float length1, float length2, BOOL p3) { return _i(0x877C1EAEAC531023,cargobob, length1, length2, p3); } // 0x877C1EAEAC531023 0x3A8AB081 b323 - // + // inline Void SetPickupRopeLengthWithoutCreatingRopeForCargobob(Any p0, Any p1, Any p2) { return _i(0xC0ED6438E6D39BA8,p0, p1, p2); } // 0xC0ED6438E6D39BA8 b944 - // + // inline Void SetCargobobPickupRopeDampingMultiplier(Any p0, Any p1) { return _i(0xCF1182F682F65307,p0, p1); } // 0xCF1182F682F65307 0x7D927E1B b323 - // + // inline Void SetCargobobPickupRopeType(Any p0, Any p1) { return _i(0xD5F65A8F4EBDAB5,p0, p1); } // 0xD5F65A8F4EBDAB5 0xF258ADA1 b1103 - // Returns true only when the magnet is active, will return false if the hook is active + // Returns true only when the magnet is active, will return false if the hook is active inline BOOL DoesCargobobHavePickupMagnet(Vehicle cargobob) { return _i(0x6E08BF5B3722BAC9,cargobob); } // 0x6E08BF5B3722BAC9 0x4778CA0A b323 - // Won't attract or magnetize to any helicopters or planes of course, but that's common sense. + // Won't attract or magnetize to any helicopters or planes of course, but that's common sense. inline Void SetCargobobPickupMagnetActive(Vehicle cargobob, BOOL isActive) { return _i(0x9A665550F8DA349B,cargobob, isActive); } // 0x9A665550F8DA349B 0xF57066DA b323 - // + // inline Void SetCargobobPickupMagnetStrength(Vehicle cargobob, float strength) { return _i(0xBCBFCD9D1DAC19E2,cargobob, strength); } // 0xBCBFCD9D1DAC19E2 0xCC3CF97D b323 - // + // inline Void SetCargobobPickupMagnetFalloff(Vehicle cargobob, float p1) { return _i(0xA17BAD153B51547E,cargobob, p1); } // 0xA17BAD153B51547E b323 - // + // inline Void SetCargobobPickupMagnetReducedStrength(Vehicle cargobob, float p1) { return _i(0x66979ACF5102FD2F,cargobob, p1); } // 0x66979ACF5102FD2F b323 - // + // inline Void SetCargobobPickupMagnetReducedFalloff(Vehicle cargobob, float p1) { return _i(0x6D8EAC07506291FB,cargobob, p1); } // 0x6D8EAC07506291FB b323 - // + // inline Void SetCargobobPickupMagnetPullStrength(Vehicle cargobob, float p1) { return _i(0xED8286F71A819BAA,cargobob, p1); } // 0xED8286F71A819BAA 0x8191BC1A b323 - // + // inline Void SetCargobobPickupMagnetPullRopeLength(Vehicle vehicle, float p1) { return _i(0x685D5561680D088B,vehicle, p1); } // 0x685D5561680D088B b323 - // + // inline Void SetCargobobPickupMagnetSetTargetedMode(Vehicle vehicle, Vehicle cargobob) { return _i(0xE301BD63E9E13CF0,vehicle, cargobob); } // 0xE301BD63E9E13CF0 b323 - // + // inline Void SetCargobobPickupMagnetSetAmbientMode(Vehicle vehicle, BOOL p1, BOOL p2) { return _i(0x9BDDC73CC6A115D4,vehicle, p1, p2); } // 0x9BDDC73CC6A115D4 0x50CDB295 b323 - // + // inline Void SetCargobobPickupMagnetEnsurePickupEntityUpright(Vehicle vehicle, BOOL p1) { return _i(0x56EB5E94318D3FB6,vehicle, p1); } // 0x56EB5E94318D3FB6 0x30F43FE3 b323 - // + // inline BOOL DoesVehicleHaveWeapons(Vehicle vehicle) { return _i(0x25ECB9F8017D98E0,vehicle); } // 0x25ECB9F8017D98E0 0xB2E1E1FB b323 - // + // inline Void SetVehicleWillTellOthersToHurry(Vehicle vehicle, BOOL p1) { return _i(0x2C4A1590ABF43E8B,vehicle, p1); } // 0x2C4A1590ABF43E8B 0x2EC19A8B b323 - // Full list of weapons by DurtyFree (Search for VEHICLE_*): https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree (Search for VEHICLE_*): https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void DisableVehicleWeapon(BOOL disabled, Hash weaponHash, Vehicle vehicle, Ped owner) { return _i(0xF4FC6A6F67D8D856,disabled, weaponHash, vehicle, owner); } // 0xF4FC6A6F67D8D856 0xA688B7D1 b323 - // Full list of weapons by DurtyFree (Search for VEHICLE_*): https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree (Search for VEHICLE_*): https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL IsVehicleWeaponDisabled(Hash weaponHash, Vehicle vehicle, Ped owner) { return _i(0x563B65A643ED072E,weaponHash, vehicle, owner); } // 0x563B65A643ED072E b1011 - // + // inline Void SetVehicleUsedForPilotSchool(Vehicle vehicle, BOOL toggle) { return _i(0xE05DD0E9707003A3,vehicle, toggle); } // 0xE05DD0E9707003A3 0x123E5B90 b323 - // + // inline Void SetVehicleActiveForPedNavigation(Vehicle vehicle, BOOL toggle) { return _i(0x21115BCD6E44656A,vehicle, toggle); } // 0x21115BCD6E44656A 0xEBC225C1 b323 - // Returns an int + // Returns an int // // Vehicle Classes: // 0: Compacts @@ -20126,86 +20126,86 @@ namespace VEHICLE // char buffer[128]; // std::sprintf(buffer, "VEH_CLASS_%i", VEHICLE::GetVehicleClass(vehicle)); // - // String className = HUD::GetFilenameForAudioConversation(buffer); + // const char* className = HUD::GetFilenameForAudioConversation(buffer); inline int GetVehicleClass(Vehicle vehicle) { return _i(0x29439776AAA00A62,vehicle); } // 0x29439776AAA00A62 0xC025338E b323 - // char buffer[128]; + // char buffer[128]; // std::sprintf(buffer, "VEH_CLASS_%i", VEHICLE::GetVehicleClass_FROM_NAME (hash)); // - // String className = HUD::GetFilenameForAudioConversation(buffer); + // const char* className = HUD::GetFilenameForAudioConversation(buffer); // // Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json inline int GetVehicleClassFromName(Hash modelHash) { return _i(0xDEDF1C8BD47C2200,modelHash); } // 0xDEDF1C8BD47C2200 0xEA469980 b323 - // + // inline Void SetPlayersLastVehicle(Vehicle vehicle) { return _i(0xBCDF8BAF56C87B6A,vehicle); } // 0xBCDF8BAF56C87B6A 0xDE86447D b323 - // + // inline Void SetVehicleCanBeUsedByFleeingPeds(Vehicle vehicle, BOOL toggle) { return _i(0x300504B23BD3B711,vehicle, toggle); } // 0x300504B23BD3B711 0x5130DB1E b323 - // + // inline Void SetAircraftPilotSkillNoiseScalar(Vehicle vehicle, float p1) { return _i(0xE5810AC70602F2F5,vehicle, p1); } // 0xE5810AC70602F2F5 0xB6BE07E0 b323 - // 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. + // 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 inline Void SetVehicleDropsMoneyWhenBlownUp(Vehicle vehicle, BOOL toggle) { return _i(0x68F64F2470F9656,vehicle, toggle); } // 0x68F64F2470F9656 0x4BB5605D b323 - // + // inline Void SetVehicleKeepEngineOnWhenAbandoned(Vehicle vehicle, BOOL toggle) { return _i(0xB8FBC8B1330CA9B4,vehicle, toggle); } // 0xB8FBC8B1330CA9B4 0x51E0064F b323 - // Seems to copy some values in vehicle + // Seems to copy some values in vehicle inline Void SetVehicleImpatienceTimer(Vehicle vehicle, Any p1) { return _i(0x6A973569BA094650,vehicle, p1); } // 0x6A973569BA094650 b1604 - // Use the "AIHandling" string found in handling.meta + // Use the "AIHandling" string found in handling.meta inline Void SetVehicleHandlingOverride(Vehicle vehicle, Hash hash) { return _i(0x10655FAB9915623D,vehicle, hash); } // 0x10655FAB9915623D b323 - // Max value is 32767 + // Max value is 32767 inline Void SetVehicleExtendedRemovalRange(Vehicle vehicle, int range) { return _i(0x79DF7E806202CE01,vehicle, range); } // 0x79DF7E806202CE01 0xAEF9611C b323 - // + // inline Void SetVehicleSteeringBiasScalar(Any p0, float p1) { return _i(0x9007A2F21DC108D4,p0, p1); } // 0x9007A2F21DC108D4 0x585E49B6 b323 - // value between 0.0 and 1.0 + // value between 0.0 and 1.0 inline Void SetHeliControlLaggingRateScalar(Vehicle helicopter, float multiplier) { return _i(0x6E0859B530A365CC,helicopter, multiplier); } // 0x6E0859B530A365CC 0x6E67FD35 b323 - // Seems to be related to the metal parts, not tyres (like i was expecting lol) + // Seems to be related to the metal parts, not tyres (like i was expecting lol) inline Void SetVehicleFrictionOverride(Vehicle vehicle, float friction) { return _i(0x1837AF7C627009BA,vehicle, friction); } // 0x1837AF7C627009BA 0x32AFD42E b323 - // + // inline Void SetVehicleWheelsCanBreakOffWhenBlowUp(Vehicle vehicle, BOOL toggle) { return _i(0xA37B9A517B133349,vehicle, toggle); } // 0xA37B9A517B133349 0x670913A4 b323 - // + // inline BOOL ArePlaneControlPanelsIntact(Vehicle vehicle, BOOL p1) { return _i(0xF78F94D60248C737,vehicle, p1); } // 0xF78F94D60248C737 0x3B51B348 b323 - // + // inline Void SetVehicleCeilingHeight(Vehicle vehicle, float height) { return _i(0xA46413066687A328,vehicle, height); } // 0xA46413066687A328 0x98A10A86 b323 - // + // inline Void SetVehicleNoExplosionDamageFromDriver(Vehicle vehicle, BOOL toggle) { return _i(0x5E569EC46EC21CAE,vehicle, toggle); } // 0x5E569EC46EC21CAE 0xBC649C49 b323 - // + // inline Void ClearVehicleRouteHistory(Vehicle vehicle) { return _i(0x6D6AF961B72728AE,vehicle); } // 0x6D6AF961B72728AE 0x8DD9AA0C b323 - // - inline Vehicle DoesVehicleExistWithDecorator(String decorator) { return _i(0x956B409B984D9BF7,decorator); } // 0x956B409B984D9BF7 0x39E68EDD b323 - // Used to be incorrectly named SetVehicleExclusiveDriver + // + inline Vehicle DoesVehicleExistWithDecorator(const char* decorator) { return _i(0x956B409B984D9BF7,decorator); } // 0x956B409B984D9BF7 0x39E68EDD b323 + // Used to be incorrectly named SetVehicleExclusiveDriver // Toggles a flag related to SetVehicleExclusiveDriver, however, doesn't enable that feature (or trigger script events related to it). inline Void SetVehicleAiCanUseExclusiveSeats(Vehicle vehicle, BOOL toggle) { return _i(0x41062318F23ED854,vehicle, toggle); } // 0x41062318F23ED854 b323 - // index: 0 - 1 + // index: 0 - 1 // // Used to be incorrectly named _SetVehicleExclusiveDriver_2 inline Void SetVehicleExclusiveDriver(Vehicle vehicle, Ped ped, int index) { return _i(0xB5C51B5502E85E83,vehicle, ped, index); } // 0xB5C51B5502E85E83 0xAA8BD440 b323 - // + // inline BOOL IsPedExclusiveDriverOfVehicle(Ped ped, Vehicle vehicle, int* outIndex) { return _i(0xB09D25E77C33EB3F,ped, vehicle, outIndex); } // 0xB09D25E77C33EB3F b463 - // + // inline Void DisableIndividualPlanePropeller(Vehicle vehicle, int propeller) { return _i(0x500873A45724C863,vehicle, propeller); } // 0x500873A45724C863 0x004926A3 b323 - // + // inline Void SetVehicleForceAfterburner(Vehicle vehicle, BOOL toggle) { return _i(0xB055A34527CB8FD7,vehicle, toggle); } // 0xB055A34527CB8FD7 0xC195803B b323 - // 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) + // 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) inline Void SetDontProcessVehicleGlass(Vehicle vehicle, BOOL toggle) { return _i(0x1087BC8EC540DAEB,vehicle, toggle); } // 0x1087BC8EC540DAEB b1103 - // + // inline Void SetDisableWantedConesResponse(Vehicle vehicle, BOOL toggle) { return _i(0x4AD280EB48B2D8E6,vehicle, toggle); } // 0x4AD280EB48B2D8E6 b1868 - // + // inline Void SetUseDesiredZCruiseSpeedForLanding(Vehicle vehicle, BOOL toggle) { return _i(0xB68CFAF83A02768D,vehicle, toggle); } // 0xB68CFAF83A02768D b1290 - // + // inline Void SetArriveDistanceOverrideForVehiclePersuitAttack(Vehicle vehicle, float p1) { return _i(0x205F5365292D2EB,vehicle, p1); } // 0x205F5365292D2EB b1290 - // + // inline Void SetVehicleReadyForCleanup(Any p0) { return _i(0xCF9159024555488C,p0); } // 0xCF9159024555488C b944 - // Toggles to render distant vehicles. They may not be vehicles but images to look like vehicles. + // Toggles to render distant vehicles. They may not be vehicles but images to look like vehicles. inline Void SetDistantCarsEnabled(BOOL toggle) { return _i(0xF796359A959DF65D,toggle); } // 0xF796359A959DF65D 0xB5CC548B b323 - // Sets the color of the neon lights of the specified vehicle. + // Sets the color of the neon lights of the specified vehicle. inline Void SetVehicleNeonColour(Vehicle vehicle, int r, int g, int b) { return _i(0x8E0A582209A62695,vehicle, r, g, b); } // 0x8E0A582209A62695 b323 - // Index references CVehicleModelColor + // Index references CVehicleModelColor inline Void SetVehicleNeonIndexColour(Vehicle vehicle, int index) { return _i(0xB93B2867F7B479D1,vehicle, index); } // 0xB93B2867F7B479D1 b1493 - // Gets the color of the neon lights of the specified vehicle. + // Gets the color of the neon lights of the specified vehicle. // // See SetVehicleNeonColour (0x8E0A582209A62695) for more information inline Void GetVehicleNeonColour(Vehicle vehicle, int* r, int* g, int* b) { return _i(0x7619EEE8C886757F,vehicle, r, g, b); } // 0x7619EEE8C886757F b323 - // Sets the neon lights of the specified vehicle on/off. + // Sets the neon lights of the specified vehicle on/off. // // Indices: // 0 = Left @@ -20213,46 +20213,46 @@ namespace VEHICLE // 2 = Front // 3 = Back inline Void SetVehicleNeonEnabled(Vehicle vehicle, int index, BOOL toggle) { return _i(0x2AA720E4287BF269,vehicle, index, toggle); } // 0x2AA720E4287BF269 b323 - // indices: + // indices: // 0 = Left // 1 = Right // 2 = Front // 3 = Back inline BOOL GetVehicleNeonEnabled(Vehicle vehicle, int index) { return _i(0x8C4B92553E4766A5,vehicle, index); } // 0x8C4B92553E4766A5 b323 - // + // inline Void SetAmbientVehicleNeonEnabled(BOOL p0) { return _i(0x35E0654F4BAD7971,p0); } // 0x35E0654F4BAD7971 b323 - // + // inline Void SuppressNeonsOnVehicle(Vehicle vehicle, BOOL toggle) { return _i(0x83F813570FF519DE,vehicle, toggle); } // 0x83F813570FF519DE b573 - // + // inline Void SetDisableSuperdummy(Vehicle vehicle, BOOL p1) { return _i(0xB088E9A47AE6EDD5,vehicle, p1); } // 0xB088E9A47AE6EDD5 b323 - // + // inline Void RequestVehicleDial(Vehicle vehicle) { return _i(0xDBA3C090E3D74690,vehicle); } // 0xDBA3C090E3D74690 b323 - // Seems related to vehicle health, like the one in IV. + // Seems related to vehicle health, like the one in IV. // Max 1000, min 0. // Vehicle does not necessarily explode or become undrivable at 0. inline float GetVehicleBodyHealth(Vehicle vehicle) { return _i(0xF271147EB7B40F12,vehicle); } // 0xF271147EB7B40F12 0x2B2FCC28 b323 - // p2 often set to 1000.0 in the decompiled scripts. + // p2 often set to 1000.0 in the decompiled scripts. inline Void SetVehicleBodyHealth(Vehicle vehicle, float value) { return _i(0xB77D05AC8C78AADB,vehicle, value); } // 0xB77D05AC8C78AADB 0x920C2517 b323 - // Outputs 2 Vector3's. + // 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. inline Void GetVehicleSize(Vehicle vehicle, Vector3* out1, Vector3* out2) { return _i(0xDF7E3EEB29642C38,vehicle, out1, out2); } // 0xDF7E3EEB29642C38 b323 - // Gets the height of the vehicle's suspension. + // 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. inline float GetFakeSuspensionLoweringAmount(Vehicle vehicle) { return _i(0x53952FD2BAA19F17,vehicle); } // 0x53952FD2BAA19F17 0xB73A1486 b323 - // + // inline Void SetCarHighSpeedBumpSeverityMultiplier(float multiplier) { return _i(0x84FD40F56075E816,multiplier); } // 0x84FD40F56075E816 b323 - // + // inline int GetNumberOfVehicleDoors(Vehicle vehicle) { return _i(0x92922A607497B14D,vehicle); } // 0x92922A607497B14D b463 - // If false, lowers hydraulics (if raised) and disables hydraulics controls. If true, raises hydraulics and enables hydraulics controls. + // If false, lowers hydraulics (if raised) and disables hydraulics controls. If true, raises hydraulics and enables hydraulics controls. // // Only used once in each carmod script, on a car that does not have hydraulics to begin with. inline Void SetHydraulicsControl(Vehicle vehicle, BOOL toggle) { return _i(0x28B18377EB6E25F6,vehicle, toggle); } // 0x28B18377EB6E25F6 b505 - // + // inline Void SetCanAdjustGroundClearance(Vehicle vehicle, BOOL p1) { return _i(0xA7DCDF4DED40A8F4,vehicle, p1); } // 0xA7DCDF4DED40A8F4 b323 - // 0 min 100 max + // 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. @@ -20273,131 +20273,131 @@ namespace VEHICLE // } // } inline float GetVehicleHealthPercentage(Vehicle vehicle, float maxEngineHealth, float maxPetrolTankHealth, float maxBodyHealth, float maxMainRotorHealth, float maxTailRotorHealth, float maxUnkHealth) { return _i(0xB8EF61207C2393A9,vehicle, maxEngineHealth, maxPetrolTankHealth, maxBodyHealth, maxMainRotorHealth, maxTailRotorHealth, maxUnkHealth); } // 0xB8EF61207C2393A9 0x196BA503 b323 - // + // inline BOOL GetVehicleIsMercenary(Vehicle vehicle) { return _i(0xD4C4642CB7F50B5D,vehicle); } // 0xD4C4642CB7F50B5D 0x575504DE b323 - // + // inline Void SetVehicleBrokenPartsDontAffectAiHandling(Vehicle vehicle, BOOL p1) { return _i(0xC361AA040D6637A8,vehicle, p1); } // 0xC361AA040D6637A8 0x819CD954 b323 - // + // inline Void SetVehicleKersAllowed(Vehicle vehicle, BOOL toggle) { return _i(0x99C82F8A139F3E4E,vehicle, toggle); } // 0x99C82F8A139F3E4E 0x71CDD52F b323 - // Returns true if the vehicle has a HF_HAS_KERS (strHandlingFlags 0x4) handing flag set, for instance the lectro/vindicator bikes or the open wheelers. + // Returns true if the vehicle has a HF_HAS_KERS (strHandlingFlags 0x4) handing flag set, for instance the lectro/vindicator bikes or the open wheelers. inline BOOL GetVehicleHasKers(Vehicle vehicle) { return _i(0x50634E348C8D44EF,vehicle); } // 0x50634E348C8D44EF 0x0761E635 b372 - // + // inline Void SetPlaneResistToExplosion(Vehicle vehicle, BOOL toggle) { return _i(0xE16142B94664DEFD,vehicle, toggle); } // 0xE16142B94664DEFD 0xFBBA699A b323 - // + // inline Void SetHeliResistToExplosion(Vehicle vehicle, BOOL toggle) { return _i(0x8074CC1886802912,vehicle, toggle); } // 0x8074CC1886802912 b2545 - // + // inline Void SetDisableBmxExtraTrickForces(Any p0) { return _i(0x26D99D5A82FD18E8,p0); } // 0x26D99D5A82FD18E8 b463 - // Works only on vehicles that support hydraulics. + // Works only on vehicles that support hydraulics. inline Void SetHydraulicSuspensionRaiseFactor(Vehicle vehicle, int wheelId, float value) { return _i(0x84EA99C62CB3EF0C,vehicle, wheelId, value); } // 0x84EA99C62CB3EF0C b505 - // + // inline float GetHydraulicSuspensionRaiseFactor(Vehicle vehicle, int wheelId) { return _i(0xBB5CBDDD0F25AE3,vehicle, wheelId); } // 0xBB5CBDDD0F25AE3 b2372 - // + // inline Void SetCanUseHydraulics(Vehicle vehicle, BOOL toggle) { return _i(0x1201E8A3290A3B98,vehicle, toggle); } // 0x1201E8A3290A3B98 b505 - // States: + // States: // 4 = raise // 5 = lower // 6 = jump inline Void SetHydraulicVehicleState(Vehicle vehicle, int state) { return _i(0x8EA86DF356801C7D,vehicle, state); } // 0x8EA86DF356801C7D b505 - // Sets vehicle wheel hydraulic states transition. Known states: + // 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 inline Void SetHydraulicWheelState(Vehicle vehicle, int wheelId, int state, float value, Any p4) { return _i(0xC24075310A8B9CD1,vehicle, wheelId, state, value, p4); } // 0xC24075310A8B9CD1 b505 - // + // inline BOOL HasVehiclePetroltankSetOnFireByEntity(Any p0, Any p1) { return _i(0x5BA68A0840D546AC,p0, p1); } // 0x5BA68A0840D546AC b463 - // + // inline Void ClearVehiclePetroltankFireCulprit(Vehicle vehicle) { return _i(0x4419966C9936071A,vehicle); } // 0x4419966C9936071A b463 - // Controls how fast bobbleheads and tsurikawas move on each axis. + // Controls how fast bobbleheads and tsurikawas move on each axis. // // p2 is probably z, but changing that value didn't seem to have a noticeable effect. inline Void SetVehicleBobbleheadVelocity(float x, float y, float p2) { return _i(0x870B8B7A766615C8,x, y, p2); } // 0x870B8B7A766615C8 b505 - // + // inline BOOL GetVehicleIsDummy(Any p0) { return _i(0x8533CAFDE1F0F336,p0); } // 0x8533CAFDE1F0F336 b505 - // + // inline BOOL SetVehicleDamageScale(Vehicle vehicle, float p1) { return _i(0x4E20D2A627011E8E,vehicle, p1); } // 0x4E20D2A627011E8E b757 - // + // inline BOOL SetVehicleWeaponDamageScale(Vehicle vehicle, float multiplier) { return _i(0x45A561A9421AB6AD,vehicle, multiplier); } // 0x45A561A9421AB6AD b944 - // + // inline BOOL SetDisableDamageWithPickedUpEntity(Any p0, Any p1) { return _i(0xD4196117AF7BB974,p0, p1); } // 0xD4196117AF7BB974 b757 - // + // inline Void SetVehicleUsesMpPlayerDamageMultiplier(Any p0, Any p1) { return _i(0xBB2333BB87DDD87F,p0, p1); } // 0xBB2333BB87DDD87F b757 - // When enabled, the player won't fall off the bike when landing from large heights. + // When enabled, the player won't fall off the bike when landing from large heights. inline Void SetBikeEasyToLand(Vehicle vehicle, BOOL toggle) { return _i(0x73561D4425A021A2,vehicle, toggle); } // 0x73561D4425A021A2 b791 - // Inverts vehicle's controls. So INPUT_VEH_ACCELERATE will be INPUT_VEH_BRAKE and vise versa (same for A/D controls) + // 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. inline Void SetInvertVehicleControls(Vehicle vehicle, BOOL state) { return _i(0x5B91B229243351A8,vehicle, state); } // 0x5B91B229243351A8 b791 - // Disables the screen effects and sound effects when driving over a speed boost pad. + // Disables the screen effects and sound effects when driving over a speed boost pad. inline Void SetSpeedBoostEffectDisabled(BOOL disabled) { return _i(0x7BBE7FF626A591FE,disabled); } // 0x7BBE7FF626A591FE b877 - // Disables the screen effects and sound effects when driving over a slowdown pad. + // Disables the screen effects and sound effects when driving over a slowdown pad. inline Void SetSlowDownEffectDisabled(BOOL disabled) { return _i(0x65B080555EA48149,disabled); } // 0x65B080555EA48149 b1011 - // + // inline Void SetFormationLeader(Vehicle vehicle, float x, float y, float z, float p4) { return _i(0x428AD3E26C8D9EB0,vehicle, x, y, z, p4); } // 0x428AD3E26C8D9EB0 b877 - // Resets the effect of SetFormationLeader + // Resets the effect of SetFormationLeader inline Void ResetFormationLeader() { return _i(0xE2F53F172B45EDE1); } // 0xE2F53F172B45EDE1 b877 - // + // inline BOOL GetIsBoatCapsized(Vehicle vehicle) { return _i(0xBA91D045575699AD,vehicle); } // 0xBA91D045575699AD b877 - // + // inline Void SetAllowRammingSoopOrRamp(Any p0, Any p1) { return _i(0x80E3357FDEF45C21,p0, p1); } // 0x80E3357FDEF45C21 b944 - // + // inline Void SetScriptRampImpulseScale(Vehicle vehicle, float impulseScale) { return _i(0xEFC13B1CE30D755D,vehicle, impulseScale); } // 0xEFC13B1CE30D755D b944 - // doorId: see SetVehicleDoorShut + // doorId: see SetVehicleDoorShut inline BOOL GetIsDoorValid(Vehicle vehicle, int doorId) { return _i(0x645F4B6E8499F632,vehicle, doorId); } // 0x645F4B6E8499F632 b944 - // + // inline Void SetScriptRocketBoostRechargeTime(Vehicle vehicle, float seconds) { return _i(0xE00F2AB100B76E89,vehicle, seconds); } // 0xE00F2AB100B76E89 b944 - // + // inline BOOL GetHasRocketBoost(Vehicle vehicle) { return _i(0x36D782F68B309BDA,vehicle); } // 0x36D782F68B309BDA b944 - // + // inline BOOL IsRocketBoostActive(Vehicle vehicle) { return _i(0x3D34E80EED4AE3BE,vehicle); } // 0x3D34E80EED4AE3BE b944 - // + // inline Void SetRocketBoostActive(Vehicle vehicle, BOOL active) { return _i(0x81E1552E35DC3839,vehicle, active); } // 0x81E1552E35DC3839 b944 - // + // inline BOOL GetHasRetractableWheels(Vehicle vehicle) { return _i(0xDCA174A42133F08C,vehicle); } // 0xDCA174A42133F08C b944 - // + // inline BOOL GetIsWheelsRetracted(Vehicle vehicle) { return _i(0x1DA0DA9CB3F0C8BF,vehicle); } // 0x1DA0DA9CB3F0C8BF b944 - // + // inline Void SetWheelsExtendedInstantly(Vehicle vehicle) { return _i(0xF660602546D27BA8,vehicle); } // 0xF660602546D27BA8 b944 - // + // inline Void SetWheelsRetractedInstantly(Vehicle vehicle) { return _i(0x5335BE58C083E74E,vehicle); } // 0x5335BE58C083E74E b1011 - // Returns true if the vehicle has the FLAG_JUMPING_CAR flag set. + // Returns true if the vehicle has the FLAG_JUMPING_CAR flag set. inline BOOL GetCarHasJump(Vehicle vehicle) { return _i(0x9078C0C5EF8C19E9,vehicle); } // 0x9078C0C5EF8C19E9 b944 - // Allows vehicles with the FLAG_JUMPING_CAR flag to jump higher (i.e. Ruiner 2000). + // Allows vehicles with the FLAG_JUMPING_CAR flag to jump higher (i.e. Ruiner 2000). inline Void SetUseHigherCarJump(Vehicle vehicle, BOOL toggle) { return _i(0xF06A16CA55D138D8,vehicle, toggle); } // 0xF06A16CA55D138D8 b944 - // + // inline Void SetClearFreezeWaitingOnCollisionOncePlayerEnters(Vehicle vehicle, BOOL toggle) { return _i(0xB2E0C0D6922D31F2,vehicle, toggle); } // 0xB2E0C0D6922D31F2 b944 - // Set vehicle's primary mounted weapon 2 ammo. For example, use it on APC. + // 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) inline Void SetVehicleWeaponRestrictedAmmo(Vehicle vehicle, int weaponIndex, int capacity) { return _i(0x44CD1F493DB2A0A6,vehicle, weaponIndex, capacity); } // 0x44CD1F493DB2A0A6 b944 - // + // inline int GetVehicleWeaponRestrictedAmmo(Vehicle vehicle, int weaponIndex) { return _i(0x8181CE2F25CB9BB7,vehicle, weaponIndex); } // 0x8181CE2F25CB9BB7 b1011 - // + // inline BOOL GetVehicleHasParachute(Vehicle vehicle) { return _i(0xBC9CFF381338CB4F,vehicle); } // 0xBC9CFF381338CB4F b944 - // + // inline BOOL GetVehicleCanDeployParachute(Vehicle vehicle) { return _i(0xA916396DF4154EE3,vehicle); } // 0xA916396DF4154EE3 b944 - // + // inline Void VehicleStartParachuting(Vehicle vehicle, BOOL active) { return _i(0xBFFB028B3DD0A97,vehicle, active); } // 0xBFFB028B3DD0A97 b944 - // + // inline BOOL IsVehicleParachuteDeployed(Vehicle vehicle) { return _i(0x3DE51E9C80B116CF,vehicle); } // 0x3DE51E9C80B116CF b1011 - // + // inline Void VehicleSetRampAndRammingCarsTakeDamage(Vehicle vehicle, BOOL toggle) { return _i(0x28D034A93FE31BF5,vehicle, toggle); } // 0x28D034A93FE31BF5 b944 - // + // inline Void VehicleSetEnableRampCarSideImpulse(Any p0, Any p1) { return _i(0x1BBAC99C0BC53656,p0, p1); } // 0x1BBAC99C0BC53656 b944 - // + // inline Void VehicleSetEnableNormaliseRampCarVerticalVeloctiy(Any p0, Any p1) { return _i(0x756AE6E962168A04,p0, p1); } // 0x756AE6E962168A04 b944 - // + // inline Void VehicleSetJetWashForceEnabled(Any p0) { return _i(0x9D30687C57BAA0BB,p0); } // 0x9D30687C57BAA0BB b1011 - // + // inline Void SetVehicleWeaponCanTargetObjects(Vehicle vehicle, BOOL toggle) { return _i(0x86B4B6212CB8B627,vehicle, toggle); } // 0x86B4B6212CB8B627 b1011 - // Used for blazer5. Changes the quadbike-jetski transformation input from raise/lower convertible roof (hold H by default) to horn (press E by default.) + // Used for blazer5. Changes the quadbike-jetski transformation input from raise/lower convertible roof (hold H by default) to horn (press E by default.) inline Void SetVehicleUseBoostButtonForWheelRetract(BOOL toggle) { return _i(0x41290B40FA63E6DA,toggle); } // 0x41290B40FA63E6DA b1011 - // + // inline Void SetVehicleUseHornButtonForNitrous(BOOL toggle) { return _i(0x1980F68872CC2C3D,toggle); } // 0x1980F68872CC2C3D b3095 - // Parachute models: + // Parachute models: // - sr_prop_specraces_para_s_01 // - imp_prop_impexp_para_s (SecuroServ; Default) // Plus, many more props can be used as vehicle parachutes, like umbrellas (prop_beach_parasol_03), and unlike SetPlayerParachuteModelOverride, you won't get stuck mid-air when using an umbrella. inline Void VehicleSetParachuteModelOverride(Vehicle vehicle, Hash modelHash) { return _i(0x4D610C6B56031351,vehicle, modelHash); } // 0x4D610C6B56031351 b1011 - // Variations available for the generic parachute (sr_prop_specraces_para_s_01): + // Variations available for the generic parachute (sr_prop_specraces_para_s_01): // - 0: Rainbow // - 1: Red // - 2: White, blue, yellow @@ -20407,68 +20407,68 @@ namespace VEHICLE // - 6: Black // - 7: Black, yellow inline Void VehicleSetParachuteModelTintIndex(Vehicle vehicle, int textureVariation) { return _i(0xA74AD2439468C883,vehicle, textureVariation); } // 0xA74AD2439468C883 b1011 - // + // inline int VehicleSetOverrideExtenableSideRatio(Any p0, Any p1) { return _i(0x419B167EE128F33,p0, p1); } // 0x419B167EE128F33 b1103 - // + // inline int VehicleSetExtenableSideTargetRatio(Any p0, Any p1) { return _i(0xF3B0E0AED097A3F5,p0, p1); } // 0xF3B0E0AED097A3F5 b1103 - // + // inline int VehicleSetOverrideSideRatio(Any p0, Any p1) { return _i(0xD3E51C0AB8C26EEE,p0, p1); } // 0xD3E51C0AB8C26EEE b1103 - // + // inline int GetAllVehicles(Any* vehsStruct) { return _i(0x9B8E1BF04B51F2E8,vehsStruct); } // 0x9B8E1BF04B51F2E8 b1103 - // + // inline Void SetCargobobExtaPickupRange(Any p0, Any p1) { return _i(0x72BECCF4B829522E,p0, p1); } // 0x72BECCF4B829522E b1103 - // + // inline Void SetOverrideVehicleDoorTorque(Any p0, Any p1, Any p2) { return _i(0x66E3AAFACE2D1EB8,p0, p1, p2); } // 0x66E3AAFACE2D1EB8 b1103 - // Enables/disables the ability to wheelie on motorcycles. + // Enables/disables the ability to wheelie on motorcycles. inline Void SetWheelieEnabled(Vehicle vehicle, BOOL enabled) { return _i(0x1312DDD8385AEE4E,vehicle, enabled); } // 0x1312DDD8385AEE4E b1103 - // + // inline Void SetDisableHeliExplodeFromBodyDamage(Any p0, Any p1) { return _i(0xEDBC8405B3895CC9,p0, p1); } // 0xEDBC8405B3895CC9 b1103 - // + // inline Void SetDisableExplodeFromBodyDamageOnCollision(Vehicle vehicle, float value) { return _i(0x26E13D440E7F6064,vehicle, value); } // 0x26E13D440E7F6064 b1290 - // + // inline Void SetTrailerAttachmentEnabled(Any p0, Any p1) { return _i(0x2FA2494B47FDD009,p0, p1); } // 0x2FA2494B47FDD009 b1103 - // + // inline Void SetRocketBoostFill(Vehicle vehicle, float percentage) { return _i(0xFEB2DDED3509562E,vehicle, percentage); } // 0xFEB2DDED3509562E b1103 - // Set state to true to extend the wings, false to retract them. + // Set state to true to extend the wings, false to retract them. inline Void SetGliderActive(Vehicle vehicle, BOOL state) { return _i(0x544996C0081ABDEB,vehicle, state); } // 0x544996C0081ABDEB b1103 - // Resets the vehicle's turret to its default position in scripted cameras. Doesn't seem to affect turrets that are occupied by a ped. + // Resets the vehicle's turret to its default position in scripted cameras. Doesn't seem to affect turrets that are occupied by a ped. inline Void SetShouldResetTurretInScriptedCameras(Vehicle vehicle, BOOL shouldReset) { return _i(0x78CEEE41F49F421F,vehicle, shouldReset); } // 0x78CEEE41F49F421F b1103 - // + // inline Void SetVehicleDisableCollisionUponCreation(Vehicle vehicle, BOOL disable) { return _i(0xAF60E6A2936F982A,vehicle, disable); } // 0xAF60E6A2936F982A b1103 - // + // inline Void SetGroundEffectReducesDrag(BOOL toggle) { return _i(0x430A7631A84C9BE7,toggle); } // 0x430A7631A84C9BE7 b1180 - // Disables collision for this vehicle (maybe it also supports other entities, not sure). + // 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. inline Void SetDisableMapCollision(Vehicle vehicle) { return _i(0x75627043C6AA90AD,vehicle); } // 0x75627043C6AA90AD b1180 - // + // inline Void SetDisablePedStandOnTop(Vehicle vehicle, BOOL toggle) { return _i(0x8235F1BEAD557629,vehicle, toggle); } // 0x8235F1BEAD557629 b1180 - // + // inline Void SetVehicleDamageScales(Vehicle vehicle, Any p1, Any p2, Any p3, Any p4) { return _i(0x9640E30A7F395E4B,vehicle, p1, p2, p3, p4); } // 0x9640E30A7F395E4B b1290 - // + // inline Void SetPlaneSectionDamageScale(Vehicle vehicle, Any p1, Any p2) { return _i(0xBBB9A7A8FFE931B,vehicle, p1, p2); } // 0xBBB9A7A8FFE931B b1290 - // Stops the cargobob from being able to attach any vehicle + // Stops the cargobob from being able to attach any vehicle inline Void SetHeliCanPickupEntityThatHasPickUpDisabled(Vehicle vehicle, BOOL toggle) { return _i(0x94A68DA412C4007D,vehicle, toggle); } // 0x94A68DA412C4007D b1180 - // 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. + // 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. inline Void SetVehicleBombAmmo(Vehicle vehicle, int bombCount) { return _i(0xF4B2ED59DEB5D774,vehicle, bombCount); } // 0xF4B2ED59DEB5D774 b1180 - // 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. + // 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. inline int GetVehicleBombAmmo(Vehicle vehicle) { return _i(0xEA12BD130D7569A1,vehicle); } // 0xEA12BD130D7569A1 b1180 - // Similar to SetVehicleBombAmmo, this sets the amount of countermeasures that are present on this vehicle. + // Similar to SetVehicleBombAmmo, this sets the amount of countermeasures that are present on this vehicle. // Use GetVehicleBombAmmo to get the current amount. inline Void SetVehicleCountermeasureAmmo(Vehicle vehicle, int counterMeasureCount) { return _i(0x9BDA23BF666F0855,vehicle, counterMeasureCount); } // 0x9BDA23BF666F0855 b1180 - // Similar to `GetVehicleBombAmmo`, this gets the amount of countermeasures that are present on this vehicle. + // Similar to `GetVehicleBombAmmo`, this gets the amount of countermeasures that are present on this vehicle. // Use SetVehicleCountermeasureAmmo to set the current amount. inline int GetVehicleCountermeasureAmmo(Vehicle vehicle) { return _i(0xF846AA63DF56B804,vehicle); } // 0xF846AA63DF56B804 b1180 - // + // inline Void SetHeliCombatOffset(Vehicle vehicle, float x, float y, float z) { return _i(0xA3F820A9A9A9AC5,vehicle, x, y, z); } // 0xA3F820A9A9A9AC5 b1180 - // Used in decompiled scripts in combination with GetVehicleSize + // Used in decompiled scripts in combination with GetVehicleSize // p7 is usually 2 // p8 is usually 1 inline BOOL GetCanVehicleBePlacedHere(Vehicle vehicle, float x, float y, float z, float rotX, float rotY, float rotZ, int p7, Any p8) { return _i(0x51F30DB60626A20E,vehicle, x, y, z, rotX, rotY, rotZ, p7, p8); } // 0x51F30DB60626A20E b1180 - // Sets a flag on heli and another vehicle type. + // Sets a flag on heli and another vehicle type. inline Void SetDisableAutomaticCrashTask(Vehicle vehicle, BOOL toggle) { return _i(0x97841634EF7DF1D6,vehicle, toggle); } // 0x97841634EF7DF1D6 b1180 - // Used in conjunction with SetSpecialFlightModeTargetRatio, in Rockstar's scripts. Using this will instantly transform the vehicle into hover mode starting from the given ratio (ranging from 0.0 to 1.0, values greater than 1.0 will put the vehicle into a glitched state.) If this is not used alongside SetSpecialFlightModeTargetRatio, the vehicle will automatically transform back into car mode. + // Used in conjunction with SetSpecialFlightModeTargetRatio, in Rockstar's scripts. Using this will instantly transform the vehicle into hover mode starting from the given ratio (ranging from 0.0 to 1.0, values greater than 1.0 will put the vehicle into a glitched state.) If this is not used alongside SetSpecialFlightModeTargetRatio, the vehicle will automatically transform back into car mode. // // Usable only with the deluxo and other vehicles with deluxo-like hover mode toggle, modded or otherwise. Does nothing when used on oppressor2. // @@ -20478,7 +20478,7 @@ namespace VEHICLE // VEHICLE::SetSpecialFlightModeRatio(veh, 0.7f); // VEHICLE::SetSpecialFlightModeTargetRatio(veh, 1.0f); inline Void SetSpecialFlightModeRatio(Vehicle vehicle, float ratio) { return _i(0xD138FA15C9776837,vehicle, ratio); } // 0xD138FA15C9776837 b1290 - // Used in conjunction with SetSpecialFlightModeRatio, in Rockstar's scripts. The vehicle will transform into the given targetRatio, starting from the vehicle's current hover mode transform ratio (which can also be manually set by SetSpecialFlightModeRatio,) i.e. setting targetRatio to 0.0 while the vehicle is in hover mode will transform the vehicle into car mode, likewise setting targetRatio to 1.0 while the vehicle is in car mode will transform the vehicle into hover mode, and if the current transform ratio is set to 0.7 while targetRatio is 1.0 the vehicle will transform into hover mode starting from being already partially transformed. + // Used in conjunction with SetSpecialFlightModeRatio, in Rockstar's scripts. The vehicle will transform into the given targetRatio, starting from the vehicle's current hover mode transform ratio (which can also be manually set by SetSpecialFlightModeRatio,) i.e. setting targetRatio to 0.0 while the vehicle is in hover mode will transform the vehicle into car mode, likewise setting targetRatio to 1.0 while the vehicle is in car mode will transform the vehicle into hover mode, and if the current transform ratio is set to 0.7 while targetRatio is 1.0 the vehicle will transform into hover mode starting from being already partially transformed. // // targetRatio is recommended to always be 0.0 or 1.0, otherwise the vehicle will transform into a glitched state. // @@ -20490,91 +20490,91 @@ namespace VEHICLE // VEHICLE::SetSpecialFlightModeRatio(veh, 0.7f); // VEHICLE::SetSpecialFlightModeTargetRatio(veh, 1.0f); inline Void SetSpecialFlightModeTargetRatio(Vehicle vehicle, float targetRatio) { return _i(0x438B3D7CA026FE91,vehicle, targetRatio); } // 0x438B3D7CA026FE91 b1290 - // It will override the ability to transform deluxo. For oppressor it will work just like SetDisableHoverModeFlight + // It will override the ability to transform deluxo. For oppressor it will work just like SetDisableHoverModeFlight inline Void SetSpecialFlightModeAllowed(Vehicle vehicle, BOOL toggle) { return _i(0xF1211889DF15A763,vehicle, toggle); } // 0xF1211889DF15A763 b1290 - // Disables "wings" for some flying vehicles. Works only for oppressor _2_ and deluxo. + // 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. inline Void SetDisableHoverModeFlight(Vehicle vehicle, BOOL toggle) { return _i(0x2D55FE374D5FDB91,vehicle, toggle); } // 0x2D55FE374D5FDB91 b1290 - // Checks if Chernobog's stabilizers are deployed or not. + // Checks if Chernobog's stabilizers are deployed or not. // These are the metal supports that allow it to fire. // This native only applies to the Chernobog. inline BOOL GetOutriggersDeployed(Vehicle vehicle) { return _i(0x3A9128352EAC9E85,vehicle); } // 0x3A9128352EAC9E85 b1290 - // Native is significantly more complicated than simply generating a random vector & length. + // 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 inline Vector3 FindSpawnCoordinatesForHeli(Ped ped) { return _i(0x8DC9675797123522,ped); } // 0x8DC9675797123522 b1290 - // Only used with the "akula" and "annihilator2" in the decompiled native scripts. + // Only used with the "akula" and "annihilator2" in the decompiled native scripts. inline Void SetDeployFoldingWings(Vehicle vehicle, BOOL deploy, BOOL p2) { return _i(0xB251E0B33E58B424,vehicle, deploy, p2); } // 0xB251E0B33E58B424 b1290 - // Only used with the "akula" and "annihilator2" in the decompiled native scripts. + // Only used with the "akula" and "annihilator2" in the decompiled native scripts. inline BOOL AreFoldingWingsDeployed(Vehicle vehicle) { return _i(0xAEF12960FA943792,vehicle); } // 0xAEF12960FA943792 b1290 - // + // inline Void SetDeployMissileBays(Vehicle vehicle, BOOL deploy) { return _i(0xC02468829E4AA65,vehicle, deploy); } // 0xC02468829E4AA65 b2944 - // + // inline BOOL AreMissileBaysDeployed(Vehicle vehicle) { return _i(0xEA4743874D515F13,vehicle); } // 0xEA4743874D515F13 b2944 - // + // inline Void SetDipStraightDownWhenCrashingPlane(Vehicle vehicle, BOOL toggle) { return _i(0xAA653AE61924B0A0,vehicle, toggle); } // 0xAA653AE61924B0A0 b1290 - // Toggles specific flag on turret + // Toggles specific flag on turret inline Void SetTurretHidden(Vehicle vehicle, int index, BOOL toggle) { return _i(0xC60060EB0D8AC7B1,vehicle, index, toggle); } // 0xC60060EB0D8AC7B1 b1290 - // + // inline Void SetHoverModeWingRatio(Vehicle vehicle, float ratio) { return _i(0x70A252F60A3E036B,vehicle, ratio); } // 0x70A252F60A3E036B b1365 - // Disables turret movement when called in a loop. You can still fire and aim. You cannot shoot backwards though. + // Disables turret movement when called in a loop. You can still fire and aim. You cannot shoot backwards though. inline Void SetDisableTurretMovement(Vehicle vehicle, int turretId) { return _i(0xE615BB7A7752C76A,vehicle, turretId); } // 0xE615BB7A7752C76A b1365 - // + // inline Void SetForceFixLinkMatrices(Vehicle vehicle) { return _i(0x887FA38787DE8C72,vehicle); } // 0x887FA38787DE8C72 b1365 - // Affects the playback speed of the submarine car conversion animations. Does not affect hardcoded animations such as the wheels being retracted. + // Affects the playback speed of the submarine car conversion animations. Does not affect hardcoded animations such as the wheels being retracted. inline Void SetTransformRateForAnimation(Vehicle vehicle, float transformRate) { return _i(0x498218259FB7C72D,vehicle, transformRate); } // 0x498218259FB7C72D b1365 - // When set to true, the key to transform a car to submarine mode changes from raise/lower convertible roof (hold H by default) to special vehicle transform (press X by default.) + // When set to true, the key to transform a car to submarine mode changes from raise/lower convertible roof (hold H by default) to special vehicle transform (press X by default.) inline Void SetTransformToSubmarineUsesAlternateInput(Vehicle vehicle, BOOL toggle) { return _i(0x41B9FB92EDED32A6,vehicle, toggle); } // 0x41B9FB92EDED32A6 b1365 - // Does nothing. It's a nullsub. + // Does nothing. It's a nullsub. inline Void SetVehicleCombatMode(BOOL toggle) { return _i(0x36DE109527A2C0C4,toggle); } // 0x36DE109527A2C0C4 b1604 - // Does nothing. It's a nullsub. + // Does nothing. It's a nullsub. inline Void SetVehicleDetonationMode(BOOL toggle) { return _i(0x82E0AC411E41A5B4,toggle); } // 0x82E0AC411E41A5B4 b1604 - // Does nothing. It's a nullsub. + // Does nothing. It's a nullsub. inline Void SetVehicleShuntOnStick(BOOL toggle) { return _i(0x99A05839C46CE316,toggle); } // 0x99A05839C46CE316 b1604 - // + // inline BOOL GetIsVehicleShunting(Vehicle vehicle) { return _i(0xA2459F72C14E2E8D,vehicle); } // 0xA2459F72C14E2E8D b1604 - // + // inline BOOL GetHasVehicleBeenHitByShunt(Vehicle vehicle) { return _i(0xE8718FAF591FD224,vehicle); } // 0xE8718FAF591FD224 b1604 - // Returns last vehicle that was rammed by the given vehicle using the shunt boost. + // Returns last vehicle that was rammed by the given vehicle using the shunt boost. inline Vehicle GetLastShuntVehicle(Vehicle vehicle) { return _i(0x4F2FA6E234162F7,vehicle); } // 0x4F2FA6E234162F7 b1604 - // + // inline Void SetDisableVehicleExplosionsDamage(BOOL toggle) { return _i(0x143921E45EC44D62,toggle); } // 0x143921E45EC44D62 b1604 - // + // inline Void SetOverrideNitrousLevel(Vehicle vehicle, BOOL toggle, float level, float power, float rechargeTime, BOOL disableSound) { return _i(0xC8E9B6B71B8E660D,vehicle, toggle, level, power, rechargeTime, disableSound); } // 0xC8E9B6B71B8E660D b1604 - // + // inline Void SetNitrousIsActive(Vehicle vehicle, BOOL enabled) { return _i(0x465EEA70AF251045,vehicle, enabled); } // 0x465EEA70AF251045 b3095 - // + // inline Void SetOverrideTractionLossMultiplier(Vehicle vehicle, float modifier) { return _i(0xAFD262ACCA64479A,vehicle, modifier); } // 0xAFD262ACCA64479A b3095 - // First two floats relate to rumble, the last is a threshold + // First two floats relate to rumble, the last is a threshold inline Void SetDriftSlipAngleLimits(Vehicle vehicle, float durationScalar, float amplitudeScalar, float slipAngleLimit) { return _i(0xDAF4C98C18AC6F06,vehicle, durationScalar, amplitudeScalar, slipAngleLimit); } // 0xDAF4C98C18AC6F06 b3095 - // + // inline Void SetMinimumTimeBetweenGearShifts(Vehicle vehicle, int time) { return _i(0x16CFBC5E7EB32861,vehicle, time); } // 0x16CFBC5E7EB32861 b3095 - // + // inline Void FullyChargeNitrous(Vehicle vehicle) { return _i(0x1A2BCC8C636F9226,vehicle); } // 0x1A2BCC8C636F9226 b3095 - // + // inline float GetRemainingNitrousDuration(Vehicle vehicle) { return _i(0xBEC4B8653462450E,vehicle); } // 0xBEC4B8653462450E b3095 - // + // inline BOOL IsNitrousActive(Vehicle vehicle) { return _i(0x491E822B2C464FE4,vehicle); } // 0x491E822B2C464FE4 b3095 - // + // inline Void ClearNitrous(Vehicle vehicle) { return _i(0xC889AE921400E1ED,vehicle); } // 0xC889AE921400E1ED b3095 - // + // inline Void SetIncreaseWheelCrushDamage(Vehicle vehicle, BOOL toggle) { return _i(0x2970EAA18FD5E42F,vehicle, toggle); } // 0x2970EAA18FD5E42F b1604 - // Sets some global vehicle related bool + // Sets some global vehicle related bool inline Void SetDisableWeaponBladeForces(BOOL toggle) { return _i(0x211E95CE9903940C,toggle); } // 0x211E95CE9903940C b1604 - // Changes the car jump control to require a double-tap to activate. + // Changes the car jump control to require a double-tap to activate. inline Void SetUseDoubleClickForCarJump(BOOL toggle) { return _i(0x5BBCF35BF6E456F7,toggle); } // 0x5BBCF35BF6E456F7 b1604 - // Returns true only if the "tombstone" bone is attached to the vehicle, irrespective of "FLAG_HAS_TOMBSTONE" being present or not. Detaching the tombstone will return false. + // Returns true only if the "tombstone" bone is attached to the vehicle, irrespective of "FLAG_HAS_TOMBSTONE" being present or not. Detaching the tombstone will return false. inline BOOL GetDoesVehicleHaveTombstone(Vehicle vehicle) { return _i(0x71AFB258CCED3A27,vehicle); } // 0x71AFB258CCED3A27 b1604 - // Disables detachable bumber from domnator4, dominator5, dominator6, see https://gfycat.com/SecondUnluckyGosling + // Disables detachable bumber from domnator4, dominator5, dominator6, see https://gfycat.com/SecondUnluckyGosling inline Void HideTombstone(Vehicle vehicle, BOOL toggle) { return _i(0xAE71FB656C600587,vehicle, toggle); } // 0xAE71FB656C600587 b1604 - // + // inline Void ApplyEmpEffect(Vehicle vehicle) { return _i(0x249249D74F813EB2,vehicle); } // 0x249249D74F813EB2 b3095 - // Returns whether this vehicle is currently disabled by an EMP mine. + // Returns whether this vehicle is currently disabled by an EMP mine. inline BOOL GetIsVehicleDisabledByEmp(Vehicle vehicle) { return _i(0x506ED94363AD905,vehicle); } // 0x506ED94363AD905 b1604 - // + // inline Void SetDisableRetractingWeaponBlades(BOOL toggle) { return _i(0x8F0D5BA1C2CC91D7,toggle); } // 0x8F0D5BA1C2CC91D7 b1604 - // Usable wheels: + // Usable wheels: // 0: wheel_lf // 1: wheel_rf // 2: wheel_lm1 @@ -20582,7 +20582,7 @@ namespace VEHICLE // 4: wheel_lr // 5: wheel_rr inline float GetTyreHealth(Vehicle vehicle, int wheelIndex) { return _i(0x55EAB010FAEE9380,vehicle, wheelIndex); } // 0x55EAB010FAEE9380 b1868 - // SetTyreWearRate must be active, otherwise values set to <1000.0f will default to 350.0f + // SetTyreWearRate must be active, otherwise values set to <1000.0f will default to 350.0f // // Usable wheels: // 0: wheel_lf @@ -20592,7 +20592,7 @@ namespace VEHICLE // 4: wheel_lr // 5: wheel_rr inline Void SetTyreHealth(Vehicle vehicle, int wheelIndex, float health) { return _i(0x74C68EF97645E79D,vehicle, wheelIndex, health); } // 0x74C68EF97645E79D b1868 - // Returns the multiplier value from SetTyreWearRate + // Returns the multiplier value from SetTyreWearRate // // Usable wheels: // 0: wheel_lf @@ -20602,7 +20602,7 @@ namespace VEHICLE // 4: wheel_lr // 5: wheel_rr inline float GetTyreWearRate(Vehicle vehicle, int wheelIndex) { return _i(0x6E387895952F4F71,vehicle, wheelIndex); } // 0x6E387895952F4F71 b2060 - // Needs to be run for tire wear to work. Multiplier affects the downforce and how fast the tires will wear out, higher values essentially make the vehicle slower on straights and its tires will wear down quicker when cornering. Value must be >0f. + // Needs to be run for tire wear to work. Multiplier affects the downforce and how fast the tires will wear out, higher values essentially make the vehicle slower on straights and its tires will wear down quicker when cornering. Value must be >0f. // Default value in Rockstar's Open Wheel Race JSON's ("owrtws", "owrtwm", "owrtwh") is 1.0 // // Usable wheels: @@ -20613,7 +20613,7 @@ namespace VEHICLE // 4: wheel_lr // 5: wheel_rr inline Void SetTyreWearRate(Vehicle vehicle, int wheelIndex, float multiplier) { return _i(0x1894E2EDE923CA2,vehicle, wheelIndex, multiplier); } // 0x1894E2EDE923CA2 b1868 - // Controls how fast the tires wear out. + // Controls how fast the tires wear out. // // Default values from Rockstar's Open Wheel Race JSON's: // "owrtss" (Soft): 2.2 @@ -20628,7 +20628,7 @@ namespace VEHICLE // 4: wheel_lr // 5: wheel_rr inline Void SetTyreWearRateScale(Vehicle vehicle, int wheelIndex, float multiplier) { return _i(0x392183BB9EA57697,vehicle, wheelIndex, multiplier); } // 0x392183BB9EA57697 b2060 - // Controls how much traction the wheel loses. + // Controls how much traction the wheel loses. // // Default values from Rockstar's Open Wheel Race JSON's: // "owrtds" (Soft): 0.05 @@ -20643,93 +20643,93 @@ namespace VEHICLE // 4: wheel_lr // 5: wheel_rr inline Void SetTyreMaximumGripDifferenceDueToWearRate(Vehicle vehicle, int wheelIndex, float multiplier) { return _i(0xC970D0E0FC31D768,vehicle, wheelIndex, multiplier); } // 0xC970D0E0FC31D768 b2060 - // + // inline Void SetAircraftIgnoreHightmapOptimisation(Vehicle vehicle, int p1) { return _i(0xF8B49F5BA7F850E7,vehicle, p1); } // 0xF8B49F5BA7F850E7 b2060 - // Lowers the vehicle's stance. Only works for vehicles that have strAdvancedFlags 0x8000 and 0x4000000 set. + // Lowers the vehicle's stance. Only works for vehicles that have strAdvancedFlags 0x8000 and 0x4000000 set. inline Void SetReducedSuspensionForce(Vehicle vehicle, BOOL enable) { return _i(0x3A375167F5782A65,vehicle, enable); } // 0x3A375167F5782A65 b2372 - // + // inline Void SetDriftTyres(Vehicle vehicle, BOOL toggle) { return _i(0x5AC79C98C5C17F05,vehicle, toggle); } // 0x5AC79C98C5C17F05 b2372 - // + // inline BOOL GetDriftTyresSet(Vehicle vehicle) { return _i(0x2F5A72430E78C8D3,vehicle); } // 0x2F5A72430E78C8D3 b2372 - // Implemented only for trains. + // Implemented only for trains. inline Void NetworkUseHighPrecisionTrainBlending(Vehicle vehicle, BOOL toggle) { return _i(0xEC0C1D4922AF9754,vehicle, toggle); } // 0xEC0C1D4922AF9754 b2372 - // Only used in R* Script fm_content_cargo + // Only used in R* Script fm_content_cargo inline Void SetCheckForEnoughRoomForPed(Vehicle vehicle, BOOL p1) { return _i(0xEF9D388F8D377F44,vehicle, p1); } // 0xEF9D388F8D377F44 b2699 - // _SET_ALLOW_R* - _SET_ALLOW_V* + // _SET_ALLOW_R* - _SET_ALLOW_V* inline Void SetAllowCollisionWhenInVehicle(Vehicle vehicle, BOOL toggle) { return _i(0x27D27223E8EF22ED,vehicle, toggle); } // 0x27D27223E8EF22ED b3095 - // + // inline BOOL IsVehicleGen9ExclusiveModel(Hash vehicleModel) { return _i(0x6638C0F19DE692FE,vehicleModel); } // 0x6638C0F19DE692FE b3095 - // + // inline int GetVehicleMaxExhaustBoneCount() { return _i(0x3EE18B00CD86C54F); } // 0x3EE18B00CD86C54F b3095 - // + // inline BOOL GetVehicleExhaustBone(Vehicle vehicle, int index, int* boneIndex, BOOL* axisX) { return _i(0xE728F090D538CB18,vehicle, index, boneIndex, axisX); } // 0xE728F090D538CB18 b3095 } namespace WATER { - // This function set height to the value of z-axis of the water surface. + // 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 inline BOOL GetWaterHeight(float x, float y, float z, float* height) { return _i(0xF6829842C06AE524,x, y, z, height); } // 0xF6829842C06AE524 0xD864E17C b323 - // + // inline BOOL GetWaterHeightNoWaves(float x, float y, float z, float* height) { return _i(0x8EE6B53CE13A9794,x, y, z, height); } // 0x8EE6B53CE13A9794 0x262017F8 b323 - // + // inline BOOL TestProbeAgainstWater(float x1, float y1, float z1, float x2, float y2, float z2, Vector3* result) { return _i(0xFFA5D878809819DB,x1, y1, z1, x2, y2, z2, result); } // 0xFFA5D878809819DB 0xAA4AE00C b323 - // enum eScriptWaterTestResult + // enum eScriptWaterTestResult // { // SCRIPT_WATER_TEST_RESULT_NONE, // SCRIPT_WATER_TEST_RESULT_WATER, // SCRIPT_WATER_TEST_RESULT_BLOCKED, // }; inline int TestProbeAgainstAllWater(float x1, float y1, float z1, float x2, float y2, float z2, int flags, float* waterHeight) { return _i(0x8974647ED222EA5F,x1, y1, z1, x2, y2, z2, flags, waterHeight); } // 0x8974647ED222EA5F 0x4A962D55 b323 - // See TestProbeAgainstAllWater. + // See TestProbeAgainstAllWater. inline int TestVerticalProbeAgainstAllWater(float x, float y, float z, int flags, float* waterHeight) { return _i(0x2B3451FA1E3142E2,x, y, z, flags, waterHeight); } // 0x2B3451FA1E3142E2 0x4C71D143 b323 - // Sets the water height for a given position and radius. + // Sets the water height for a given position and radius. // inline Void ModifyWater(float x, float y, float radius, float height) { return _i(0xC443FD757C3BA637,x, y, radius, height); } // 0xC443FD757C3BA637 0xC49E005A b323 - // + // inline int AddExtraCalmingQuad(float xLow, float yLow, float xHigh, float yHigh, float height) { return _i(0xFDBF4CDBC07E1706,xLow, yLow, xHigh, yHigh, height); } // 0xFDBF4CDBC07E1706 0xA9419B6D b323 - // p0 is the handle returned from AddExtraCalmingQuad + // p0 is the handle returned from AddExtraCalmingQuad inline Void RemoveExtraCalmingQuad(int calmingQuad) { return _i(0xB1252E3E59A82AAF,calmingQuad); } // 0xB1252E3E59A82AAF 0x45268B6F b323 - // 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. + // 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. inline Void SetDeepOceanScaler(float intensity) { return _i(0xB96B00E976BE977F,intensity); } // 0xB96B00E976BE977F 0x53B694B1 b323 - // Gets the aggressiveness factor of the ocean waves. + // Gets the aggressiveness factor of the ocean waves. inline float GetDeepOceanScaler() { return _i(0x2B2A2CC86778B619); } // 0x2B2A2CC86778B619 0xBD0A67FB b323 - // + // inline Void SetCalmedWaveHeightScaler(float height) { return _i(0x547237AA71AB44DE,height); } // 0x547237AA71AB44DE b573 - // Sets the waves intensity back to original (1.0 in most cases). + // Sets the waves intensity back to original (1.0 in most cases). inline Void ResetDeepOceanScaler() { return _i(0x5E5E99285AE812DB); } // 0x5E5E99285AE812DB 0x4AD23212 b323 } namespace WEAPON { - // Enables laser sight on any weapon. + // Enables laser sight on any weapon. // // It doesn't work. Neither on tick nor OnKeyDown inline Void EnableLaserSightRendering(BOOL toggle) { return _i(0xC8B46D7727D864AA,toggle); } // 0xC8B46D7727D864AA 0xE3438955 b323 - // + // inline Hash GetWeaponComponentTypeModel(Hash componentHash) { return _i(0xDB57B41EC1DB083,componentHash); } // 0xDB57B41EC1DB083 0x324FA47A b323 - // Returns the model of any weapon. + // Returns the model of any weapon. // // Can also take an ammo hash? // sub_6663a(&l_115B, WEAPON::GetWeapontypeModel(${ammo_rpg})); inline Hash GetWeapontypeModel(Hash weaponHash) { return _i(0xF46CDC33180FDA94,weaponHash); } // 0xF46CDC33180FDA94 0x44E1C269 b323 - // + // inline Hash GetWeapontypeSlot(Hash weaponHash) { return _i(0x4215460B9B8B7FA0,weaponHash); } // 0x4215460B9B8B7FA0 0x2E3759AF b323 - // + // inline Hash GetWeapontypeGroup(Hash weaponHash) { return _i(0xC3287EE3050FB74C,weaponHash); } // 0xC3287EE3050FB74C 0x5F2DE833 b323 - // Returns the amount of extra components the specified component has. + // Returns the amount of extra components the specified component has. // Returns -1 if the component isn't of type CWeaponComponentVariantModel. inline int GetWeaponComponentVariantExtraCount(Hash componentHash) { return _i(0x6558AC7C17BFEF58,componentHash); } // 0x6558AC7C17BFEF58 b372 - // Returns the model hash of the extra component at specified index. + // Returns the model hash of the extra component at specified index. inline Hash GetWeaponComponentVariantExtraModel(Hash componentHash, int extraComponentIndex) { return _i(0x4D1CB8DC40208A17,componentHash, extraComponentIndex); } // 0x4D1CB8DC40208A17 b372 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void SetCurrentPedWeapon(Ped ped, Hash weaponHash, BOOL bForceInHand) { return _i(0xADF692B254977C0C,ped, weaponHash, bForceInHand); } // 0xADF692B254977C0C 0xB8278882 b323 - // The return value seems to indicate returns true if the hash of the weapon object weapon equals the weapon hash. + // 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. // // @@ -20741,13 +20741,13 @@ namespace WEAPON // disassembly said that? // inline BOOL GetCurrentPedWeapon(Ped ped, Hash* weaponHash, BOOL p2) { return _i(0x3A87E44BB9A01D54,ped, weaponHash, p2); } // 0x3A87E44BB9A01D54 0xB0237302 b323 - // + // inline Entity GetCurrentPedWeaponEntityIndex(Ped ped, Any p1) { return _i(0x3B390A939AF0B5FC,ped, p1); } // 0x3B390A939AF0B5FC 0x5D73CD20 b323 - // p1 is always 0 in the scripts. + // p1 is always 0 in the scripts. inline Hash GetBestPedWeapon(Ped ped, BOOL p1) { return _i(0x8483E98E8B888AE2,ped, p1); } // 0x8483E98E8B888AE2 0xB998D444 b323 - // Full list of weapons by DurtyFree (Search for VEHICLE_*): https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree (Search for VEHICLE_*): https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL SetCurrentPedVehicleWeapon(Ped ped, Hash weaponHash) { return _i(0x75C55983C2C39DAA,ped, weaponHash); } // 0x75C55983C2C39DAA 0x8E6F2AF1 b323 - // Example in VB + // Example in VB // // Public Shared Function GetVehicleCurrentWeapon(Ped As Ped) As Integer // Dim arg As New OutputArgument() @@ -20759,9 +20759,9 @@ namespace WEAPON // If GetVehicleCurrentWeapon(Game.Player.Character) = -821520672 Then ...Do something // Note: -821520672 = VEHICLE_WEAPON_PLANE_ROCKET inline BOOL GetCurrentPedVehicleWeapon(Ped ped, Hash* weaponHash) { return _i(0x1017582BCD3832DC,ped, weaponHash); } // 0x1017582BCD3832DC 0xF26C5D65 b323 - // + // inline Void SetPedCycleVehicleWeaponsOnly(Ped ped) { return _i(0x50276EF8172F5F12,ped); } // 0x50276EF8172F5F12 b1734 - // Checks if the ped is currently equipped with a weapon matching a bit specified using a bitwise-or in typeFlags. + // 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 @@ -20780,18 +20780,18 @@ namespace WEAPON // // Note: When I say "Explosives weapon group", it does not include the Jerry can and Fire Extinguisher. inline BOOL IsPedArmed(Ped ped, int typeFlags) { return _i(0x475768A975D5AD17,ped, typeFlags); } // 0x475768A975D5AD17 0x0BFC892C b323 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL IsWeaponValid(Hash weaponHash) { return _i(0x937C71165CF334B3,weaponHash); } // 0x937C71165CF334B3 0x38CA2954 b323 - // p2 should be FALSE, otherwise it seems to always return FALSE + // p2 should be FALSE, otherwise it seems to always return FALSE // // Bool does not check if the weapon is current equipped, unfortunately. // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL HasPedGotWeapon(Ped ped, Hash weaponHash, BOOL p2) { return _i(0x8DECB02F88F428BC,ped, weaponHash, p2); } // 0x8DECB02F88F428BC 0x43D2FA82 b323 - // + // inline BOOL IsPedWeaponReadyToShoot(Ped ped) { return _i(0xB80CA294F2F26749,ped); } // 0xB80CA294F2F26749 0x02A32CB0 b323 - // + // inline Hash GetPedWeapontypeInSlot(Ped ped, Hash weaponSlot) { return _i(0xEFFED78E9011134D,ped, weaponSlot); } // 0xEFFED78E9011134D 0x9BC64E16 b323 - // WEAPON::GetAmmoInPedWeapon(PLAYER::PlayerPedId(), a_0) + // WEAPON::GetAmmoInPedWeapon(PLAYER::PlayerPedId(), a_0) // // From decompiled scripts // Returns total ammo in weapon @@ -20800,26 +20800,26 @@ namespace WEAPON // natives.WEAPON.GetAmmoInPedWeapon(plyPed, WeaponHash) // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline int GetAmmoInPedWeapon(Ped ped, Hash weaponhash) { return _i(0x15A522136D7F951,ped, weaponhash); } // 0x15A522136D7F951 0x0C755733 b323 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void AddAmmoToPed(Ped ped, Hash weaponHash, int ammo) { return _i(0x78F0424C34306220,ped, weaponHash, ammo); } // 0x78F0424C34306220 0x7F0580C7 b323 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void SetPedAmmo(Ped ped, Hash weaponHash, int ammo, BOOL p3) { return _i(0x14E56BC5B5DB6A19,ped, weaponHash, ammo, p3); } // 0x14E56BC5B5DB6A19 0xBF90DF1A b323 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void SetPedInfiniteAmmo(Ped ped, BOOL toggle, Hash weaponHash) { return _i(0x3EDCB0505123623B,ped, toggle, weaponHash); } // 0x3EDCB0505123623B 0x9CB8D278 b323 - // + // inline Void SetPedInfiniteAmmoClip(Ped ped, BOOL toggle) { return _i(0x183DADC6AA953186,ped, toggle); } // 0x183DADC6AA953186 0x5A5E3B67 b323 - // + // inline Void SetPedStunGunFiniteAmmo(Any p0, Any p1) { return _i(0x24C024BA8379A70A,p0, p1); } // 0x24C024BA8379A70A b1868 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void GiveWeaponToPed(Ped ped, Hash weaponHash, int ammoCount, BOOL isHidden, BOOL bForceInHand) { return _i(0xBF0FD6E56C964FCB,ped, weaponHash, ammoCount, isHidden, bForceInHand); } // 0xBF0FD6E56C964FCB 0xC4D88A85 b323 - // Gives a weapon to PED with a delay, example: + // Gives a weapon to PED with a delay, example: // // WEAPON::GiveDelayedWeaponToPed(PED::PlayerPedId(), MISC::GetHashKey("WEAPON_PISTOL"), 1000, false) // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void GiveDelayedWeaponToPed(Ped ped, Hash weaponHash, int ammoCount, BOOL bForceInHand) { return _i(0xB282DC6EBD803C75,ped, weaponHash, ammoCount, bForceInHand); } // 0xB282DC6EBD803C75 0x5868D20D b323 - // setting the last params to false it does that same so I would suggest its not a toggle + // setting the last params to false it does that same so I would suggest its not a toggle inline Void RemoveAllPedWeapons(Ped ped, BOOL p1) { return _i(0xF25DF915FA38C5F3,ped, p1); } // 0xF25DF915FA38C5F3 0xA44CE817 b323 - // This native removes a specified weapon from your selected ped. + // This native removes a specified weapon from your selected ped. // // Example: // C#: @@ -20831,74 +20831,74 @@ namespace WEAPON // The code above removes the knife from the player. // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void RemoveWeaponFromPed(Ped ped, Hash weaponHash) { return _i(0x4899CB088EDF59B8,ped, weaponHash); } // 0x4899CB088EDF59B8 0x9C37F220 b323 - // Hides the players weapon during a cutscene. + // Hides the players weapon during a cutscene. inline Void HidePedWeaponForScriptedCutscene(Ped ped, BOOL toggle) { return _i(0x6F6981D2253C208F,ped, toggle); } // 0x6F6981D2253C208F 0x00CFD6E9 b323 - // Has 5 parameters since latest patches. + // Has 5 parameters since latest patches. inline Void SetPedCurrentWeaponVisible(Ped ped, BOOL visible, BOOL deselectWeapon, BOOL p3, BOOL p4) { return _i(0x725A4CCFDED9A70,ped, visible, deselectWeapon, p3, p4); } // 0x725A4CCFDED9A70 0x00BECD77 b323 - // + // inline Void SetPedDropsWeaponsWhenDead(Ped ped, BOOL toggle) { return _i(0x476AE72C1D19D1A8,ped, toggle); } // 0x476AE72C1D19D1A8 0x8A444056 b323 - // It determines what weapons caused damage: + // 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. // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL HasPedBeenDamagedByWeapon(Ped ped, Hash weaponHash, int weaponType) { return _i(0x2D343D2219CD027A,ped, weaponHash, weaponType); } // 0x2D343D2219CD027A 0xCDFBBCC6 b323 - // Does NOT seem to work with HasPedBeenDamagedByWeapon. Use ClearEntityLastWeaponDamage and HasEntityBeenDamagedByWeapon instead. + // Does NOT seem to work with HasPedBeenDamagedByWeapon. Use ClearEntityLastWeaponDamage and HasEntityBeenDamagedByWeapon instead. inline Void ClearPedLastWeaponDamage(Ped ped) { return _i(0xE98F88A24C5F4B8,ped); } // 0xE98F88A24C5F4B8 0x52C68832 b323 - // It determines what weapons caused damage: + // 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. // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL HasEntityBeenDamagedByWeapon(Entity entity, Hash weaponHash, int weaponType) { return _i(0x131D401334815E94,entity, weaponHash, weaponType); } // 0x131D401334815E94 0x6DAABB39 b323 - // + // inline Void ClearEntityLastWeaponDamage(Entity entity) { return _i(0xAC678E40BE7C74D2,entity); } // 0xAC678E40BE7C74D2 0xCEC2732B b323 - // + // inline Void SetPedDropsWeapon(Ped ped) { return _i(0x6B7513D9966FBEC0,ped); } // 0x6B7513D9966FBEC0 0x3D3329FA b323 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void SetPedDropsInventoryWeapon(Ped ped, Hash weaponHash, float xOffset, float yOffset, float zOffset, int ammoCount) { return _i(0x208A1888007FC0E6,ped, weaponHash, xOffset, yOffset, zOffset, ammoCount); } // 0x208A1888007FC0E6 0x81FFB874 b323 - // p2 is mostly 1 in the scripts. + // p2 is mostly 1 in the scripts. // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline int GetMaxAmmoInClip(Ped ped, Hash weaponHash, BOOL p2) { return _i(0xA38DCFFCEA8962FA,ped, weaponHash, p2); } // 0xA38DCFFCEA8962FA 0x6961E2A4 b323 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL GetAmmoInClip(Ped ped, Hash weaponHash, int* ammo) { return _i(0x2E1202248937775C,ped, weaponHash, ammo); } // 0x2E1202248937775C 0x73C100C3 b323 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL SetAmmoInClip(Ped ped, Hash weaponHash, int ammo) { return _i(0xDCD2A934D65CB497,ped, weaponHash, ammo); } // 0xDCD2A934D65CB497 0xA54B0B10 b323 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL GetMaxAmmo(Ped ped, Hash weaponHash, int* ammo) { return _i(0xDC16122C7A20C933,ped, weaponHash, ammo); } // 0xDC16122C7A20C933 0x0B294796 b323 - // Returns the max ammo for an ammo type. Ammo types: https://gist.github.com/root-cause/faf41f59f7a6d818b7db0b839bd147c1 + // Returns the max ammo for an ammo type. Ammo types: https://gist.github.com/root-cause/faf41f59f7a6d818b7db0b839bd147c1 inline BOOL GetMaxAmmoByType(Ped ped, Hash ammoTypeHash, int* ammo) { return _i(0x585847C5E4E11709,ped, ammoTypeHash, ammo); } // 0x585847C5E4E11709 b1103 - // Ammo types: https://gist.github.com/root-cause/faf41f59f7a6d818b7db0b839bd147c1 + // Ammo types: https://gist.github.com/root-cause/faf41f59f7a6d818b7db0b839bd147c1 inline Void AddPedAmmoByType(Ped ped, Hash ammoTypeHash, int ammo) { return _i(0x2472622CE1F2D45F,ped, ammoTypeHash, ammo); } // 0x2472622CE1F2D45F b1103 - // Ammo types: https://gist.github.com/root-cause/faf41f59f7a6d818b7db0b839bd147c1 + // Ammo types: https://gist.github.com/root-cause/faf41f59f7a6d818b7db0b839bd147c1 inline Void SetPedAmmoByType(Ped ped, Hash ammoTypeHash, int ammo) { return _i(0x5FD1E1F011E76D7E,ped, ammoTypeHash, ammo); } // 0x5FD1E1F011E76D7E 0x311C52BB b323 - // + // inline int GetPedAmmoByType(Ped ped, Hash ammoTypeHash) { return _i(0x39D22031557946C1,ped, ammoTypeHash); } // 0x39D22031557946C1 0x54077C4D b323 - // + // inline Void SetPedAmmoToDrop(Ped ped, int p1) { return _i(0xA4EFEF9440A5B0EF,ped, p1); } // 0xA4EFEF9440A5B0EF 0x2386A307 b323 - // + // inline Void SetPickupAmmoAmountScaler(float p0) { return _i(0xE620FD3512A04F18,p0); } // 0xE620FD3512A04F18 0xD6460EA2 b323 - // Returns the current ammo type of the specified ped's specified weapon. + // 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. // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Hash GetPedAmmoTypeFromWeapon(Ped ped, Hash weaponHash) { return _i(0x7FEAD38B326B9F74,ped, weaponHash); } // 0x7FEAD38B326B9F74 0x09337863 b323 - // Returns the base/default ammo type of the specified ped's specified weapon. + // Returns the base/default ammo type of the specified ped's specified weapon. // Use GetPedAmmoTypeFromWeapon 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) // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Hash GetPedOriginalAmmoTypeFromWeapon(Ped ped, Hash weaponHash) { return _i(0xF489B44DD5AF4BD9,ped, weaponHash); } // 0xF489B44DD5AF4BD9 b1103 - // Pass ped. Pass address of Vector3. + // 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. inline BOOL GetPedLastWeaponImpactCoord(Ped ped, Vector3* coords) { return _i(0x6C4D0409BA1A2BC2,ped, coords); } // 0x6C4D0409BA1A2BC2 0x9B266079 b323 - // p1/gadgetHash was always 0xFBAB5776 ("GADGET_PARACHUTE"). + // p1/gadgetHash was always 0xFBAB5776 ("GADGET_PARACHUTE"). // p2 is always true. inline Void SetPedGadget(Ped ped, Hash gadgetHash, BOOL p2) { return _i(0xD0D7B1E680ED4A1A,ped, gadgetHash, p2); } // 0xD0D7B1E680ED4A1A 0x8A256D0A b323 - // gadgetHash - was always 0xFBAB5776 ("GADGET_PARACHUTE"). + // gadgetHash - was always 0xFBAB5776 ("GADGET_PARACHUTE"). inline BOOL GetIsPedGadgetEquipped(Ped ped, Hash gadgetHash) { return _i(0xF731332072F5156C,ped, gadgetHash); } // 0xF731332072F5156C 0x8DDD0B5B b323 - // Returns the hash of the weapon. + // Returns the hash of the weapon. // // var num7 = WEAPON::GetSelectedPedWeapon(num4); // sub_27D3(num7); @@ -20913,58 +20913,58 @@ namespace WEAPON // The difference is that GetSelectedPedWeapon simply returns the ped's current weapon hash but GetCurrentPedWeapon also checks the weapon object and returns true if the hash of the weapon object equals the weapon hash // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Hash GetSelectedPedWeapon(Ped ped) { return _i(0xA6DB4965674D243,ped); } // 0xA6DB4965674D243 0xD240123E b323 - // WEAPON::ExplodeProjectiles(PLAYER::PlayerPedId(), func_221(0x00000003), 0x00000001); + // WEAPON::ExplodeProjectiles(PLAYER::PlayerPedId(), func_221(0x00000003), 0x00000001); inline Void ExplodeProjectiles(Ped ped, Hash weaponHash, BOOL p2) { return _i(0xFC4BD125DE7611E4,ped, weaponHash, p2); } // 0xFC4BD125DE7611E4 0x35A0B955 b323 - // If `explode` true, then removal is done through exploding the projectile. Basically the same as ExplodeProjectiles but without defining the owner ped. + // If `explode` true, then removal is done through exploding the projectile. Basically the same as ExplodeProjectiles but without defining the owner ped. inline Void RemoveAllProjectilesOfType(Hash weaponHash, BOOL explode) { return _i(0xFC52E0F37E446528,weaponHash, explode); } // 0xFC52E0F37E446528 0xA5F89919 b323 - // + // inline float GetLockonDistanceOfCurrentPedWeapon(Ped ped) { return _i(0x840F03E9041E2C9C,ped); } // 0x840F03E9041E2C9C 0x3612110D b323 - // + // inline float GetMaxRangeOfCurrentPedWeapon(Ped ped) { return _i(0x814C9D19DFD69679,ped); } // 0x814C9D19DFD69679 0xB2B2BBAA b323 - // Fourth Parameter = unsure, almost always -1 + // Fourth Parameter = unsure, almost always -1 inline BOOL HasVehicleGotProjectileAttached(Ped driver, Vehicle vehicle, Hash weaponHash, Any p3) { return _i(0x717C8481234E3B88,driver, vehicle, weaponHash, p3); } // 0x717C8481234E3B88 0xA57E2E80 b323 - // Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void GiveWeaponComponentToPed(Ped ped, Hash weaponHash, Hash componentHash) { return _i(0xD966D51AA5B28BB9,ped, weaponHash, componentHash); } // 0xD966D51AA5B28BB9 0x3E1E286D b323 - // Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void RemoveWeaponComponentFromPed(Ped ped, Hash weaponHash, Hash componentHash) { return _i(0x1E8BE90C74FB4C09,ped, weaponHash, componentHash); } // 0x1E8BE90C74FB4C09 0x412AA00D b323 - // Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL HasPedGotWeaponComponent(Ped ped, Hash weaponHash, Hash componentHash) { return _i(0xC593212475FAE340,ped, weaponHash, componentHash); } // 0xC593212475FAE340 0xDC0FC145 b323 - // Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL IsPedWeaponComponentActive(Ped ped, Hash weaponHash, Hash componentHash) { return _i(0xD78DE0572D3969E,ped, weaponHash, componentHash); } // 0xD78DE0572D3969E 0x7565FB19 b323 - // + // inline BOOL RefillAmmoInstantly(Ped ped) { return _i(0x8C0D57EA686FAD87,ped); } // 0x8C0D57EA686FAD87 0x82EEAF0F b323 - // Forces a ped to reload only if they are able to; if they have a full magazine, they will not reload. + // Forces a ped to reload only if they are able to; if they have a full magazine, they will not reload. inline BOOL MakePedReload(Ped ped) { return _i(0x20AE33F3AC9C0033,ped); } // 0x20AE33F3AC9C0033 0x515292C2 b323 - // Nearly every instance of p1 I found was 31. Nearly every instance of p2 I found was 0. + // Nearly every instance of p1 I found was 31. Nearly every instance of p2 I found was 0. // // RequestWeaponAsset(iLocal_1888, 31, 26); inline Void RequestWeaponAsset(Hash weaponHash, int p1, int p2) { return _i(0x5443438F033E29C3,weaponHash, p1, p2); } // 0x5443438F033E29C3 0x65D139A5 b323 - // + // inline BOOL HasWeaponAssetLoaded(Hash weaponHash) { return _i(0x36E353271F0E90EE,weaponHash); } // 0x36E353271F0E90EE 0x1891D5BB b323 - // + // inline Void RemoveWeaponAsset(Hash weaponHash) { return _i(0xAA08EF13F341C8FC,weaponHash); } // 0xAA08EF13F341C8FC 0x2C0DFE3C b323 - // Now has 8 params. + // Now has 8 params. inline Object CreateWeaponObject(Hash weaponHash, int ammoCount, float x, float y, float z, BOOL showWorldModel, float scale, Any p7, Any p8, Any p9) { return _i(0x9541D3CF0D398F36,weaponHash, ammoCount, x, y, z, showWorldModel, scale, p7, p8, p9); } // 0x9541D3CF0D398F36 0x62F5987F b323 - // componentHash: + // componentHash: // (use WEAPON::GetWeaponComponentTypeModel() 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} inline Void GiveWeaponComponentToWeaponObject(Object weaponObject, Hash componentHash) { return _i(0x33E179436C0B31DB,weaponObject, componentHash); } // 0x33E179436C0B31DB 0xF7612A37 b323 - // see DoesWeaponTakeWeaponComponent for full list of weapons & components + // see DoesWeaponTakeWeaponComponent for full list of weapons & components inline Void RemoveWeaponComponentFromWeaponObject(Object object, Hash componentHash) { return _i(0xF7D82B0D66777611,object, componentHash); } // 0xF7D82B0D66777611 0xA6E7ED3C b323 - // see DoesWeaponTakeWeaponComponent for full list of weapons & components + // see DoesWeaponTakeWeaponComponent for full list of weapons & components inline BOOL HasWeaponGotWeaponComponent(Object weapon, Hash componentHash) { return _i(0x76A18844E743BF91,weapon, componentHash); } // 0x76A18844E743BF91 0x1D368510 b323 - // + // inline Void GiveWeaponObjectToPed(Object weaponObject, Ped ped) { return _i(0xB1FA61371AF7C4B7,weaponObject, ped); } // 0xB1FA61371AF7C4B7 0x639AF3EF b323 - // Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL DoesWeaponTakeWeaponComponent(Hash weaponHash, Hash componentHash) { return _i(0x5CEE3DF569CECAB0,weaponHash, componentHash); } // 0x5CEE3DF569CECAB0 0xB1817BAA b323 - // Drops the current weapon and returns the object + // Drops the current weapon and returns the object // // Unknown behavior when unarmed. inline Object GetWeaponObjectFromPed(Ped ped, BOOL p1) { return _i(0xCAE1DC9A0E22A16D,ped, p1); } // 0xCAE1DC9A0E22A16D 0xDF939A38 b323 - // Gives the specified loadout to the specified ped. + // Gives the specified loadout to the specified ped. // Loadouts are defined in common.rpf\data\ai\loadouts.meta inline Void GiveLoadoutToPed(Ped ped, Hash loadoutHash) { return _i(0x68F8BE6AF5CDF8A6,ped, loadoutHash); } // 0x68F8BE6AF5CDF8A6 b505 - // tintIndex can be the following: + // tintIndex can be the following: // // 0 - Normal // 1 - Green @@ -20976,15 +20976,15 @@ namespace WEAPON // 7 - Platinum // Full list of weapons, components & tint indexes by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void SetPedWeaponTintIndex(Ped ped, Hash weaponHash, int tintIndex) { return _i(0x50969B9B89ED5738,ped, weaponHash, tintIndex); } // 0x50969B9B89ED5738 0xEB2A7B23 b323 - // Full list of weapons, components & tint indexes by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons, components & tint indexes by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline int GetPedWeaponTintIndex(Ped ped, Hash weaponHash) { return _i(0x2B9EEDC07BD06B9F,ped, weaponHash); } // 0x2B9EEDC07BD06B9F 0x3F9C90A7 b323 - // Full list of weapons, components & tint indexes by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons, components & tint indexes by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void SetWeaponObjectTintIndex(Object weapon, int tintIndex) { return _i(0xF827589017D4E4A9,weapon, tintIndex); } // 0xF827589017D4E4A9 0x44ACC1DA b323 - // + // inline int GetWeaponObjectTintIndex(Object weapon) { return _i(0xCD183314F7CD2E57,weapon); } // 0xCD183314F7CD2E57 0xD91D9576 b323 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline int GetWeaponTintCount(Hash weaponHash) { return _i(0x5DCF6C5CAB2E9BF7,weaponHash); } // 0x5DCF6C5CAB2E9BF7 0x99E4EAAB b323 - // Colors: + // Colors: // 0 = Gray // 1 = Dark Gray // 2 = Black @@ -21019,10 +21019,10 @@ namespace WEAPON // 31 = Dark Green // Full list of weapons, components, tint indexes & weapon liveries by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void SetPedWeaponComponentTintIndex(Ped ped, Hash weaponHash, Hash camoComponentHash, int colorIndex) { return _i(0x9FE5633880ECD8ED,ped, weaponHash, camoComponentHash, colorIndex); } // 0x9FE5633880ECD8ED b1103 - // Returns -1 if camoComponentHash is invalid/not attached to the weapon. + // Returns -1 if camoComponentHash is invalid/not attached to the weapon. // Full list of weapons, components, tint indexes & weapon liveries by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline int GetPedWeaponComponentTintIndex(Ped ped, Hash weaponHash, Hash camoComponentHash) { return _i(0xF0A60040BE558F2D,ped, weaponHash, camoComponentHash); } // 0xF0A60040BE558F2D b1103 - // Colors: + // Colors: // 0 = Gray // 1 = Dark Gray // 2 = Black @@ -21057,14 +21057,14 @@ namespace WEAPON // 31 = Dark Green // Full list of weapons, components, tint indexes & weapon liveries by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void SetWeaponObjectComponentTintIndex(Object weaponObject, Hash camoComponentHash, int colorIndex) { return _i(0x5DA825A85D0EA6E6,weaponObject, camoComponentHash, colorIndex); } // 0x5DA825A85D0EA6E6 b1103 - // Returns -1 if camoComponentHash is invalid/not attached to the weapon object. + // Returns -1 if camoComponentHash is invalid/not attached to the weapon object. // Full list of weapons, components, tint indexes & weapon liveries by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline int GetWeaponObjectComponentTintIndex(Object weaponObject, Hash camoComponentHash) { return _i(0xB3EA4FEABF41464B,weaponObject, camoComponentHash); } // 0xB3EA4FEABF41464B b1103 - // + // inline int GetPedWeaponCamoIndex(Ped ped, Hash weaponHash) { return _i(0xA2C9AC24B4061285,ped, weaponHash); } // 0xA2C9AC24B4061285 b1103 - // + // inline Void SetWeaponObjectCamoIndex(Object weaponObject, int p1) { return _i(0x977CA98939E82E4B,weaponObject, p1); } // 0x977CA98939E82E4B b1103 - // struct WeaponHudStatsData + // struct WeaponHudStatsData // { // BYTE hudDamage; // 0x0000 // char _0x0001[0x7]; // 0x0001 @@ -21086,12 +21086,12 @@ namespace WEAPON // } // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL GetWeaponHudStats(Hash weaponHash, Any* outData) { return _i(0xD92C739EE34C9EBA,weaponHash, outData); } // 0xD92C739EE34C9EBA 0xA9AD3D98 b323 - // + // inline BOOL GetWeaponComponentHudStats(Hash componentHash, Any* outData) { return _i(0xB3CAF387AE12E9F8,componentHash, outData); } // 0xB3CAF387AE12E9F8 0xBB5498F4 b323 - // This native does not return damages of weapons from the melee and explosive group. + // This native does not return damages of weapons from the melee and explosive group. // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline float GetWeaponDamage(Hash weaponHash, Hash componentHash) { return _i(0x3133B907D8B32053,weaponHash, componentHash); } // 0x3133B907D8B32053 0xE81649C0 b323 - // // Returns the size of the default weapon component clip. + // // Returns the size of the default weapon component clip. // // Use it like this: // @@ -21108,34 +21108,34 @@ namespace WEAPON // } // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline int GetWeaponClipSize(Hash weaponHash) { return _i(0x583BE370B1EC6EB4,weaponHash); } // 0x583BE370B1EC6EB4 0x8D515E66 b323 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline float GetWeaponTimeBetweenShots(Hash weaponHash) { return _i(0x65D2AACAD8CF7A4,weaponHash); } // 0x65D2AACAD8CF7A4 b1290 - // + // inline Void SetPedChanceOfFiringBlanks(Ped ped, float xBias, float yBias) { return _i(0x8378627201D5497D,ped, xBias, yBias); } // 0x8378627201D5497D 0xB4F44C6E b323 - // Returns handle of the projectile. + // Returns handle of the projectile. inline Object SetPedShootOrdnanceWeapon(Ped ped, float p1) { return _i(0xB4C8D77C80C0421E,ped, p1); } // 0xB4C8D77C80C0421E 0xEC2E5304 b323 - // + // inline Void RequestWeaponHighDetailModel(Entity weaponObject) { return _i(0x48164DBB970AC3F0,weaponObject); } // 0x48164DBB970AC3F0 0xE3BD00F9 b323 - // + // inline Void SetWeaponPedDamageModifier(Hash weapon, float damageModifier) { return _i(0x1091922715B68DF0,weapon, damageModifier); } // 0x1091922715B68DF0 b3095 - // Changes the weapon damage output by the given multiplier value. Must be run every frame. + // Changes the weapon damage output by the given multiplier value. Must be run every frame. // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void SetWeaponDamageModifier(Hash weaponHash, float damageMultiplier) { return _i(0x4757F00BC6323CFE,weaponHash, damageMultiplier); } // 0x4757F00BC6323CFE b505 - // + // inline Void SetWeaponAoeModifier(Hash weaponHash, float multiplier) { return _i(0x4AE5AC8B852D642C,weaponHash, multiplier); } // 0x4AE5AC8B852D642C b2372 - // ex, WEAPON::SetWeaponEffectDurationModifier(joaat("vehicle_weapon_mine_slick"), 1.0); + // ex, WEAPON::SetWeaponEffectDurationModifier(joaat("vehicle_weapon_mine_slick"), 1.0); inline Void SetWeaponEffectDurationModifier(Hash p0, float p1) { return _i(0xE6D2CEDD370FF98E,p0, p1); } // 0xE6D2CEDD370FF98E b2372 - // This native returns a true or false value. + // This native returns a true or false value. // // Ped ped = The ped whose weapon you want to check. inline BOOL IsPedCurrentWeaponSilenced(Ped ped) { return _i(0x65F0C5AE05943EC7,ped); } // 0x65F0C5AE05943EC7 0xBAF7BFBE b323 - // + // inline BOOL IsFlashLightOn(Ped ped) { return _i(0x4B7620C47217126C,ped); } // 0x4B7620C47217126C 0x76876154 b323 - // + // inline BOOL SetFlashLightFadeDistance(float distance) { return _i(0xCEA66DAD478CD39B,distance); } // 0xCEA66DAD478CD39B 0xB0127EA7 b323 - // Enables/disables flashlight on ped's weapon. + // Enables/disables flashlight on ped's weapon. inline Void SetFlashLightActiveHistory(Ped ped, BOOL toggle) { return _i(0x988DB6FE9B3AC000,ped, toggle); } // 0x988DB6FE9B3AC000 b2060 - // Changes the selected ped aiming animation style. + // Changes the selected ped aiming animation style. // Note : You must use GetHashKey! // // Strings to use with GetHashKey : @@ -21171,7 +21171,7 @@ namespace WEAPON // "SuperFat", // "Trevor" inline Void SetWeaponAnimationOverride(Ped ped, Hash animStyle) { return _i(0x1055AC3A667F09D9,ped, animStyle); } // 0x1055AC3A667F09D9 0xA5DF7484 b323 - // enum class eDamageType + // enum class eDamageType // { // UNKNOWN = 0, // NONE = 1, @@ -21193,39 +21193,39 @@ namespace WEAPON // // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline int GetWeaponDamageType(Hash weaponHash) { return _i(0x3BE0BB12D25FB305,weaponHash); } // 0x3BE0BB12D25FB305 0x013AFC13 b323 - // + // inline Void SetEqippedWeaponStartSpinningAtFullSpeed(Ped ped) { return _i(0xE4DCEC7FD5B739A5,ped); } // 0xE4DCEC7FD5B739A5 0x64646F1D b323 - // this returns if you can use the weapon while using a parachute + // this returns if you can use the weapon while using a parachute // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline BOOL CanUseWeaponOnParachute(Hash weaponHash) { return _i(0xBC7BE5ABC0879F74,weaponHash); } // 0xBC7BE5ABC0879F74 0x135E7AD4 b323 - // 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. + // 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. inline int CreateAirDefenceSphere(float x, float y, float z, float radius, float p4, float p5, float p6, Hash weaponHash) { return _i(0x91EF34584710BE99,x, y, z, radius, p4, p5, p6, weaponHash); } // 0x91EF34584710BE99 b573 - // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json + // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline int CreateAirDefenceAngledArea(float p0, float p1, float p2, float p3, float p4, float p5, float p6, float p7, float p8, float radius, Hash weaponHash) { return _i(0x9DA58CDBF6BDBC08,p0, p1, p2, p3, p4, p5, p6, p7, p8, radius, weaponHash); } // 0x9DA58CDBF6BDBC08 b1011 - // + // inline BOOL RemoveAirDefenceSphere(int zoneId) { return _i(0xABF535877897560,zoneId); } // 0xABF535877897560 b573 - // + // inline Void RemoveAllAirDefenceSpheres() { return _i(0x1E45B34ADEBEE48E); } // 0x1E45B34ADEBEE48E b573 - // + // inline Void SetPlayerTargettableForAirDefenceSphere(Player player, int zoneId, BOOL enable) { return _i(0xECDC202B25E5CF48,player, zoneId, enable); } // 0xECDC202B25E5CF48 b573 - // + // inline BOOL IsAirDefenceSphereInArea(float x, float y, float z, float radius, int* outZoneId) { return _i(0xDAB963831DBFD3F4,x, y, z, radius, outZoneId); } // 0xDAB963831DBFD3F4 b1103 - // + // inline Void FireAirDefenceSphereWeaponAtPosition(int zoneId, float x, float y, float z) { return _i(0x44F1012B69313374,zoneId, x, y, z); } // 0x44F1012B69313374 b573 - // + // inline BOOL DoesAirDefenceSphereExist(int zoneId) { return _i(0xCD79A550999D7D4F,zoneId); } // 0xCD79A550999D7D4F b678 - // 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. + // 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. // Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json inline Void SetCanPedSelectInventoryWeapon(Ped ped, Hash weaponHash, BOOL toggle) { return _i(0xB4771B9AAF4E68E4,ped, weaponHash, toggle); } // 0xB4771B9AAF4E68E4 b1103 - // Disable all weapons. Does the same as 0xB4771B9AAF4E68E4 except for all weapons. + // Disable all weapons. Does the same as 0xB4771B9AAF4E68E4 except for all weapons. inline Void SetCanPedSelectAllWeapons(Ped ped, BOOL toggle) { return _i(0xEFF296097FF1E509,ped, toggle); } // 0xEFF296097FF1E509 b1103 } namespace ZONE { - // + // inline int GetZoneAtCoords(float x, float y, float z) { return _i(0x27040C25DE6CB2F4,x, y, z); } // 0x27040C25DE6CB2F4 0xC9018181 b323 - // 'zoneName' corresponds to an entry in 'popzone.ipl'. + // 'zoneName' corresponds to an entry in 'popzone.ipl'. // // AIRP = Los Santos International Airport // ALAMO = Alamo Sea @@ -21318,10 +21318,10 @@ namespace ZONE // ZQ_UAR = Davis Quartz // // Full list of zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/zones.json - inline int GetZoneFromNameId(String zoneName) { return _i(0x98CD1D2934B76CC1,zoneName); } // 0x98CD1D2934B76CC1 0x8EC68304 b323 - // + inline int GetZoneFromNameId(const char* zoneName) { return _i(0x98CD1D2934B76CC1,zoneName); } // 0x98CD1D2934B76CC1 0x8EC68304 b323 + // inline int GetZonePopschedule(int zoneId) { return _i(0x4334BC40AA0CB4BB,zoneId); } // 0x4334BC40AA0CB4BB 0x20AB2FC9 b323 - // AIRP = Los Santos International Airport + // AIRP = Los Santos International Airport // ALAMO = Alamo Sea // ALTA = Alta // ARMYB = Fort Zancudo @@ -21412,12 +21412,12 @@ namespace ZONE // ZQ_UAR = Davis Quartz // // Full list of zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/zones.json - inline String GetNameOfZone(float x, float y, float z) { return _i(0xCD90657D4C30E1CA,x, y, z); } // 0xCD90657D4C30E1CA 0x7875CE91 b323 - // + inline const char* GetNameOfZone(float x, float y, float z) { return _i(0xCD90657D4C30E1CA,x, y, z); } // 0xCD90657D4C30E1CA 0x7875CE91 b323 + // inline Void SetZoneEnabled(int zoneId, BOOL toggle) { return _i(0xBA5ECEEA120E5611,zoneId, toggle); } // 0xBA5ECEEA120E5611 0x04E21B03 b323 - // cellphone range 1- 5 used for signal bar in iFruit phone + // cellphone range 1- 5 used for signal bar in iFruit phone inline int GetZoneScumminess(int zoneId) { return _i(0x5F7B268D15BA0739,zoneId); } // 0x5F7B268D15BA0739 0xB2FB5C4C b323 - // Only used once in the decompiled scripts. Seems to be related to scripted vehicle generators. + // 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::GetZonePopschedule(ZONE::GetZoneAtCoords(891.3, 807.9, 188.1)); @@ -21426,7 +21426,7 @@ namespace ZONE // ZONE::OverridePopscheduleVehicleModel(popSchedules[index], vehicleHash); // STREAMING::RequestModel(vehicleHash); inline Void OverridePopscheduleVehicleModel(int scheduleId, Hash vehicleHash) { return _i(0x5F7D596BAC2E7777,scheduleId, vehicleHash); } // 0x5F7D596BAC2E7777 0x3F0A3680 b323 - // Only used once in the decompiled scripts. Seems to be related to scripted vehicle generators. + // 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::GetZonePopschedule(ZONE::GetZoneAtCoords(891.3, 807.9, 188.1)); @@ -21435,7 +21435,7 @@ namespace ZONE // STREAMING::SetModelAsNoLongerNeeded(vehicleHash); // ZONE::ClearPopscheduleOverrideVehicleModel(popSchedules[index]); inline Void ClearPopscheduleOverrideVehicleModel(int scheduleId) { return _i(0x5C0DE367AA0D911C,scheduleId); } // 0x5C0DE367AA0D911C 0x7A72A24E b323 - // Returns a hash representing which part of the map the given coords are located. + // Returns a hash representing which part of the map the given coords are located. // // Possible return values: // (Hash of) city -> -289320599 diff --git a/README.md b/README.md index 42f64b31c9..67e282ec90 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ![Build](https://img.shields.io/badge/Build-3095-blue) ![Online](https://img.shields.io/badge/Online-1.68-green) -> Note: This project stopped updating since online version 1.57. +> Note: This project stopped updating since version 2944(Online 1.57). PrivateMenu is a private project by Impulse that provides numerous online features including protection and toxic stuff... > Please note that the project has been discontinued by the original author, and the current version only works with Story Mode. Access online mode with PrivateMenu will be banned within 2 hours...